2015-07-31 21:13 - Making
If you browse the recent archive of my making topic posts, you'll see I've been having lots of fun on various electronics projects for several months. A short while ago I managed to pop the (expensive HRC) fuse in my meter and let the magic smoke out of (thankfully only) a resistor when I probed the wrong current path in the circuit I was testing. Why? Because I was using the wrong power supply, and when I did so, the full eighty watts or so that the (laptop brick) supply in use managed to pump through the two watt resistor in question, not to mention sending almost 4 amps through the 0.44 amp limit current range I was using in my meter, before I saw and reacted.
A "proper" electronics bench power supply supports not only setting which voltage but also which current (limit) to provide. If I had been using one, knowing that I only expected a couple dozen mA to be consumed, I would have set an appropriate limit and never applied enough power to damage anything. I've been getting away with simple fixed-voltage supplies like USB ports, 5V USB adapters, and these laptop power bricks for too long. So I started scanning eBay for a power supply that would let me limit both the voltage and current to an arbitrary level. It took a while, since these things are very expensive (relative to my expectations for such a "simple" device), for me to pick one I was willing to pay for. I ended up with this, a vintage Leader LPS-152 power supply.
Here's the front panel. A couple minor scratches and scuffs, but quite good overall. Analog meters, but they're fine for the purpose. This is a triple output supply: it has one output that goes from 0V to 6V, and up to 5A, plus one each that goes from 0 to +/- 25V, and up to 1A. I'll rarely if ever use the negative supply rail, but it's possible to combine them to produce up to 50V safely. The first thing I did was test all three, and they work great, both to set the voltage and to limit the current.
I managed to find a copy of the instruction manual online (the internet is great!), which has not only a complete set of operating instructions, but detailed testing and calibration procedures as well. Plus a full parts list, PCB layout diagram, and schematic! There's a ton of passives and discrete diodes and transistors. And only four ICs, all opamps. The design dates this item a bit. So let's open her up and take a peek inside!
First we've got an overall view, from above. The front of the supply is at the left, with the giant heat sink at the rear is on the right side of the image. The giant transformer dominates the image at the top middle, with a black metal bracket bolting it to a support crossing the width of the supply. I like the attention to detail in here. Most everything is attached to the PCB that fills the background of the image. Next we see the smaller "meter board" first from the back, and then the front/outside, where several pot's knobs are accessible through a cutout in the body of the supply. This is how you perform the calibration procedure from the manual.
Test points are liberally sprinkled across the board, with voltages clearly marked on the silkscreen. I'll certainly be able to repair things if that ever proves necessary. And I had to take note of the four huge transistors across the back. They're obviously doing the bulk of the regulation work. I looked into the schematics of various supplies for a bit as I was shopping around, trying to understand why they are so expensive. It didn't help; several schematics fit easily on a single page, and (at least for the basic models) are virtually all just a beefy linear regulator tied to an opamp or to to control regulation. The same goes here except that the circuit is all discrete parts. Not a linear regulator IC, but discrete components set up to do the same job.
Finally let's wind down with some fun smaller points. As I said above there are only four ICs. Two of them (one smack dab in the center, one nearly hidden by shadow in the top right) show a likely date code: 24th week of 1988, which if correct means this is a twenty seven year old unit, and still working great. The capacitors are mostly very hard to see, but as best I can tell, like this one that is clearly visible, they're all Nippon Chemicon, which is a top quality brand. Probably helps explain why this thing still works great after almost three decades. Also a fun product design note: the power button is (appropriately) on the front panel, but the actual switch is all the way in the back. A metal rod carries the force all the way along the body. Look carefully and you can see a tiny set screw holding things together. Another indicator of quality design; a price-optimized unit would probably have done something cheaper like a friction fit, more likely to wear out, possibly beyond repair, over time.
So, overall I'm quite pleased with my purchase. It was a steal at only $30 (plus $22 shipping). Hopefully I won't blow up any more things now that I have it!
2015-07-20 18:34 - Making
Some time around early May I discovered the IV-22 (NB-22, ИB-22) Vacuum Fluorescent Display tube. This is an old Russian technology from (I think) the 1960s. It's a standard seven-segment digit display like in modern electronics, but it's a vacuum tube, and it's a fluorescent display. I'd been interested in a big enough project to experiment with the STM32 processor as well, so I decided to make a clock out of them. I've only been trying off-and-on, including some waiting for the mail, but it has taken me since May, it's not a small project.
And here's where I've gotten: the first working, though very simple, prototype. VFD tubes are a cousin of the (slightly) more famous Nixie tubes. Nixies can require up to 150 or 200 volts to illuminate. VFDs are not so demanding, they can light up with as little as 12 volts, but really "want" 20 to 30. The only truly complicated bit is that you also need a very low voltage (just over one volt) to power another part of it. Both very low and middling high means you have to design carefully.
Here I'm running it from just shy of 20, with two chips. The chip on the bottom (a CD4504) translates low voltage input signals (3.3 V) to that high level (20 V). The top chip is a decoder/driver (a CD4056); each digit needs one, but it shares the input signals and keeps the right segments displayed the whole time. You can see I've got it displaying a 5, with the decimal point on too. The bluish glow of the fluorescent phosphor is pretty unique. And the VFD technology is also very interesting.
Just by plugging the four wires in the very bottom right into a low-(logic-)level high or low I could easily get the driver chip to display all the digits. Ironic enough though this is the first tangible result, I'm actually almost done! All along I've been designing (and re-designing) the circuit, and the PCB to hold all the parts. Once I was convinced I had a working design, I ordered the parts, waited for the mail, and tried a test. That's when I realized that while the CD4056 has level shifting built in, it's not compatible with the specific kind I need to do. So I placed another order including the CD4504 chips, waited for the mail again, and then performed this successful test.
Now all I've got to do is relax, double check everything, make sure ... Then order the PCB, the most expensive part. And wait for it in the mail. And put it together. And finish writing the software that will actually make it a clock, rather than a complicated paper weight. Maybe I'm not almost done.
2015-07-02 17:36 - Making
Some time ago I bought a second hand Wii to keep at my Mom's house. It came with a pair of wireless Gamecube controllers, including a real Wavebird (which is a nice first-party wireless Gamecube controller). I don't play a lot of Gamecube games, but I just recently started Super Mario Sunshine. It's apparently the first game I've played with it that makes use of the C stick -- this game uses it for camera control, like most modern 3D games. Unfortunately the Wavebird's C stick isn't working properly, it's always sending a little bit left or right in a pattern I can't quite make out. Sometimes trying to push left or right doesn't do the right thing.
Back when I first got it, I had opened it up to replace the main analog stick, which I got in a very used state, worn down to an ugly and uncomfortable nub. I cannibalized the compatible stick from the brand new but low quality third party (wired) controller I already had. Today I repeated this procedure, swapping out the electronics rather than just the plastic bits. The original C stick is resting at the bottom right, just below where it came out of. It's hooked in via a short 4-wire ribbon cable. Turns out the replacement part has a different pinout, but a compatible one. I traced out which pin was which on either one. Because the components themselves (I assumed they're just potentiometers at first, but the way they're wired doesn't seem right for that...) were all hooked up in a similar fashion (same pins either connected together and/or going out to one of the four pins), plus the PCB was exactly the same shape, I went for the attempted repair. Which has worked just fine!
2015-06-09 18:33 - Making
A while back I developed a sudden interest in the TRS-80 Model 100, a truly portable computer from 1983. I watched eBay for a while and discovered that the amount they sell for exceeded my desire to own and play with one. But through that route I discovered it's little cousin the PC-2 (a rebadge of the Sharp PC-1500). Those were cheaper and I grabbed one.
By default it has 1,850 bytes of RAM available for use. But it's got an expansion slot built into the bottom. There are 4K, 8K, and 16K memory expansions available for those slots. But being an accessory for a niche product from the early 1980s, they're generally rare and expensive. Given my recent kick for developing electronics projects, I decided to design my own. Just as i was finishing it, then I caught an "as-is untested" CE-161 listed on eBay. I managed to snag it for just $11 (plus $5 shipping).
I gave it a quick shot, and it does appear to be slightly defective. It doesn't seem to store data quite right. But now I have it, and an opportunity to examine it up close. Towards that end I've taken these close-up detailed pictures (click and/or save the links for full size). I might even need to get it under a microscope to confirm things, but even just the pictures are easier to look at than squinting at the real item, which is 1.1 x 1.8 inches.
2015-05-25 12:36 - Making
A few years ago I kick-started my video game collection with a giant lot from eBay. The less said the better, but in short the condition of most of it was much worse than the description and/or pictures made clear.
One of the items was an original Game Boy. It completely failed to work. It had an ancient, super corroded, set of batteries left in it. I've taken it apart, and the corrosion from leaked battery acid is severe, throughout the unit. The worst damage is to the small board that generates the power rails, most importantly -19 volts for the LCD. For a while I considered designing a replacement for just this part, but the corrosion was so bad that I would have needed to take some big guesses. I ended up grabbing a second cheap one from eBay, with an imperfect display.
Today I took them both apart, putting the first one's display unit into the second one's shell. It works great! Time for some old-school Tetris playing.
2015-04-11 14:54 - Making
I've been continuing work on my nesRF project, slowly. It's time to start modifying the original NES controllers, part number NES-004. I need to plan out the PCB, to get everything lined up exactly correct. All the mounting holes of course, plus the overall shape, makes it fit into the original plastic shell correctly. Then I need to know where I can put all of the components, without bumping into any of the plastic supports or structure, the buttons, and so on.
I haven't found a similar project online to start from, like I did for the SNES version I started with. So here's the beginning of this phase. I took the original PCB out of the controller, removed all the components, and put it into my scanner. The full size images that the thumbnails above link to are exactly 1000 DPI, making planning sizes in mil (thousandths of an inch) hopefully straightforward.
There's a fairly good amount of room to work with. Almost everything above the start/select and a/b buttons is empty space, with just a few sparse supports to get in the way. Locating most of the parts should be straightforward. I'm worried about my power button though, the vertical arrangement of this controller may be incompatible with that part.
2015-02-22 15:23 - Making
I've been working since Thanksgiving on my nesRF project, which I've posted about several times already. The point is to retrofit the innards of a real original Nintendo controller to support wireless communications, functioning with a real console. The long story short is that I'm very close to having the project done. Well, the first phase at least. Here's all the juicy details of the whole thing, as one nice self contained post which serves as a nice summary. Of what went well, and what went less well. It runs roughly in chronological order over the things I actually did, and is chock full of pretty pictures.
First here is some physical layout. This is one of the things I was most worried about. It's worth noting that there are plenty of similar projects already online. They generally aren't pretty outside, and occasionally downright ugly inside. I wanted mine to both look and work great, but I have limited "machining" capabilities. I specifically selected a latching push button to control power, with a round button cap (so all I have to do is drill a round hole), with integrated dual-color LED for status indication.
These pictures show me first planning and then the result of drilling the hole for this push button. Note the tiny divot visible in the first picture. It was simply placed with a utility knife, then I progressively drilled smaller-to-larger holes guided first by that divot and then by each previous hole. It worked mostly perfect. The final hole was clean and round and fit the button perfectly. Except, it was in the wrong spot. My best attempt to measure the position was not good enough, it was too high, so I had to expand the hole a bit. This was operating on the one spare controller shell I had, so I thought it was OK: I learned to be careful on the real one. Somehow on the first real controller I made almost exactly the same mistake. So my hole isn't terribly pretty. Since things didn't line up perfectly first time, I had to expand the hole even further to really get proper clearance enough to allow the button to push in and out.
Next, the internals and the connector. Several plastic supports inside the case exist to route the cable where it needs to go, and absorb any strain of pulling on the cable. My plan is to remove the wire and put new components in that space, so they have to go. If you look carefully you can see the slightly rough edges where I've cut various bits out of the plastic case. Almost all the removed material is just inside the original cable hole, on both the top and bottom sides.
Next up is the connector end of the controller. My plan is to fit the entire receiver circuit inside this connector. The first step is opening up the connector and freeing the individual wires of their strain relief device. Opening the connector is quite difficult, I managed to design and 3D print a tiny jig to press in both of the catches on a side at once which helped tremendously. Then there's lots of plastic to remove, to make room. The original connector has a large hinged assembly, which fits around the metal connector pins to hold them in place. I used a dremel to cut off that hinged assembly, and plenty of the extra plastic bits besides. Then super glued the pins back into place.
Fitting the receiver circuit into the small connector was a challenge. It was one of my main goals however, as it will look much nicer than anything else I could build myself. So all the electronic parts are surface mount varieties. These are much smaller than the alternative, which I need. But it makes working with them extra difficult. I'm lucky enough to have access to a laser cutter, which I used to create a stencil. The stencil is used with solder paste, which is a set of microscopic balls of metallic solder mixed with a paste of other active and inert ingredients not completely unlike toothpaste. With the solder paste spread over the stencil, it sticks to the circuit board in just the right places. This is the first time I've ever worked with surface mount parts or solder paste so I was operating mostly in the dark. The solder paste result looked pretty good to me, but I was concerned about how much paste was left for the pins around the microcontroller.
Here's a pair of microscope shots. Only ten times magnification, but it reveals quite a lot of detail. On the left is the board assembled with the paste. The solder paste is just sticky enough that you only need to touch the components into the right spot and they stick in place. With that done (all my parts go on one side) it's time to melt the solder and permanently attach the parts. I used the "hot plate" technique. Actually with an old skillet (now clearly marked "NO FOOD" due to my use of leaded solder) on the stove. I mostly just set it to medium heat and waited. The inert ingredients (I'm thinking the petroleum jelly) in the paste started to melt rather quickly. It took a few minutes and then shiny molten solder began to appear. The second shot is after everything cooled down. The small components all stuck wonderfully. As I feared, the pins on the microcontroller were bridged. There was so much excess solder that it ended up climbing the legs (capillary action) and leaving blobs of solder connecting various pins. Some careful work with solder braid sucked out the excess.
It's also worth looking very carefully at the two pictures and comparing them. Especially note the position of C2. When the solder melts into a liquid, it has a surface tension just like water. This tension will actually act to pull the components into the proper place! The solder mask (the purple stuff on this board) repels the molten solder, but the solder sticks to the exposed metal pads as well as the components, lining them up with each other like magic! This makes assembling tiny surface mount parts by hand more practical.
So here's the first "fully working" part! I forgot about the pins on the RF daughter board (bottom left of the first image), so they got dremeled down to fit only afterwards. And three of the wires awkwardly snaked around the edges because they were attached second, but should have been first. But it fits and works! Almost... It turns out that using super glue to affix the pins was a bad idea. In this first unit they don't quite line up correctly anymore, so I can't actually put this connector into the port on the console. I've assembled a second working one, by connecting all the pins into the port before gluing. This works, but it's very difficult to insert/remove the connector. So I plan to do a third with just hot glue, which is a bit flexible. I hope that will hold everything together enough, but be just pliable enough to allow the pins to shift into place as they mate with the connector port.
I used the breadboard transmitter circuit to test the receiver above. Once it was working, time to get a real controller assembled! Pictures above are first the board with solder paste and components attached. Note that I manually wiped off a bit of the solder paste around the microcontroller, in an attempt to avoid having it bridge the pins like before. It helped a bit, but not enough. In the process of heating the thing to melt the solder, one of the tiny surface mount resistors wasn't quite positioned properly and required manual attention. I had a devil of a time re-attaching it by hand later. You can see tiny bits of solder spread out around it as I repeatedly tried to attach it down with the iron. But I did (barely) get it lined up and soldered down. It happens to be the resistor which controls the current that the charging IC (right next to it) will apply to the battery, affecting charging time.
And with mention of the battery: I've been doing a battery test for days now! I've had the controller on, and been watching it, for nearly all my waking hours since Thursday. It took until last night (Saturday) to finally run through the whole battery. So it's got at least 24 hours of operating life on the battery, which is much better than I even hoped for. Right now I'm leaving it switched on, with a "dead" battery, to observe exactly how it behaves there. It can be unsafe to attempt to re-charge a Lithium Ion battery after discharging it too far. So I've got a chip in there to make sure that I won't over discharge it. So far signs are very good!
Here's one final note worth making. I was quite careful with everything I did here, to try to avoid waste. I didn't want to design the board, pay to have it fabricated, and only then discover a critical problem. I was almost completely successful in this regard. I missed just one physical layout issue. An earlier post showed the plastic laser cut prototype that I used to avoid this. What I failed to do was ever insert the shoulder buttons. They pivot through one of the plastic standoffs which, whoops, I blocked with my PCB. The PCB had no traces or parts there, so I could dremel it out without issue. But one of them was also blocked by the RF daughter board! By extreme luck, only a tiny bit of the corner next to, rather than part of, the antenna was actually located there. In these pictures you can see the bits that I had to chop out. Good thing I didn't need to pay another $50 to re-spin another board!
So what I've got now is one each transmitter and receiver circuit, working and tested end to end. Wonderful! What remains is to actually complete the original target of the project and hook this up to a Nintendo, not a Super Nintendo. Early in my research I discovered that they're nearly identical. So I can, if I choose, build a receiver only for the Nintendo and use the Super Nintendo controller with it. That's next. I got a cheap NES Satellite receiver only via eBay. It works via infrared, but is a nice pretty container to hold a replacement radio based unit, and I certainly won't run into any connector modification issues like before!
Finally, here's a picture of the final modified controller! Overall it still looks very pretty. There's a bit of a gap around the indicator/power button. The cable hole is replaced with a connector for recharging the battery. Hopefully my second controller will look even better without the gaps! I've pushed all the source to GitHub today. The hardware was designed with KiCad and the software through the Arduino IDE, with the RF24 library.
2015-01-26 22:09 - Making
This weekend I made myself a footstool. I started from these plans I found online, though I couldn't find any attribution for them. I especially like that it looks nice enough, but leaves the feet right out by the outer edge, making it quite sturdy. Then I customized based on the material available. There was a nice wide board in my Mom's scrap pile, but it was covered in some old blotchy white paint. More on that later.
I started by marking out the three pieces. The top was just a rectangle, and the two legs each were trapezoids. With them marked out correctly they were both cut on the table saw. One of them had a bit of a flaw, but that area was soon to come out. I marked the round cutout with a bucket, and then cut it out with a jigsaw.
The next step was a lot of sanding to strip the paint off. It didn't all come off: the knots grabbed the paint tight, and some low spots had extra paint that sanding couldn't remove. Close enough, and much better, though. I don't plan for it to be very visible under my desk. The corners of the top were rounded off with the jigsaw, a handy can on the workbench was a nice size to trace. With that done they all got a pass on the router for a round over of the outer edges.
Then I had to cut the joining slots in the legs. At just the right angle. After some sketching and practice aligning scrap pieces, I realized that the cuts had to be complementary parallelograms. And if I crossed the opposite corners of those, I get the center point, which should line up with the center point of the leg pieces. Easy peasy! I had to cut those slots by hand so they came out just a tad rough, but worked just great after a little filing to clean up the edges.
With the legs lined up they were laid out to be even on the top, upside down. Then I used glue, no nails, no screws, and clamped it overnight. Voila! Some spots of paint remain, but it's going to live under my desk so that's not a big deal. It turned out almost exactly as I planned, but a bit too tall perhaps. I basically just used the board available as it was, but I probably should have cut it down by an inch or so. Either way it serves its purpose well enough!
2015-01-17 17:51 - Making
Tada! It works. Almost the only thing left to do is manufacture the PCBs, then assemble!