<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Electronics on KJ6LNH</title><link>https://kj6lnh.org/categories/electronics/</link><description>Recent content in Electronics on KJ6LNH</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 02 May 2015 15:27:19 +0000</lastBuildDate><atom:link href="https://kj6lnh.org/categories/electronics/index.xml" rel="self" type="application/rss+xml"/><item><title>Kinetic Watch Charger</title><link>https://kj6lnh.org/kinetic-watch-charger/</link><pubDate>Sat, 02 May 2015 15:27:19 +0000</pubDate><guid>https://kj6lnh.org/kinetic-watch-charger/</guid><description>&lt;p&gt;When Carrie and I got married, she gave me a very nice watch as a wedding present. It’s a kinetic watch (i.e. it is wound up by movement). I haven’t used it since the band broke a long time ago. Finally got the band fixed, but since it hasn’t been used, it’s not wound up at all right now. I can either wear a watch that’s one right twice per day for a while until it’s wound up, or I could put the &lt;a href="http://learn.parallax.com/KickStart/900-00008" target="_blank" title="Parallax Continuous Rotation Servo"&gt;continuous rotation servo&lt;/a&gt; I got a while ago to good use.&lt;/p&gt;</description><content:encoded><![CDATA[<p>When Carrie and I got married, she gave me a very nice watch as a wedding present. It’s a kinetic watch (i.e. it is wound up by movement). I haven’t used it since the band broke a long time ago. Finally got the band fixed, but since it hasn’t been used, it’s not wound up at all right now. I can either wear a watch that’s one right twice per day for a while until it’s wound up, or I could put the <a href="http://learn.parallax.com/KickStart/900-00008" target="_blank" title="Parallax Continuous Rotation Servo">continuous rotation servo</a> I got a while ago to good use.</p>
<p>Just needed to wire up power, ground, and data lines between the servo and an Arduino and write the following sketch:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-cpp" data-lang="cpp"><span class="line"><span class="cl"><span class="cp">#include</span> <span class="cpf">&lt;Servo.h&gt;</span><span class="cp">
</span></span></span><span class="line"><span class="cl"><span class="n">Servo</span> <span class="n">myServo</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="kt">int</span> <span class="n">waittime</span> <span class="o">=</span> <span class="mi">1000</span><span class="p">;</span> <span class="c1">// Let each rotation happen for 1 second
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="kt">void</span> <span class="nf">setup</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="n">myServo</span><span class="p">.</span><span class="n">attach</span><span class="p">(</span><span class="mi">7</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="kt">void</span> <span class="nf">loop</span><span class="p">()</span>
</span></span><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="n">myServo</span><span class="p">.</span><span class="n">writeMicroseconds</span><span class="p">(</span><span class="mi">1700</span><span class="p">);</span> <span class="c1">// rotate counter-clockwise
</span></span></span><span class="line"><span class="cl">  <span class="n">delay</span><span class="p">(</span><span class="n">waittime</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">  <span class="n">myServo</span><span class="p">.</span><span class="n">writeMicroseconds</span><span class="p">(</span><span class="mi">1300</span><span class="p">);</span> <span class="c1">// rotate clockwise
</span></span></span><span class="line"><span class="cl">  <span class="n">delay</span><span class="p">(</span><span class="n">waittime</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div><p>Uploaded the sketch to the Arduino and the servo started spinning. Just needed to connect the watch to the servo (scotch tape is quick and dirty) and plug the whole thing into a USB battery. Seems to be working pretty well.</p>
]]></content:encoded></item><item><title>Fixing Inoperative Rear Vent in Honda Pilot</title><link>https://kj6lnh.org/fixing-inoperative-rear-vent-in-honda-pilot/</link><pubDate>Sun, 12 Apr 2015 21:57:32 +0000</pubDate><guid>https://kj6lnh.org/fixing-inoperative-rear-vent-in-honda-pilot/</guid><description>&lt;p&gt;Haven’t had much time for any projects over the last year or so. Having a new baby in the house tends to do that. Now that she is a little older and on a good schedule, I might be able to get a little time to work on some projects.&lt;/p&gt;
&lt;p&gt;My wife drives a 2005 Honda Pilot. Recently, we discovered that the rear vents for the second row of seats were not blowing any air. Of course, this makes the kids uncomfortable and Kimberly kept complaining that her back was sweaty. I hadn’t really looked into it too much so Carrie did some searching and came across &lt;a href="http://www.themafamily.net/2011/11/22/fixing-my-pilots-rear-heater-vents" target="_blank"&gt;this blog&lt;/a&gt;. The short version is that the screen over the blower gets clogged with dust and a thermal fuse goes open circuit permanently.&lt;/p&gt;</description><content:encoded><![CDATA[<p>Haven’t had much time for any projects over the last year or so. Having a new baby in the house tends to do that. Now that she is a little older and on a good schedule, I might be able to get a little time to work on some projects.</p>
<p>My wife drives a 2005 Honda Pilot. Recently, we discovered that the rear vents for the second row of seats were not blowing any air. Of course, this makes the kids uncomfortable and Kimberly kept complaining that her back was sweaty. I hadn’t really looked into it too much so Carrie did some searching and came across <a href="http://www.themafamily.net/2011/11/22/fixing-my-pilots-rear-heater-vents" target="_blank">this blog</a>. The short version is that the screen over the blower gets clogged with dust and a thermal fuse goes open circuit permanently.</p>
<div id="attachment_63" class="wp-caption alignnone" style="width: 310px">
<p><a href="20150412_195440.jpg"><img src="20150412_195440-300x169.jpg" class="size-medium wp-image-63" loading="lazy" decoding="async" aria-describedby="caption-attachment-63" width="300" height="169" alt="The rear vents in question" /></a></p>
<p>The rear vents in question</p>
</div>
<p>I took the pictures as I was putting everything back together (didn’t think to take them as I was taking everything apart). Everything is hidden behind the kick panel at the bottom of the center console on the driver’s side. Slide the seat all the way back to expose the entire panel.</p>
<div id="attachment_62" class="wp-caption alignnone" style="width: 310px">
<p><a href="20150412_195041.jpg"><img src="20150412_195041-300x169.jpg" class="size-medium wp-image-62" loading="lazy" decoding="async" aria-describedby="caption-attachment-62" width="300" height="169" alt="Kick panel at the bottom of the center console, driver's side" /></a></p>
<p>Kick panel at the bottom of the center console, driver’s side</p>
</div>
<p>As in most automotive panels where you don’t see any obvious screws, this is held in place by clips that just need to be popped out. I was able to slide my fingers underneath against the floor and it popped out after pulling for a bit. This exposes the blower, relay and transistor assembly.</p>
<div id="attachment_61" class="wp-caption alignnone" style="width: 310px">
<p><a href="20150412_194430.jpg"><img src="20150412_194430-300x169.jpg" class="size-medium wp-image-61" loading="lazy" decoding="async" aria-describedby="caption-attachment-61" width="300" height="169" alt="Left to right: Blower intake (grey), relay (black), transistor assembly (brown)" /></a></p>
<p>Left to right: Blower intake (grey), relay (black), transistor assembly (brown)</p>
</div>
<p>If you’ve never gone in here before, you’ll probably see a ton of dust covering the blower intake. The picture shows what it looks like when it is clean. You can take a vaccum to it from here, but I opted to remove the intake screen to get it really clean. You can see two screws in the picture that you need to remove. There is also one hidden under the upper panel at the top of the screen. This also helps to see if the blower is moving or not.</p>
<div id="attachment_60" class="wp-caption alignnone" style="width: 310px">
<p><a href="20150412_193935.jpg"><img src="20150412_193935-300x169.jpg" class="size-medium wp-image-60" loading="lazy" decoding="async" aria-describedby="caption-attachment-60" width="300" height="169" alt="Blower exposed" /></a></p>
<p>Blower exposed</p>
</div>
<p>On the right hand side of the above picture, you’ll see a circular brown assembly with the wires disconnected. There’s a release at the bottom of the plug that has to be pressed to remove the plug. There are two screws on either side of the plug to be removed. Then you need to rotate the assembly clockwise while pressing on the black tab at the bottom. There are notches in the assembly that need to line up with the black tabs holding the assembly in place in order to pull the assembly out. Remove the top of the assembly to expose the circuit board.</p>
<div id="attachment_58" class="wp-caption alignnone" style="width: 310px">
<p><a href="20150412_174532.jpg"><img src="20150412_174532-300x169.jpg" class="size-medium wp-image-58" loading="lazy" decoding="async" aria-describedby="caption-attachment-58" width="300" height="169" alt="Circuit board with thermal fuse desoldered" /></a></p>
<p>Circuit board with thermal fuse desoldered</p>
</div>
<p>With the assembly oriented as shown above, remove the screw on the right to separate the circuit board from the heat sink. At the top and bottom of the picture, the two solder points closest to the right edge connect to a thermal fuse on the other side of the circuit board. Before I went any further, I wanted to be sure that the thermal fuse was the issue. I soldered a jumper wire between the two solder points mentioned and plugged it in for a quick test. The blower sprung to life, so I was certain that the fuse was permanently blown.</p>
<div id="attachment_59" class="wp-caption alignnone" style="width: 310px">
<p><a href="20150412_174612.jpg"><img src="20150412_174612-300x169.jpg" class="size-medium wp-image-59" loading="lazy" decoding="async" aria-describedby="caption-attachment-59" width="300" height="169" alt="The offending thermal fuse" /></a></p>
<p>The offending thermal fuse</p>
</div>
<p>I desoldered the thermal fuse and removed it. It sits on the oposite side of the circuit board mounted right above the transistor. Be ready to deal with some thermal grease. The fuse is rated at 133 degrees Celcius, 2 amps. I went to the local Fry’s to find a replacement. The closest I could find was 117 degrees at 15 amps. I bit overkill on the amps (and added some bulk to the fuse making it nearly impossible to reinstall correctly. For anyone else doing this, I would recommend <a href="http://www.digikey.com/product-search/en?WT.z_header=search_go&amp;lang=en&amp;site=us&amp;keywords=P10921-ND&amp;x=0&amp;y=0" target="_blank" title="Digikey Part P10921-ND">something like this</a> instead.</p>
<p>Before putting the assembly back together, I cleaned off the old thermal grease and applied new grease (also got the cheap Thermaltake grease meant for computer CPUs so it should hold up well). As they say in the manuals, installation is the reverse of the removal. After putting everything back together, we now have a lot of air moving into the second row seats again. Better than when we bought the car in 2010.</p>
]]></content:encoded></item><item><title>IR Remote Control for RasBMC Media Center</title><link>https://kj6lnh.org/ir-remote-control-for-rasbmc-media-center/</link><pubDate>Sun, 12 Jan 2014 17:20:35 +0000</pubDate><guid>https://kj6lnh.org/ir-remote-control-for-rasbmc-media-center/</guid><description>&lt;p&gt;In my &lt;a href="https://www.kj6lnh.org/2013/12/raspberry-pi-set-top-box/" title="Raspberry Pi Set Top Box"&gt;last posting&lt;/a&gt;, I turned a Raspberry Pi into a media center PC. One of the things I left undone before declaring the project a success was to set up some kind of hardware based remote control. I was only able to control the PC using the web interface or the XBMC app on Android and the iPad. I originally wanted to build some kind of remote control that didn’t require me to have my phone next to me and unlock the screen every time I wanted to pause the show. I really don’t need another remote control in the living room. I already have one for the TV, one for the Blue Ray, and one for U-Verse. Fortunately, the U-Verse remote is actually a 4-in-1 universal remote. A quick Google found the manual, so I programmed one of the slots with a Sony DVD player code. It had enough of the buttons defined to be usable.&lt;/p&gt;</description><content:encoded><![CDATA[<p>In my <a href="https://www.kj6lnh.org/2013/12/raspberry-pi-set-top-box/" title="Raspberry Pi Set Top Box">last posting</a>, I turned a Raspberry Pi into a media center PC. One of the things I left undone before declaring the project a success was to set up some kind of hardware based remote control. I was only able to control the PC using the web interface or the XBMC app on Android and the iPad. I originally wanted to build some kind of remote control that didn’t require me to have my phone next to me and unlock the screen every time I wanted to pause the show. I really don’t need another remote control in the living room. I already have one for the TV, one for the Blue Ray, and one for U-Verse. Fortunately, the U-Verse remote is actually a 4-in-1 universal remote. A quick Google found the manual, so I programmed one of the slots with a Sony DVD player code. It had enough of the buttons defined to be usable.</p>
<p>The more interesting part is getting the IR code into the Raspberry Pi. There are <a href="http://forum.stmlabs.com/showthread.php?tid=5549" target="_blank">instructions</a> out there on the XBMC wiki for putting together an IR receiver. It’s basically a receiver on a chip with three leads: ground, power, and digital output. The digital output is suitable for the GPIO pins provided by the Raspberry Pi. The header also provides 3.3 VDC and ground connections. This was easy enough to hook up using an old CD-ROM drive audio cable. On one end, I moved one of the three wires so that all three were next to each other (default is 2 populated, one blank, and one populated on the 4-pin connector). On the other end, I just removed the connector by pulling the pins soldered to the wires out of the housing. I then just plugged the individual pins into the appropriate pins on the Raspberry Pi header. Following the instructions on the XBMC wiki, it was pretty quick to teach the Raspberry Pi the codes for the different buttons on the remote. Now it’s easy to pause a show just by pressing a hardware button on an existing remote. Total cost: $4.50 for the IR Reciever chip from Radio Shack.</p>
]]></content:encoded></item><item><title>Raspberry Pi Set Top Box</title><link>https://kj6lnh.org/raspberry-pi-set-top-box/</link><pubDate>Sun, 08 Dec 2013 13:33:30 +0000</pubDate><guid>https://kj6lnh.org/raspberry-pi-set-top-box/</guid><description>&lt;p&gt;For a while now, I’ve been using DLNA to push video to my TV from my computer. The biggest problem I’ve had with that is that is my Sony TV is very picky about the video format. I’ve been stuck experimenting with options to pass to ffmpeg to convert the video from whatever format the file is in and the format that the TV likes, MPEG2. Among the many problems include poor resolution, out of sync audio, and no audio at all. I had been using &lt;a href="http://sourceforge.net/projects/minidlna/" target="_blank"&gt;MiniDLNA&lt;/a&gt; on my Debian box as the server for the content. It’s pretty simplistic. It’s little more than a file server that implements the DLNA protocol. I found another DLNA server, &lt;a href="http://serviio.org/" target="_blank"&gt;Serviio&lt;/a&gt;, that will do some conversion on the fly. This worked better. No need to convert video formats or worry if the TV would not even see the file. The biggest problem occurs whenever I pause a video. When I resume, the TV thinks the DLNA server has gone away. So basically, no pause, fast forward, or rewind. I’d consider that a show stopper. Several times, I have resorted to connecting my laptop to the TV using HDMI and playing the videos that way.&lt;/p&gt;</description><content:encoded><![CDATA[<p>For a while now, I’ve been using DLNA to push video to my TV from my computer. The biggest problem I’ve had with that is that is my Sony TV is very picky about the video format. I’ve been stuck experimenting with options to pass to ffmpeg to convert the video from whatever format the file is in and the format that the TV likes, MPEG2. Among the many problems include poor resolution, out of sync audio, and no audio at all. I had been using <a href="http://sourceforge.net/projects/minidlna/" target="_blank">MiniDLNA</a> on my Debian box as the server for the content. It’s pretty simplistic. It’s little more than a file server that implements the DLNA protocol. I found another DLNA server, <a href="http://serviio.org/" target="_blank">Serviio</a>, that will do some conversion on the fly. This worked better. No need to convert video formats or worry if the TV would not even see the file. The biggest problem occurs whenever I pause a video. When I resume, the TV thinks the DLNA server has gone away. So basically, no pause, fast forward, or rewind. I’d consider that a show stopper. Several times, I have resorted to connecting my laptop to the TV using HDMI and playing the videos that way.</p>
<p>That brought a thought to my mind. Obviously, Linux has no problem playing the videos. Maybe I can build a cheap set-top box, throw Linux on it, and connect it to the TV. I tried a project like this many years ago. I had gotten a mini-ITX form factor computer from a friend. It was basically a 5″ x 5″ x 12″ enclosure. It was non-functional, so my friend just gave it to me. It wasn’t too difficult to determine that the problem was a few bad capacitors on the motherboard. Replacing them was fairly simple and I had a functional system to throw Linux and MythTV on. This worked fairly well, until the motherboard died again. The biggest downside was that the RCA connection left the user interface barely readable, but the video looked fine.</p>
<p>So, back to present day, I’m looking for something that will talk to the TV over HDMI and won’t break the bank. Enter the <a href="http://www.raspberrypi.org/" target="_blank">Raspberry Pi</a>.It’s a $35 single board computer with video and sound both output via HDMI. All I need is an old cell phone charger for power, HDMI cable, SD card, and a USB WiFi adapter. I already had all of that except for the WiFi adapter. I ordered a Raspberry Pi and a “WiPi” USB WiFi adapter for just over $50 with shipping and tax.</p>
<p>On the software side, I found <a href="http://www.raspbmc.com/" target="_blank">RaspBMC</a>. It’s a Raspbian based Linux distribution (itself derived from Debian) set up expressly for running XBMC (a Linux media player). Installation was pretty simple. Just have to execute the provided python script to load the bootstrap program to the SD card, then plug it into the Raspberry Pi and boot from it. From there, it downloads and configured itself. The entire process was very painless.</p>
<p>The final hurtle was to figure out a way to control it. My first plan was to use <a href="http://synergy-foss.org/" target="_blank">Synergy</a>. It allows you to use the keyboard and mouse of one computer on another computer over the network. Works on Windows, Mac and Linux under X. I got the server installed on my laptop and the client installed on the Raspberry Pi. Unfortunately, I discovered that XBMC doesn’t run under X. I did find that there is a remote control app on Android and IOS. It works over the network connection, so I installed it on my phone. After pointing it at the RaspBMC install, it worked beautifully with almost no latency. Maybe a future project will be to build a hardware remote for it.</p>
]]></content:encoded></item><item><title>Turning the Volume Down</title><link>https://kj6lnh.org/turning-the-volume-down/</link><pubDate>Mon, 11 Nov 2013 21:41:38 +0000</pubDate><guid>https://kj6lnh.org/turning-the-volume-down/</guid><description>&lt;p&gt;I finally started a blog. I’m going to chronicle my exploration of amateur (ham) radio and electronics. So, let’s get to the first post.&lt;/p&gt;
&lt;p&gt;For the first post, I decided to go after something simple. My daughter has an Elmo guitar, the volume of which is, shall we say, earsplitting. I’ve been threatening to wire a potentiometer into the thing so it isn’t so loud. (for those that don’t know, a potentiometer resists the flow of electricity and has a knob to change the amount of resistance).&lt;/p&gt;</description><content:encoded><![CDATA[<p>I finally started a blog. I’m going to chronicle my exploration of amateur (ham) radio and electronics. So, let’s get to the first post.</p>
<p>For the first post, I decided to go after something simple. My daughter has an Elmo guitar, the volume of which is, shall we say, earsplitting. I’ve been threatening to wire a potentiometer into the thing so it isn’t so loud. (for those that don’t know, a potentiometer resists the flow of electricity and has a knob to change the amount of resistance).</p>
<p><a href="20131111_152924.jpg"><img src="20131111_152924-300x225.jpg" class="alignnone size-medium wp-image-23" loading="lazy" decoding="async" width="300" height="225" alt="20131111_152924" /></a></p>
<p>Here, we see the speaker. I’m just going to clip one of the wires off and wire that to one side of the potentiometer.</p>
<p><a href="20131111_153050.jpg"><img src="20131111_153050-300x225.jpg" class="alignnone size-medium wp-image-24" loading="lazy" decoding="async" width="300" height="225" alt="20131111_153050" /></a></p>
<p>This is the potentiometer. It’s a 50k ohm audio taper. In hindsight, a 10k ohm would probably have been better, but this was the only audio taper I had.The shaft is also a couple of inches longer than I would have liked.</p>
<p><a href="20131111_154212.jpg"><img src="20131111_154212-300x225.jpg" class="alignnone size-medium wp-image-25" loading="lazy" decoding="async" width="300" height="225" alt="20131111_154212" /></a></p>
<p>Here, I’ve wired two of the terminals of the potentiometer, one to the wire that was clipped off and one to the speaker.</p>
<p><a href="20131111_154849.jpg"><img src="20131111_154849-300x225.jpg" class="alignnone size-medium wp-image-26" loading="lazy" decoding="async" width="300" height="225" alt="20131111_154849" /></a></p>
<p>Now to make a place for the shaft of the potentiometer. A clamp, a block of wood, and a drill made quick work of it. Well, would have if I picked the right size drill bit the first time around.</p>
<p><a href="20131111_155656.jpg"><img src="20131111_155656-300x225.jpg" class="alignnone size-medium wp-image-27" loading="lazy" decoding="async" width="300" height="225" alt="20131111_155656" /></a></p>
<p>Finally, put it all together. Yes, it’s ugly, but it’s functional.</p>
<p>What I would do next time: either get a better potentiometer and put a knob on it, or better yet, determine what value resistor would give a good volume and just use that. The latter has the advantage that the kid won’t go turning it back up to 11.</p>
]]></content:encoded></item></channel></rss>