-
It begins, again.
08/11/2024 at 03:11 • 0 comments -
Teardown and partial schematics of a battery charger
03/10/2024 at 04:47 • 0 commentsI got bored one day, so I cracked open a battery charger I got. I was curious if it was just a dumb charger when it came to 9v batteries like many chargers out there, or it actually monitored the state of charge. The model of the charger: EBL-C802.
With it opened up:It quickly became obvious why this charger requires charging AA/AAA cells in pairs. It charges two cells in series. It's likely done this way as a cost reduction measure. Sadly the main chip that controls the charging is missing a label, almost certainly sanded off.
Below is a schematic for the AA/AAA charging circuit. There's two circuits for charging two pairs in total. It's a pretty simple circuit. A mosfet is turned on/off to control charging and voltage of the two cells in series is monitored by the controller chip though a 10K ohm resistor.
Below is a schematic for the 9V charging circuit. There's two circuits as two 9V batteries can be charged at a time. This circuit is a bit more interesting. It doesn't operate as a dumb charger as the controller chip is apparently monitoring the battery voltage via a resistor divider. The circuit trickle charges the battery even when the B772 transistor is turned off via a 3K ohm resistor.
I have some other observations to note about the charger, but it's close to midnight for me. I'll be sure to update the page later.
-
Be careful about using ultrasonic cleaners with UV LEDs on PCBs
02/11/2024 at 15:07 • 0 commentsA little backstory: I got invited to a review program a while back and get various products in exchange for leaving reviews. When I saw I could get an ultrasonic cleaner, I grabbed it. It's fairly small in size, and the indented usage is for cleaning dental related products and hence why is has UV LEDs for sanitation.
I decided to see how well it does at removing flux on a PCB, so I placed a small PCB with some detergent 8 and let it run. After its 5 minute timer expired I checked it and it was far from done. After running it again, again, and again (there's no longer runtime timers for it) it got cleaned.
Later on I noticed something looked "off." I compared an unused PCB from the same batch with one that I put in the ultrasonic cleaner and saw a stark difference:
Yup, those UV LEDs apparently faded the soldermask. Looks like using the little ultrasonic in this manner isn't feasible without either modifying the cleaner by cutting power to those LEDs or by using something to block out the light from them.
-
Easy socket for thru-hole crystals (HC-49 variants)
01/21/2024 at 00:15 • 2 commentsI wanted to make a socket for swapping out crystals on some of my development boards. Using .1"/2.54mm machined pin headers was a good start as the pins from a crystal fit in quite well and the spacing is perfect.
The question now became the best way to go about it. I could break off two separate pins and solder them in individually, but from experience soldering in and nicely aligning single pins is rather tedious. I could do board revisions to have a middle, unused pin resulting in soldering a segment of three pins that would make things a bit easier, but that wouldn't help with the existing boards I have on hand.
The chosen solution was to simply remove the solder leg of the middle pin, resulting in a three pin segment that will fit in unmodified crystal footprints.
I ended up using a rotary tool with a cut-off wheel to grind away the middle pin. While it was a little tedious, I actually enjoyed it in a strange way. I did the grinding before breaking the segment off to made the grinding process easier to control. I then broke off the segment. I could have tried my side-cutters, but I didn't want to risk damaging them.
A board with one installed:
It works well and doesn't look too bad. I have some crystals with shorter legs that make for a nicer appearance, but I was pressed for time to dig for them.
-
Adding lighted taillights to a Lidl RC car
01/06/2024 at 15:02 • 0 commentsI've been busy for much of the week but I finally got around to it on Friday. For Christmas, one of several gifts I received was an RC car. I noticed it had functional headlights, but the taillights weren't lit. Of course I opened it up as I've been doing ever since I was a child.
Two things immediately stuck out to me.: the use of a 3 pin connector to connect the LEDs on the car body to the PCB as opposed to a 2 pin connector and there were holes in the taillights for inserting 3mm LEDs. I probed the 3 pin connector and determined that the middle pin was ground. I then of course put the car in reverse and checked the unconnected pin. Sure enough, it was putting out a voltage. This car was in fact originally designed to have lighted taillights, but for some reason they were excluded.
I figured it would be easy enough to fix that. I got a pair of 3mm red LEDs, a pair of 220 ohm resistors, some wire, and went straight to work. I probably could have forgone the use of resistors as from looking at the PCB, it appears that the existing LEDs are directly driven from an IC, so probably there's some constant current driving, but I wanted to be on the safe side as I was unable to tell for sure.
For connecting to that third pin, I didn't want to solder directly to the PCB. I had some square female pins meant for .156" header pins. It was a bit on the large side, but it fitted the connector. I wouldn't have done that for a high current connection, but it's not a big issue for some LEDs that drawl very little current. I used a LED in the existing wiring to tap into ground. I decided to test it before hot gluing it into the body. Worked just fine.
I then hot glued it into the body and resembled everything and looked at the final result. The plastic for the taillights is completely clear, so there's no diffusion which means the taillights aren't fully lit up and makes it obvious what the light source is as shown below. Doesn't make for a particularly great effect.
The taillights are also hard to even see while controlling it while standing up. This likely explains why the LEDs for the taillights were excluded. This makes it one of those projects where the journey is better than the result. It got me to be a little creative, fire up my soldering iron, and have some fun.
-
Wishing everyone a Merry Christmas
12/27/2023 at 04:17 • 0 commentsI'm a day later than I wanted to be in posting this, but the Christmas celebration lasts multiple days, so I'm not too late. My God bless you and your family during this Christmas Holiday.
I'm becoming more active again here on HaD, and I have a few projects/posts coming up soon, although with the ongoing festivities, those will not likely be showing up until next week. -
Graphing data from my temperature sensors
12/13/2023 at 22:50 • 0 commentsI've been collecting temperature data for some time now using DS18B20+ temperature sensors connected to some ESP8266 boards that upload data to a Raspberry Pi. I've tweaked it to be fairly reliable.
I decided this morning to make a line chart from some recent data. I chose to plot the data from the sensor in my attic and a sensor from inside. For the inside temperature sensor, you can see it oscillating for a good portion; that's from my heat pump cycling. Interestingly enough, you can see matching oscillations for the attic temperature sensor, but far less pronounced. I suppose that's not surprising as some heat from the heated space will of course make it to the attic.
I also decided to plot the temperature sensor data from the attic sensor and an outside sensor in another chart. An important note: The sensors in this case are connected to separate ESP8266 boards, so the readings weren't taken at the exact same time, but they're pretty close, so I fudged things a little bit (I used the reading times used to make the x axis from the attic temp sensor.)You can see the oscillations from the heat pump cycling a bit better thanks to the more granular y axis scale compared with the first chart. Interestingly, it looks like the outdoor temperature might be in an area where some heat from inside the house is escaping as there appears to be a few oscillations that look like it may be from the heat pump cycling. I may need to place it further away, good to have found this out.
I used LibreOffice Calc for the above charts (was a little bit of a learning curve to tweak things such as line and data point dot thicknesses to make it as readable as possible.) It would be interesting to have my Raspberry Pi generate graphs from the data with one of those generated graphs being generated from a trailing x amount of time. It would make things more convenient vs. having to manually do it. Time to do some searching on how to do that.
-
Adventures with an ESP32-CAM
12/12/2023 at 14:33 • 5 commentsI wanted to play with a ESP32-CAM cheap wifi camera for quite some time and I finally picked one up. My first quest was to find firmware that I could put on it that had support for RTSP. I came across this: https://github.com/rzeldent/esp32cam-rtsp/tree/feature/seeed_xiao_esp32s3 . After a getting familiar with the configuration, I got it working reliably. I do wish though that the firmware had the option for setting a static IP. Once I learned that lowering the number for the JPEG quality setting increased video and image quality, it's not terrible IF there is a lot of light. Even a reasonably well lit room is often not sufficient. If the included ov2640 camera doesn't get lots of light, quality takes a nosedive.
My next step was to create a stand for the ESP32-CAM to keep it at an upright position (it's natural position is to stay on it's back and stare at the ceiling.) I macgyvered one using a box for a base, a fishing weight to weigh the base down, a DIP IC tube to both put the ESP32-CAM above the surface a bit and also to give some room to reduce the strain on the connected USB cable. Some hot snot (hot glue) was used to stick everything together. It didn't come out looking too bad for something made out of mostly junk (see photo below:)Another issue I came across: frame rate took a nosedive if it was outside of the room that contains the access point it connects to. The integrated PCB antenna serves the ESP8266 and ESP32 well for sending small bursts of data, but not for streaming video. The good news: the ESP30-CAM has a provision to switch to using an external antenna. The challenge: moving a 0 ohm resistor (jumper) to switch from the PCB antenna to the external antenna jack. The challenge had complications that included the resistor being a tiny size, I'd say 0402 and the nearby RF shield being so close.
My first plan was using my hot air station to remove the resistor and re solder it. Removing it wasn't too bad, but the resistor just kept blowing off even at the lowest airflow setting when trying to re solder it. My second plan was to use a soldering iron to solder it on. This is where the RF shield really got in the way of things and ended up getting some solder on the shield itself. The resistor also wanted to stick to any tweezers I used. Out of frustration, I enacted my third plan: be Louis Rossmann. I tinned a section of thin copper wire (scavenged from a transformer), put it across both pads and soldered it in. Since the section of copper wire was much longer than the resistor, it allowed me to both orient it across the pads and hold it in place with one hand with ease and also have a reasonably unobstructed access the area to be soldered. After it was soldered it I simply trimmed off the excess with some side cutters and tested the connection with my multimeter. It's not the prettiest way to do it, but it does the job.
After praying that I didn't kill the ESP32-CAM in the process I attached an external antenna that I store from an ESP8266 an powered it up. It happily worked The external antenna isn't particularly special but it allows for optimal orientation of the antenna which can make a considerable difference. A big problem with the ESP.32-CAM's PCB antenna is that by putting it in an upright position to orient the camera, the antenna becomes (mostly) horizontally polarized. Most access point antennas (including mine) tend to be vertically polarized. Having mismatched polarization results is considerable loss in signal strength. I attached a toothpick as a mast extension and stuck the antenna on it.)
I did a before and after test in signal strength at a particular outdoor location. Measured signal strength with the PCB antenna: -87 dbm. Measured signal strength with an external antenna vertically polarized: -72 dbm. That's a big improvement. ...
Read more -
Teardown time again: Woods 32555WD remote control outlet. Finding out how the channel is set (it's a little brutal)
12/05/2023 at 01:05 • 0 commentsAs I've gotten tired (and/or lazy) about having to plug/unplug the outdoor Christmas decoration lights, I finally got an outlet that can be switched on/off via a remote. The one I got was labeled as a "Woods 32555WD, but there's no Woods logo anywhere on the product, which makes me think it's a product sold under a variety of brands. On the label of the remote control (and the outlet itself) a sticker stated "CH 1." There's no accessible switches for setting it for a particular channel, so I decided to open it up:
From the PCB photo above, it became very obvious how it's done. There's four traces: "A B C D." To set the channel, on or more of the "A B C D" traces are disconnected, not by removing solder bridge(s) in a civilized manner (or even better having DIP switches), but by grinding off a part of the trace(s .) It's not exactly a nice way to do it, I suppose they decided on this brutal method to allow them to to make use of lower skilled and thus lower cost workers. Strangely enough, "CH 1" correlates to the D trace remaining connected.
Onto the outlet tear down photos:
Inside, is a relay and the control circuitry is powered by a capacitive dropper circuit, not surprisingly. Interesting enough, there's a second IC on a daughterboard dedicated to receiving RF. The remote only has one IC for everything. There's a matching arrangement for setting the channel. I did sit down and reverse-engineered it. If anyone wants to see the schematic I did, please do comment and I'll make a more legible version and post it.
It claims to be weather resistant, but there isn't much in the way of gaskets, so it would be best to keep it away from any rain.
Good to know how to set the channel because there was no "user serviceable" option to select what channel I want. If I get another, it's easy enough to set it to either a matching or different channel, depending on my needs.
-
Vintage sewing machine foot pedal teardown
11/30/2023 at 18:51 • 0 commentsIt's been a while since I've done a post. I'm still active, but I've been busy with a lot of things as of late.
Anyways, something that I've wanted to see the inner workings of, was an old sewing machine foot pedal that's been lying around. It's a bit older than me. On to the exterior photos:
As you can see, it's a bit on the crusty side, with some electrical tape as a bonus, safety third!
Time to get into the pedal. The back slides off, but a screwdriver is needed as leverage to get it off. Oxidation made it challenging.
Inside it's obvious (and along the lines of what I expected to find) what it is, a variable resistor with 8 fixed positions (including a shorted position and the "off" position.) The resistor is composted of segments of coiled wire and contact points for the wiper that's wrapped around a piece of ceramic. End to end, the resistor is around 100 or so ohms.
The resistor isn't very accurate or precise (not that it needs to be) and resistance can greatly change if you look at it the wrong way (connections between the coiled wire and contact points are quite finicky.)
This thing is very much "safety third!" There's two large potential hazards. There's no grommet to prevent the wires going in from being nicked (although it may have had one that perhaps crumbled away.) The second big hazard is that the metal housing isn't grounded. If one of the coiled wire segments were to break or pop off, it could make contact with the housing, potentially making the housing itself live. It wouldn't pass safety standards today.
I also have the sewing machine this foot pedal goes with, perhaps I'll do a teardown of it in the future.
-
The tale of (effectivly) killing a $30-40ish USD chip
06/15/2023 at 12:14 • 0 commentsThe other week I got a few samples of some MAX187 ADC chips, as I was in part curious what was so special about them that warranted the high price tag. Looking into ADC chips all started when I wanted to find a solution to the ESP8266's fairly poor internal ADC. Somewhat off-topic notes: If anyone wants the board files (and code)for the MAX187 PCB I can post them, although it's a bit cost prohibitive if your not getting MAX187 samples. I've done a more practical design around a MCP3304 ADC chip that I will be posting in the future.
During the process of testing the code that I wrote to use it with an ESP8266 on a Wemos D1 board, I mistakenly connected the VIN pin instead of the GND pin to the ADC input pin. This by itself wouldn't have been a huge deal by itself, except I was powering the board via a wall wart, which sent around 12V to the poor ADC input pin. I discovered the issue as I started to smell something and then found the ADC chip to be streaming hot. After correcting the issue, the ADC chip appeared to become unscathed.
Or so I thought. Last night, I was writing code to use the MAX187 with a ATmega328P (I did this to do a comparison with the ESP8266 in terms of noise the ADC picks up and found that the ADC picks up a bit more noise from the ESP8266.) Upon testing the code, I noticed when using a 50K pot, the voltage was staying at full scale during most of the rotation and only dropping off close to 0v when hitting one end. I thought there was possibly an issue with my code and busted out a multimeter to confirm the strange readings. Strangely enough, the readings were correct. I then thought perhaps there was something wrong with the pot. I tested it with the wiper pin disconnected from the MAX187 and it behaved normally.
I then checked on the PCB for the MAX187 to make sure there wasn't any short between the ADC input pin and VCC. There was no short, but I did discover that the socket that I used was very slightly conductive, in the 6-18 or so megaohm range. The plastic itself was ever so slightly conductive. Good thing to note, as that can be problematic with dealing with high impedance sources.
I didn't think that the very slightly conductive socket was the problem so I turned to the MAX187 chip itself. I measured the ADC input pin voltage left floating, at it was around 5V. There was my problem. A low impedance or dead short must have formed between the ADC input pin and VCC pin. That would explain why the input kept reading full scale until the pot was in the position that the resistance was low enough between the wiper and ground pin that it was able to shunt the supply voltage that was going into the ADC input pin.
Further investigation with a multimeter showed sure enough, there was a low impedance connection between the ADC input pin and VCC pin with a reading of 117 ohms. Making an educated guess there's and ESD protection diode between the ADC input pin and VCC pin. That diode protected the input when it got 12v but sometime or after that diode failed in the way of forming a low impedance connection. The diode that protected the MAX187 chip ended up rendering the chip useless in the end.
That was quite a journey. I believe in the years that I've gotten into electronics, this is my first chip that I've effectively killed.
-
Making a better window adaper insert for a portable air conditioner
08/05/2022 at 14:20 • 0 commentsThe other week, I purchased a portable air conditioner. My house does have a central heat pump, but being over 30 years old, it's living on borrowed time. My area is also hurricane prone, so I wanted something I could easily setup and power off a generator should power be lost, so I selected s small power drawl unit (it uses 795 watts or less) with an effective 5000 BTU rating.
Interesting info to know about portable air conditioners:
While this unit is fairly easy to setup and move around compared to a window a/c, it's a lot worse in terms of efficiency. A major efficiency loss of this unit is that it's a single hose unit. It pushes hot air blown though the condenser, out the exhaust hose, but the air that's sucked in to be used to cool the condenser is taken in from the conditioned space vs. using outside air.
Worse yet, pushing air out without a second hose for intake makes the conditioned space a lower pressure vs. outside of the space causing air from outside the conditioned space to seep in. But it can get even worse, it can not only pull air from outside, but also the attic that's almost certainly far hotter than the outside air! I noticed this happening when I started smelling the attic and I noticed a warm draft from the closed that hoses the central heat pump fan unit. I did some additional sealing where the ductwork goes though into the attic to help mitigate this but some air still gets pulled though.
While the effective DOE 5000 BTU rating does account for outside air being sucked it, the formulas I've seen used, plug in 95F/35C for the highest outside ambient. My attic can get 117F/47C so if there is much of any air drawl from the attic, it's even worse than 5000 BTU!
Technology Connections has an excellent video about portable air conditioners:
I would have went with a dual-hose unit, but there appeared to be none to be found at my local store. There are a few that can be found online, but they're larger units that would put a bit more strain on my generator, should a power outage occur.
The issue with the included window insert:
One of the most finicky things about the unit is coupling the exhaust nicely with the window. While the insert is designed to be flexible with a variety of window sizes, gaps are created due to extender portions sliding into the main insert, as the extender portions have to be a bit narrower in order to slide in.
Worse yet, since the insert, places the hose right at the bottom of the window, and the hose to end adapter is a bit short in length, it's difficult to get the insert security in the window as the window sill gets in the way.) The end result is using a crap load of tape to compensate, resulting in a mess and also being a pain to put in and remove (wish I had a before picture, but oh well.)
The solution:
There had to be a better way I thought. I started thinking about creating a custom insert. I first thought of trying to create a perfect insert that the end adapter could clip into but then I realized I didn't have any material that's the exact thickness of the original insert that would be needed on hand. I decided on a bit rougher of a connection solution, putting the end adapter though the insert. To do so would require either making the end adapter-insert with very tight tolerances with almost no gaps but that would requiring splitting the adapter and connecting the haves around the end adapter or to make tolerances a bit looser resulting in some gaps that would allow maneuvering the end adapter into the hole of the insert.
I ended up doing the ladder, but I selected some insulating foam board I had on hand. The material has some flexibility which allowed me me to tighten up tolerances a bit to make things a little more snug, but where were some gaps left, below is the first version of the custom insert (wasn't used in the end as I fudged up the length cut):
On the version that actually successfully went in,...
Read more -
Murphy strikes with a vengence! (My adventure in changing a failing drive belt on a mower part 2)
05/05/2022 at 19:37 • 0 commentsThe replacement drive belt came in the mail today to replace on the one I damaged in part 1. I put it on with care and made sure that it wasn't rubbing against anything it shouldn't. Before I continue on I should note that the owners manual actually has directions on replacing the rear-drive belt as shown below. My method is not exact, but similar. I should mention that what I've been calling a tensioner pulley is called an idler pulley in the manual. A picture of the relevant page is shown below:
That did not go as expected
I then went to re-install the battery and thought I was done. I fired up the mower, only to find it won't actually move when put into gear. I quickly shut it off to avoid damaging either the front or rear drive belt. The rear drive belt looked okay. The front drive belt overall looked acceptable, but it is starting to show some signs of aging, but not nearly as bad of shape as the original drive belt was. I felt the front drive pulley on the engine and it felt what may have been a little too warm, indicating the front drive belt was slipping, perhaps due to too much resistance to turning.
Fiddle, fiddle, fiddle, and fiddle some more (and cats)At this point, I spent around 2 hours fiddling with things. I changed the drive speed and I loosened and tightened bolts that were involved when changing the belt. I also move the position of the front drive belt every time I fired up the mower to avoid too much heat buildup. Two of my neighbor's cats decided to come over and watch me (and perhaps snicker) in my frustration.
Heck, lets try sticking on the original replacement belt that was damagedAfter fiddling with it fell short, I decided perhaps I should stick on the original replacement belt that was damaged. I put it back on. I fired the mower up, won't go into drive. I try again. It decides to actually go into drive.
Fine, it if you want that drive belt, you can have it!Around 3 hours wasted only to find the mower only wanted to play nicely with the damaged belt. It can have it! Hopefully even damaged, it will last a bit. Perhaps things might have went better if the front drive belt was also replaced, but I don't feel like going down another rabbit hole for the time being.
-
My adventure in changing a failing drive belt on a mower
04/29/2022 at 17:44 • 0 commentsI'm not a small engine/equipment mechanic, I just play one in real life!
For the past 2 years or so I've been finding some chunks of what appeared to be a belt. Sure enough, upon inspection, the rear drive belt had chunks missing on it. Happy to say the front drive belt still appears in reasonable shape, as that one would have been quite a chore to change. It's not terribly surprising that it's the first belt to go on its way out as there's a tensioner pulley that puts additional stress on it. It's amazingly things have held up for as long as they have as it's an MTD mower that's 20+ years old (and more then likely well over double it's life expectancy, I imagine it's one of the few of this particular model that isn't in a scrap yard.)
First challenge: getting the old belt off:
The plan was to slip the belt off of the connecting set of pulleys that links the front and rear drive belts together via a gap between the top pulley (that the rear drive belt uses) of the set of pulleys and the body of the mower. The problem was that the gap was too narrow. I looked under the mower and studied the assembly, I initially thought I would need to take apart the pulley assembly which would have been quite an ordeal.
There had to be a better way, and there was
There's gotta be a better way to do this. I then saw the solution. I noticed that the assembly was connected to the body by a bolt (the one with the large washer by the yellow spring in the photo below.) If I loosened/removed it and pop it down a bit, I might be able to enlarge the gap enough to remove the old belt and get the new one on. Sure enough it worked.
With a bit of a struggle, I got the old belt off and below is a side-by-side photo of the old and replacement belt:
Here's the view under the battery compartment with it around the other pulley (and in position with the tensioner pulley.)
What's that smell? (Murphy's Law strikes!)
At this point everything initially looked fine and I put the battery back in place. My first clue should have been that the assembly was not freely turning when the mower was in neutral. I fired the mower up and drove around a bit. I then started to smell the burning of rubber after a bit. I took the battery back out and inspected the belt. The inner portion of the belt took substantial damage. I then saw the issue. Turns out there was a belt guard pin that it was rubbing against. Crap. Turns out it was hidden from view behind the bolt assembly that connects the pulley assembly to the body. The good news at least is that it was easy to remove, put the belt in the correct position and re-attach. Below is a photo of the darn belt guard pin with the belt positioned correctly:"We do it right, because we do it twice!"- Mustie1(Darren)
While the (now) damaged belt would still last for a bit, I ordered another belt, and hopefully get another 20 years out of it. Now that I know about the belt guard pin, I can simply remove it before hand, which should make changing out the belt the second time go a bit easier.
-
Additional chemicals I find useful in removing flux off of PCBs
01/11/2022 at 04:18 • 1 commentI've mentioned using Detergent 8 for removing flux in a past post but there are some other products that I've used/experimented with. I've found that while Detergent 8 overall does a good job, some particular burnt-on flux can remain. I've found a product that will get just about anything off: Goof Off Pro Strength remover.
WARNING: I looked up the MSDS/SDS for it and it's acetone based, so soaking a PCB in it would not be a good idea in most cases as it will attack certain types of plastics. The best way I've found to use the product is putting a few drops on a swap and wipe the PCB with the swab. This allows one to easily control application and thus easily avoid contact with any plastic parts mounted on the PCB. Also allows a little amount to go a long way. Another nice thing is that it doesn't appear to leave any annoying residue behind.
Another product that I've been trying out with success is Ammonia. It smells bad (use in a well ventilated area), but it's extremely cheap and seems to do a reasonably good job via putting some on a paper towel and wiping the board.
Again, one has to be careful with using products that aren't labeled to remove flux off of PCBs. The safest options are Isopropyl alcohol or a product specifically designed for flux removal such as Detergent 8, but I do find Isopropyl alcohol not as effective as I would like it to be (have used 90ish percent but haven't gotten a hold on 99%) and while Detergent 8 is effective overall, it's rather expensive. It's nice to have cheaper and effective alternative options.
-
Something to be aware of: voltage switch/jumper on USB to serial adapters do not always change the voltage level on the I/O pins
10/28/2021 at 17:22 • 0 commentsWhen I was about to program a board with an ESP8266 on it, I needed a USB to serial adapter. I reached for my cheap CH340 based one. I set the voltage to 3.3V, but I decided to check the RX/TX pins with my multimeter before connecting it. I found the voltage on the TX/RX pins to be around 5V. Yup, the voltage switch only changed the voltage on the VCC pin. I checked by FTDI232 based board and set the jumper to 3.3V, and the TX/RX pins read around 3.3V.
Top: CH340Bottom: FTDI232
-
Followup on Restoring a SNES. Re-addressing the key.
10/25/2021 at 13:52 • 0 commentsA casualty of restoring my SNES, were that Power and Reset keys were "bleached". A few weeks ago while watching a video from Adrian Black (Adrian's Digital Basement), he mentioned seeing a video of someone restoring the color of plastic parts within a car fender by using a heat gun and wondered if the same method could be allied to plastics "bleached" by retrobrighting.
I decided to give it a shot. I grabbed by 858D and first set it to 110C then, bumped it up to 180C. I did the Power button first.
I would day the Power button came out better of the two. I should have removed the keys first and got some practice doing the underside, but I didn't want to risk breaking a clip on one of them again.
-
DIY female to female jumper wires for when the cheapie ones crap out in terms of providing power
03/18/2021 at 15:33 • 0 commentsLike many, I often buy the Shenzhen special when it comes to jumper wires. They often do good enough when it comes to signaling, but when using them to deliver power to anything requiring more than a minute amount of power you start to have problems. The two problems with them is the wire diameter tends to be extremely small and connector resistance.
On account of being too cheap to buy more expensive ones, I decided to try my hand at making my own.Materials needed:
24 AWG speaker wire
single pin press-fit female pin headers (can of course use press-fit male pin headers for male ends)
heat shrink tubing
of course normal soldering equipment/supplies
I specifically chose press-fit pin headers as they have "needle eyes" on them vs. just a straight section of metal. The "needle eye" allows one to "thread" the speaker wire and thus keeps it nicely held in place so one doesn't have to hold the wire in place for soldering. The the on-label purpose of the "needle eyes" are to compress when pushed in a plated thru-hole and expand on the other-side, holding the pin headers in-place.
After soldering it in place:
And with some heat-shrink tubing:
I did experiment with putting an additional piece of heat-shrink tubing over part of the pin-header housing and wire to make it more robust, but as I expected it the additional thickness causes issues when being plugged in side-by-side:
The pin headers that I got were more rectangular than square. That could cause problems when plugging in to double-row headers. Going to look around and see if I can find some completely square ones.
Based on some very crude testing, there does seem to be an improvement over the cheapie dupont connectors.
-
Had a bit of fun converting a DC locomotive to DCC
01/20/2021 at 21:34 • 0 commentsI decided to take on the small project of converting a cheap HO scale DC locomotive to DCC. I chose a locomotive that used discrete wires vs a split frame loco (the frame halves being used to carry current) with springs and clips as having to do things such as isolating the motor from the frame on a split frame would have been a pain. Anyways for a decoder I chose a DN136D.
Here's the loco I chose to do the conversion:
Inside of the loco (with the decoder to be installed sitting on top):
I then disconnected one of the leads on a light and checked that the current didn't exceed the 80mA max without a series resistor as specified in the decoder manual:
Now it was time to start desoldering leads from the loco PCB and wire up the decoder leads. Since the PCB was single sided without any plated thu-holes a manual solder sucker would work fine (solder wick would also work), and that is what I chose as although I do have a Hakko FR-301, I didn't want to have to clean it out afterwords. What needed to be desoldered from the PCB were the light leads, and the motor leads. The leads going to the wheels for electrical pickup would remain soldered to the PCB (some were actually in the same holes as the leads for the lights so actually they got desoldered and then resoldered.) Now it was time to create a rats nest of connections. The manual for the decoder was thankfully clear on what to connect what to what, but I did have to reverse the motor leads. I used some heatshrink tubing along with some hot glue.
I later spotted a pickup lead broken off. I soldered that back down. It wasn't my best work, but I wanted to minimize melting the nearby plastic.
I then tidied things up using some Kapton tape (I did this after testing it on the track.)
This was where things were going to end, but thanks to me dropping it on the floor, the front light broke off. I didn't have any incandescent replacement bulbs on hand and was too cheap to pay around $10 USD for a replacement, so I grabbed and LED and put a 2K ohm resistor in series (I wanted to under drive the LED and I measured around 12 volts from the bulb leads open circuit.) I bodged that in and held it to the frame with copious amounts of hot glue.
It worked fine. I later learned that the decoder provides constant current to the lights and also by default limits current to ~30mA for use with LEDs, so I didn't actually to wire in a series resistor. It didn't come out half bad.
With the shell back on.
It looks quite nice. Perhaps in the future I'll replace the other bulb with an LED, so they match.
Overall, things went well. The decoder ended up costing more than the locomotive itself, so I would love to find a viable open-source decoder design and make my own so I can convert a few more locomotives without spending a wad of cash in the process.
Almost forgot to share an image of the DCC controller I made, I'll have to do a project page on that sometime.
-
Finally found out the root cause of problems transferring large files(1GB+) with Samba shares
06/15/2020 at 14:04 • 0 commentsI've been using flash drives on my Raspberry Pi's for Samba shares. Whenever I tried to copy large files to a share from a Windows machine it would hang for a bit and eventually fail. I tried reformatting a flash drive to exfat (vs fat32.) Still the same issue. Interesting enough, this issue doesn't occur with Linux clients. I eventually found this thread. It mentioned the underlying issue being using exfat/fat32, and to try using ext4. So I did. It worked! Everything now transfers fine, big or small.
-
Detergent 8, does it really work?
06/12/2020 at 17:27 • 0 commentsSomeone mentioned on Hackaday a while back of using Detergent 8 to remove flux from PCBs. I looked the product up and found the product page here. There was a link to order a sample so I did. A little time later an 8 oz. sample bottle arrived.
I first tried a 3% solution on a PCB I had lying around, the before picture was a bit blurry so I didn't post the before and after of that. It got most of the flux off but there was still some stubborn traces of flux left.
I decided to try it again, this time making a ~6% solution (instructions specify a 3-5% solution for manual soaking.) I measured it out in a graduated cylinder.
The test subject was a PCB I soldered together in the morning (I didn't solder in the crystal as I didn't want it to be submerged.)
I poured the solution in a bowl, heated it in the microwave for about 20 seconds and then placed the PCB in the bowl.
I let it soak for about half an hour and then removed the board. Just about all of the flux was removed! I didn't even have to scrub the board. I'm impressed!
The good news: it beats having to use isopropyl alcohol and having to brush the crap out of the board with a toothbrush. The bad news: It's not cheap. A one gallon bottle costs over $100 USD. Fortunately, the 8 oz. sample bottle will last me quite a while.
Some tips to make things easier. Use a dropper the get the concentrate out of the bottle and put it in a dropper bottle. Don't try pouring directly out of the bottle like I did as some likes to run down the side of the bottle.
-
A review of my experience with Digitspace
12/18/2019 at 14:14 • 0 commentsA few weeks ago, I was approached by a representative from Digitspace hat offered to provide some tools in return for mentioning them in a project. I haven't done business with them as a normal customer. While they didn't ask for a review, I thought I would provide one.
I got my package in about a week after the order was shipped via DHL. It was well packed as a styrofoam "box" was made within the box and everything was placed with ESD bags (even if some of the items didn't need an ESD bag.) The name-brand official Raspberry Pi 4 usb-C power supply appears to be genuine.
Ordering a microSD card from a non-established retailer worried me a bit as fake SD cards are a thing. The Sandisk microSD card that I received appears to be the real deal at least on first impressions. The packaging is designed for the Asian market with little English, but enough to know the important bits.
The person that I spoke with could actually speak English proficiently which is a major plus as it can be next to impossible to resolve something when the rep speaks "Chinglish" (been there, done that.) The website layout is need and clean. Some items at the time of this writing do lack some needed descriptions but the rep I spoke with says they plan to fix this. Overall prices weren't bad. In summary, I would consider ordering from them as a normal customer.
-
Fixing an old RC boat
09/24/2019 at 22:01 • 0 commentsToday I planned to mount an SQ12 camera on an old RC boat to make for some interesting footage. I pulled out the old boat, put in the batteries for both the boat itself and the controller, turned it on . . .
. . . and you guessed it nothing! I had an almost identical extra boat and controller (the only difference was the frequency it operated on.) I put in batteries, got nothing. I checked to make sure the batteries were good and they were.
I this point I feared the worse case scenario, the PCBs on both boats were ruined by the water. Seeing that I was unable to turn them on, I decided to take them apart! Sadly I had to damage the stickers to get to the screws to take the top off, but there was no other way. I did have one screw well snap on me due to the fact the screws were torqued down so hard. Inside I found a a few styrofoam pieces and an internal box that likely housed the PCB and motors.
I pressed on and opened the inner box. Sure enough, it contained the PCB and motors. I couldn't find any obvious signs of damage to the PCB. Interesting to note is that some sort of grease was used to actually mitigate any water ingress, didn't expect to see any effort given as it was a cheapo product. It would have been better if it used a greased o-ring but can you expect. The grease was a bit cracked in areas, so I would need to fix that later before I closed everything back up.
Seeing as everything looked fine in the PCB and motor box, I started thinking. Could it really something stupid simple as the power switch not working? I decided to short out the power switch leads. It came to life! I didn't open the other one and see if its power switch also failed (will likely do that in the future) but it's likely what happened to it as well.
Upon reflection, the failure isn't too surprising. The boat sits very low in the water and of course the points where the propeller shafts enter the boat means that water gets in the boat very easily, hence the sealed PCB and motor box and the styrofoam pieces. The instructions mention every so often pulling the boat out of the water and holding it vertically with the bow pointed up to let the water drain out. Just slightly above where the drain is located is the power switch, hence an easy point of failure.
My fix was to simply bypass the switch and solder the leads together. I tried some contact cleaner on the switch, but that failed to work.
Now came the resealing of the inner PCB and motor box. The old cracked grease wasn't going to do. I thought of what I could use that I had on hand and came up with petroleum jelly. There are likely better options out there but as it's non-conductive and it was what I had on hand, it's what I used. I used q tips to apply it (after removing the much of the old grease that could be easily removed.)
After that I closed everything up. and made sure it still worked. I then forgot about the styrofoam pieces and had to open it back up to put them back in.
Anyways here's some footage I took. As light as the camera is, it weighed down the boat too much and had to put it at an odd angle to reduce the chances of the boat tipping over.
-
Attempting to get a PBX phone to power up without a PBX
09/12/2019 at 15:21 • 0 commentsBackstory: A relative's workplace has recently upgraded their phone system and I got handed an old Panasonic KX-T7636 desk phone that was going to be thrown out.
The desk phone has a POTS jack in addition to the PBX line jack. It didn't come with a wall wort so my suspicion was that it was powered from the PBX line. I tried connecting it up to a phone jack and as I suspected, nothing.
I then decided to tear it down, find the voltage rail(s) and figure out what voltage(s) were needed, and rig up something to feed the voltage(s) into those rail(s). After I cracked it open I studied the PCB carefully for hints. I found something marked 3.3V on the silkscreen. I probed around a bit with my multimeter and it appeared to be the main and only voltage rail (with the exception of the circuitry for interfacing the PBX and POTS lines.) I also looked up the part numbers of the chips, and the one that I found a datasheet for, showed that it used 3.3V for the supply.
I found an unpopulated SMD capacitor footprint that was connected to the rail and decided to use that as the point to feed the rail. I macgyvered a power supply using an Ebay adjustable buck converter powered by a 13.8V linear power supply (can you tell that I need a proper bench power supply?) I soldered some speaker wire to the capacitor footprint leads. Powered everything up. Still no external signs of life.
At this point I wondered if the phone was trying to communicate with a PBX before it would show anything externally. Lacking an oscilloscope, I put my multimeter in AC mode and probed the PBX jack. I did get some AC voltages, so my guess appears to be right. The phone isn't going to play nice, until it can connect to the PBX. I probed around a bit more I found that the lines that fed into the bridge rectifier that feeds the internal power supply only came from the PBX jack.
At this point things have hit a wall. I could try to get more info on the PBX signaling and try to fudge it with a microcontroller, but perhaps that's going down quite a rabbit hole. I'm not a phone system expert by any stretch of the imagination, just someone that was a bit curious. Would love to hear from phone nerds if they happen to know anyway to hack it to make it operate as a normal POTS phone, but I imagine it would likely take more effort than it's worth.
-
A review of JLCPCB
05/02/2019 at 13:45 • 0 commentsFull disclosure: I was contacted by a JLCPCB rep offering to do a few boards for me in exchange for a review. I should further note though that I have done business with them as a normal paying customer in the past.
I used JLCPCB for my current board version for my Water Alert project. I also did a slightly updated board version of my Attiny Micro board, had them do a few additional boards for my Atmega328P Target, and for kicks some Sega Gensis/Megadrive cartridge PCBs from a design I found here.
The ordering process was easy. I really like that they show you images of the uploaded gerber files and in this instance it pointed out an issue. For my Atmega328P Target board, I noticed that a portion of the silkscreen was distorted. Under KiCad everything looked fine. I looked up their instructions for exporting gerbers in KiCad and saw that the include extended attributes option was checked in their screenshots. I went back in KiCad and did that and resubmitted them. The silkscreen issue went away.
The PCBs arrived quickly via DHL for a total turnaround time of about a week (I normally use the least expensive shipping option that usually takes a few weeks, but since it was on them chose the fast option.) They arrived in vacuum sealed packaging (usually they arrive neatly stacked in the package, but it's not really a big deal.)
Overall the PCBs came out quite good. Alignment was good. The edges of the boards were nicely routed. Silkscreen text is nice and sharp (with the exception of R4 and R5 labels on my Water Alert board, although to be fair the text is a bit small.) Order numbers were printed on the boards. One thing that I'm really impressed is that JLCPCB is able to get soldermask between the pads of fine-pitch surface mount component footprints as shown on the Sega Genesis/Megadrive cartridge PCB (note that although I didn't specify gold fingers on the edge connector, it should be specified if you're doing something more than testing/prototyping/just tinkering.)
My recommendations to JLCPCB:
Give us the option to change the PCB quantity before the order is submitted. JLCPCB changed their default quantity from 10 to 5 and I didn't notice until I uploaded everything. Since one the boards had to be manually approved it would have been a bit of a wait if I just deleted the order and started over again.
Retain promotion offers when an order is cancelled. On a previous order, a free shipping promotion was offered. There was an issue with a board I uploaded so the order was cancelled. When I re-uploaded with the issue corrected the free shipping promotion didn't re-appear.
In summary, I'll give them a thumbs up. I'd also like to thank them for offering to spin a few PCB designs at no cost in exchange for a review. I currently don't have a regular stream of income at this time so saving anywhere I can helps greatly!
-
Restoring a SNES
04/10/2019 at 15:30 • 0 commentsOver a decade a go I got a SNES from some relatives. When I was doing some cleaning I decided to pull it out. After cleaning the cartridge slot, it was working but the picture on the TV was pretty terrible. I picked up a cheap composite A/V cable and the picture was fine. I initially thought that the RF switch was crap, but upon further inspection that wasn't the case. This is where the restoration began.
The SNES RF switch coax jumper uses a stranded core vs the normal solid core that's used on most normal 75 ohm TV coax. This means that the stranded core can't be used as the center pin on the F connector, so what Nintendo did was attach a solid piece of metal to the end of the stranded core to serve as the center pin. The metal bit tends to be held in place loosely. Why they didn't simply use standard solid core TV coax is anyone's guess.
The problem was surprising and yet unsurprising
The less than spectacular coax jumper made me think that it was the root of the problem, so I planned to replace the coax jumper. When I opened the little grey box, the actual problem revealed itself. Two of the three solder joints that connected the coax to the PCB were completely broken; the coax shield joint and a joint that held a piece of metal that was crimped to the coax outer jacket to help hold it down to the PCB and therein lied the flaw that caused the failure. The crimped metal piece was the only thing that provided any strain relief. the RF switch is often dangling off the coax connection on the back of the TV so quite a bit of stress gets placed on the connection of the coax to the PCB. Sadly I didn't think to take a before photo, but I marked the joints that were bad in the after photo below. I also used some hot glue to help provide some actual strain relief so that it doesn't happen again.
After that, I re-assembled the case and plugged it into the TV. It worked just fine. Surprisingly the iffy center pin didn't cause any issues for me.
The next chapter in the restoration was cleaning up and retrobrighting one of the controllers. The controller wasn't exactly treated nicely by its previous owners and needed a bit of work. I first disassembled the controller and gave it a good scrubbing. I took a magic eraser to the badly scratched up areas which helped a lot.
Next was to hunt for something around the house that could serve as the retrobright solution. After a bit of googling, I learned that many oxyclean stain removers can be used for retrobrighting and the key ingredient to took for was sodium percarbonate which is apparently a source of hydrogen peroxide. I found a box of Biz laundry stain remover in the laundry room as a possible candidate. I looked up the SDS to find out the ingredients and while it didn't list sodium percarbonate, the SDS did list disodium carbonate and in the parenthesis it mentioned compound with hydrogen peroxide.
I added some Biz to a container of water and stuck the plastic controller pieces in it and set it out in the sun for 6 or so hours. While the result was less than perfect there did appear to be an improvement but the controller wasn't terrible yellowed to begin with. Below and after photos below.
Next came the real challenge, the SNES itself. It was badly yellowed with the exception of a few case pieces that remained the original color. I made a crude, but effective makeshift screwdriver bit from an old flat head screwdriver to remove the security bits to take the case apart. After taking the case apart, I gave everything a through scrub. I then filled two tubs of water and mixed in some Biz. I put the two large case pieces in each of the tubs plus a smaller piece and put them out in the sun for a total exposure of around 14 hours. It made quite a transformation. While it didn't work perfectly, it made a major improvement.
... Read more -
My thoughts about the 2019 HaD prize
04/08/2019 at 20:32 • 5 commentsI was at first happy that the annual HaD Prize started up again. This year I put in two entries. If anything else, I would get a few $ of seed money to go towards buying supplies to work on my latest projects, or so I thought. Upon reading the rules for this year’s HaD Prize (and also getting it confirmed by a staff member) I learned that only projects that make into the top 20 in the first round will receive any seed money, a bit of a letdown to say the least.
One of the most appealing (if not the most appealing) things about the HaD Prize vs many other contests was that even if you didn’t win any prizes, you could often get some seed money at the very least. It’s why I’ve bothered to put in entries for the HaD Prize. I know I wasn’t likely to win anything big but I’d at least get some money to fund my projects. If this ends up being the norm for future iterations of the HaD prize, then there’s practically little incentive for me and many others to enter.
This year's focus to design a product for mass production does seem out of place. Most projects here aren't things that the general public care going to want to buy off of store shelves, so it's doesn't make sense to design to spit out thousands. For my hardware designs I’m more focused on the design to be easy to assemble by hand and keeping costs down.
-
my 2019 had prize projects
04/03/2019 at 23:55 • 0 commentsIt's that time of year again. Likes and follows are appreciated!
-
a review of PCBWay
01/08/2019 at 19:27 • 1 commentFull disclosure: I was contacted by a PCBWay rep offering to spin a board for me in exchange for a review.
I've used several PCB fabs over the years and last week I tried out PCBWay for my latest Atmega328P Target board revision. Ordering was straightforward for the most part, although an annoying quirk was having to hit the cart button to update the status of their PCB review to be able to order. The PCBs arrived quickly via DHL (I normally use the least expensive shipping option, but since it was on them chose the fast option.) I did check out how much it would normally cost me with the cheapest shipping option and it came out to be around $13 USD, not bad.
When I received the package it came very nicely packaged. The PCBs themselves came in a vacuum-sealed bag. Also in the package was a light-up Frosty the Snowman PCB populated with the requisite components for it to light up that they threw in as an extra (always nice to get a nice little surprise included.)
Overall the PCBs came out quite good. Alignment was good. The edges of the boards were nicely routed. A small order number was placed on the board but it was placed in the best spot possible; the center of the footprint for Atmega328P. When the MCU is soldered on, it's completely out of sight. Either someone reviewing the boards or an automated system was paying attention to detail. A very minor disappointment was that there was no soldermask in between the pads of the Atmega328P footprint, but it didn't cause any real issues when I went to assemble it.
My recommendations to PCBWay:
Do what other fabs that I've used in the past do and display images of the uploaded Gerber files on your website. It felt I was taking a shot in the dark when I placed my order, hoping that everything showed up correctly on their end.
For me at least would be nice to just upload my Gerber files vs having to type in board dimensions, then upload.
Having solder mask between QFP pads would be nice.
In summary, I'll give them a thumbs up. I'd also like to thank them for offering to spin a PCB design at no cost in exchange for a review. I currently don't have a regular stream of income at this time so saving anywhere I can helps greatly!