Posted on

DIY CC CV Variable Bench Power Supply 1-32V, 0-5A

I have gone without a variable lab bench power supply for too long now. The PC power supply that I have been using to power most of my projects has been shorted out too many times - I have actually killed 2 by accident - and needs a replacement, at least for low power loads. There are now extremely cheap 5A CC Buck converters available that are perfect for something like this. I also added a Voltage and current display, a switch, and replaced the onboard 10K trim pots with regular potentiometers. I also desoldered one LED that lights up when the output is shorted (indicates constant current mode), and added some wire extensions and a 3mm LED to mount to the case.

18650 batteries are lying around all over my workshop, and I needed something to do with them. I found a design for a 4S10P holder on thingiverse that I printed out and put cells in it and soldered them up with 2A fuses to give me 8S4P. The rest of the space in the holder is used for the CC CV buck converter and other electronics. This allows the highest voltage possible for the buck converter, so we get the biggest voltage range on the output. The maximum voltage will decrease and the 18650 cells are drained, but I don't anticipate needing 33V DC very often.

The display is powered with 12V through a 7812 12V voltage regulator, that can handle up to 35V max input. Finishing this up, I added an XT-60 connector and a balance connector to the main battery so that I can charge it up. I also added some cardboard on the top and bottom to protect the fuses and avoid shorts. To finish it up, I printed out my logo on a used label sticker page and transferred it to the top of the battery.

I have used this fairly often, mostly to simulate 18650 batteries. I would love to find a way to get coarse and fine adjustment on voltage and current levels, so that it is much more usable. Right now, it is fairly difficult to get an accurate voltage without the tiniest of turns on the potentiometer. I might make a similar one using the same parts, but instead of attaching it directly to a battery, use an XT-60 connector and then it can be used with any battery I want. That will need a boost converter as well to get higher voltages, but that it easily fixed.

Project by: Micah Black

Written By: Micah Black

Posted on

Fake TP4056 Charge Curve Tester with INA219

Why its needed

I’ve been using TP4056 modules for a while now, and have just recently found out that there are tons of fake modules out there now. It’s actually really difficult to find genuine TP4056 chips. This blog has a great outline for identifying some of the chips and the potential problems with them. I wanted a cheap and effective way to test my TP4056 modules to make sure that I am not damaging any 18650 cells.

Dummy 18650

To interrupt the current path in the 18650 charging circuit, we need to either slot 2 pieces of wire and a separation material in the positive end of the 18650 holder, or make a dummy 18650 cell, and put another 18650 holder on top of everything. I designed an 18650 cell in fusion 360 (it was very simple) and added a loop on the top of it to easily get it in and out of any testing station or TP4056 modules. You can find the file for it on here (coming soon).

Other parts and connections

The only parts needed for this project are an INA219 current sensor, a micro SD card holder, and of course, an Arduino nano. On each end of the dummy 18650, insert a nickel strip (used for spot welding) or a piece of solar busbar. Connect the all together, using SPI for the micro SD Card holder and I2C for the INA219 module. One ground wire from the Aduino must be connected to the negative side of the 18650 cell to allow the INA219 to measure the voltage as well. The CS (Chip Select) pin of the micro SD card reader can be connected to any Arduino Pin, but most examples use pin 4, so I will stick with that to avoid modifying code.


To get the current flowing into the 18650 cells, and the voltage of the 18650 cells, we need the load voltage and the current from the INA219 module. Adafruit’s library is very easy to use, and works well. As for logging data to the SD card, we can use the built-in SD library, use a string to hold each line of data, separating each value (load voltage, current, bus voltage) by a comma so that it is easy to import into excel and create graphs. Code can be downloaded here.

Charging graphs

So far, I have not found any of the TP4056 modules that I have to be problematic, but I will keep testing them.


Project by: Micah Black

Written By: Micah Black

Posted on

Fixing a Lithium-ion Yardworks Lawnmower Battery

I found a 40V 10Ah lithium-ion lawnmower on kijiji a few years ago for $30. Finding lithium cells that cheap was a steal, so I bought it. Originally, I hoped there would be around 50 18650 cells inside, but when I got it home and opened it up, I saw that there were 10 10Ah cells in series. Not as easy to work with as 18650s, but I’ll probably add them to a powerwall or something soon – if I can ever can them out of the case that is. They seem to be wedged inside with double sided foam tape. I might need to break the case to get them out. Anyways, I found the capacity indicator on the battery was showing nothing, so I measured the voltage of each cell individually. As expected, I found one cell sitting around 1.6V, clearly problematic. The rest were sitting around 3.7V and 3.8V, which is a good sign for those cells.


I had a few TP4056 modules out for charging 18650 cells, so I just hooked one of those up to the problematic cell with some alligator clips. I did bypass the BMS by doing this, so I kept a voltmeter connected to the cell as well. It took a few hours to charge up to the voltage of the other cells, and when I disconnected the charger and re-tested using the built-in capacity indicator, it now showed that the battery was half-full. The battery has been restored to a fully working condition, but given that I don’t have a 42V DC wall adapter, or any high voltage boost converters to charge this as-is, I will probably be taking it apart to use the cells individually. The BMS will probably get used for an e-bike or another similar project.


Project by: Micah Black

Written By: Micah Black

Posted on

Ice Cream Maker Attempt

This project has been sitting around completed for a few months now, and I finally found the time and opportunity to test it.

I used a few peltier elements to cool down a stainless steel tray, in order to try to make some ice cream on it.



4 12V peltier elements (though more than 4 is advised)

12V computer power supply – at least 100W on 12V rail per peltier element is advised.

Small metal tray

2 CPU heatsinks – any heat sinks are usable, but these are cheap and easily accessible in old computers. I had both already on hand when I started this project.

Attaching Peltier Elements and Heat sinks to the tray

I used some cheap thermally conductive silicon glue to attach both the peltier elements and the heat sinks. I just left them sitting with the weight of the aluminum heat sinks to hold them down, but it definitely would have been a good idea to clamp them down while the glue was drying so that there is less space between the peltier elements and the tray.

To permanently hold everything in place, I contemplated designing and 3D printing a holder, but I was not too sure about the effects that a big temperature difference would have on it (brittle at one end, malleable at the other). So, I drilled some holes in the tray, attached m3 screws and washers, then looped some solid core wire around them and over the heat sinks to hold them to the tray. A 3D printed mount would have been better, because it would allow for more pressure to be applied, but this was much quicker.

Making the Stand

I felt that designing a 3D Printed mount for this would take longer than it was worth, so I just used some wooden dowels and hot glued them to the fan shrouds on the heat sinks. It ended up a little uneven – nothing that can’t be solved by adding a bit of extra hot glue to a few corners – but when you’re not accurately measuring anything, that can be expected.


All 4 peltier elements, as well as both fans were connected in parallel with a wago style connector. To provide 12V power, I used an old 650W Antec computer power supply. The 4 peltier elements draw almost 25A at 12V (300W), so they are not pushing this power supply to its limits. Computer power supplies are really the only solution I have found to power this, as it uses so much power.


As you might have been able to tell from the title, this did not work as well as I had expected it to. It only really got cold in one spot, just above one of the peltier elements, the rest of the ice cream mixture hardly changed from its original liquid state at all. It took almost 20 minutes to make one spoonful of ice cream. Using more peltier elements is definitely a must if you plan on building one. That way, it should get much colder and might actually be useful. If, or when, I do this again, I would also use some more substantial heat sinks, and mount them properly with screws to hold them down tightly.


Project by: Micah Black

Written By: Micah Black

Posted on

Custom Spool Holder

For the last 2 years or so since getting and building my 3D Printer (a Prusa i3 style clone from China), I have always used the spool holder that came with it. That was not ideal, as it took up space on my shelf to the side of the printer. It also took a lot longer than should be necessary to change filament, and it only easily took regular sized spools – some of the ones I have are wider than usual. I looked for designs of spool holders on thingiverse, but none of the ones I could find matched what I wanted, so I designed my own.

I wanted it to take up as little room as possible, and it could not be mounted to the center of the top acrylic piece like most other designs do because it would be too tall, and would interfere with the hockey equipment above it. I opted to attach it to the top left of the printer as shown.

This spool holder is entirely 3D Printed – no metal rods or bearings necessary. I still have to make a few changes to the design to minimize print time and add a bit more strength. I have uploaded the STL files to Thingiverse. They can be found here.


Project By: Micah Black

Written By: Micah Black

Posted on

100W LED Flashlight

I first saw similar projects on DIY Perks, and figured it would be cool to have a giant flashlight around. After building it, I realized it is much more useful than I originally thought. I have used this at summer camps, and outdoors a lot. Using this flashlight is so much better than a smaller flashlight, because it lights up the path almost like daytime - no more need to strain your eyes to see where you will step. Unfortunately, I do not have any pictures of this being built.





Required Parts

The parts in this flashlight are commonly available (at least for people like me). I used a 100W cool white LED, 2 80mm computer fans as well as a spare CPU heat sink to cool it, a 150W boost converter to power it - the LED needs around 30V to operate - and an LM2596 buck converter to power the fans with around 10V so that they operate quietly. For all the high power wiring, I used some 18AWG wire from an old AC cord. I replaced the potentiometer on the boost converter, and mounted a regular, single-turn potentiometer to the case.


To power this beast of an LED, I used a small LiPo battery. I mounted it outside the case, as there was not room for inside while still allowing airflow (I also didn't want to permanently mount it anywhere). It's only 1000mah, so it does not last long under a 100W load. The main consideration for the battery is that it must be able to supply 100W continuously. I also made an 4S4P 8000mah Li-ion battery from recycled 18650 laptop cells to power this, and it lasts a lot longer, but it also about 10 times heavier - not ideal for a handheld flashlight. I also added a 1-8S low voltage alarm to keep from draining the batteries too low.

Building a custom case

For the case, I used 3mm MDF board, and cut it out by hand with a saw, all 4 sides individually. After mounting everything to the sides with M3 screws and some hot glue, I attached the 4 sides together using angle brackets and bent strips of galvanic steel strapping (to act as angle brackets). The handle was made from a piece of an old DVD drive case, cut off with a rotary tool, and bent to shape by hand with the help of a few pairs of pliers. Overall, it looks pretty good, and has a sort of steampunk aesthetic.

The next version of this flashlight will be contained within a large PVC tube, which will be much more durable than the 3mm MDF construction that I built this time. The battery will also be contained inside the unit, but ideally still be removable.

Unmatched LEDs

One thing to be aware of with these cheap 100W LEDs is that the LEDs are not perfectly matched. This will have the effect of some LEDs getting much more current passed through them than others, which could be dangerous and lead to fires or explosions. Use them are your own risk. There are lots of people using these LEDs and have not had a problem, but just be aware that it can happen. The best way to check your specific LED is to power it from as low of a voltage as possible - until the LEDs just start to light up. If you see that some of the LEDs are much brighter than others, it might be a good idea just to keep an eye on them, and check it periodically. Just on be on the safe side, I set the maximum voltage on the boost converter to around 31V. The max voltage for these 100W LEDs is around 33-34V, so I am not driving it as hard as I can, which does allow some headroom for unmatched LEDs.

Project by: Micah Black

Written By: Micah Black

Posted on

DIY Arduino Board – Through Hole Components

I've wanted to make an Arduino on a breadboard for a while now, and finally found some time to do it. My Computer Engineering class at school will be making and using this kit, that I am selling here, to build their own Arduinos, and then make some cool projects with them. For me, this was a pretty straightforward project (except for an invisible 1 on a capacitor that gave me a fair bit of frustration when trying to burn the bootloader), but required a lot of time and learning some new skills - PCB design.



Creating the schematic

The first step was to create a schematic. Using the official Arduino schematic, Arduino's version of a breadboard / standalone Arduino, and a simplified version of the schematic that I found online, as references, I created my own schematic for the Arduino using EasyEDA. I wanted to keep all of the components through-hole components so that it is easy even for beginners to solder it (for the PCB version), and it fits in breadboards. Given that condition, I had to forego a built-in USB to serial converter because all the ones I could find were SMD components (if you know of a TH USB-serial converter, let me know). I am using an external USB-Serial converter to program it.

Wiring it all up

All the wiring was pretty simple, and just requires following the schematics. There are very few jumper connections required to make the Arduino function, but more if you add all the regulators, LEDs, and resistors, there is a bit more wiring.

Burning the Bootloader

Once all the components were correctly connected, all the I had to do was to burn the bootloader. The easiest way that I found to do this is to use the excellent program written by Nick Gammon that can be found here. A fully working Arduino is needed to connect to the ATMega328 chip, and will burn the bootloader to it very easily.



First program - blink!

After the bootloader is on the chip, uploading the first program is as easy as plugging it in, and pressing upload. The classis blink sketch is an easy test program to upload. Once it resets, the LED should start blinking at 1 second intervals.

Designing the PCB with EasyEDA

Once I confirmed that everything was working, I started making it in to a PCB using EasyEDA. I arranged all the components on the board, using the Arduino shield template on EasyEDA as the board outline. Once arranged, I used the autorouter to make all the traces. After looking over the board, I could see a few issues that I fixed manually, and then ordered my first batch of 10 PCBs through JLCPCB (amazing prices by the way).

PTC Fuse and USB Port

After assembling the first prototype board and using it for a while, I found it really annoying that there was not a USB port onboard, so it was harder to  power. Back EasyEDA again to add a though-hole mini USB port, and accompanying PTC fuse to the circuit, which will protect against drawing too much current from USB ports.

You can buy the Arduino as a kit from us here. If you want to build your own Arduino, while learning a little more about all the components required for it, and practicing your soldering skills, this is an amazing project. Once completed, it is exactly the same as a regular Arduino, with an external USB to Serial adapter.

Project by: Micah Black

Written By: Micah Black

Posted on

280Wh 4S 10P Li-ion Battery Made From Recycled Laptop Batteries

For the past year or so, I have been collecting laptop batteries and processing and sorting the 18650 cells inside. My laptop is getting old now, with a 2dn gen i7, it eats power, so I needed something to charge it on the go, though carrying this battery around is definitely not ideal. Now that I've made it, I also use it a ton to power my soldering iron, a hakko T12 clone kit from Aliexpress. I rarely use the computer power supply on my workbench anymore, and just use this 4S 10P battery.

Selecting the Cells

All the cells I used in this battery have been tested in my 76 cell charging and testing station. This was the first pack I made, so I used red Sanyo cells in the 1900-2000mah range to save the better cells for other projects coming up - I'm thinking an e-bike and small powerwall or portable power station. This pack is 4S 10P, 40 cells in total.

Making and Adding Bus Bars

The bus bars for this pack are made from 4 pieces of 20AWG wire from old Christmas lights, twisted together with a clamp and a cordless drill. I made three rectangles to connect the cells in series, and two straight bus bars for the positive and negative connections.

Tinning the Cells

After putting all the batteries into 4 4x5 cell holders, 2 on top and 2 on bottom, I used a flux pen to add flux to all the cells. Soldering to 18650 cells is perfectly fine, as long is it is done quickly. Don't hold the soldering iron on the cells for more than 2 or 3 seconds. I use a 60W Nexxtech soldering iron. It takes almost 10 minutes to heat up, but it works great. Just add a small dot of solder on both end of each cell.

Fusing the Cells

I used 2A Glass Axial fuses on all the positive ends of the cells to connect to the bus bars. Given that these are not amazing cells, 2A each might be pushing them, but 1A fuses would be enough. I need this battery to be able to provide over 200W continuous, so using 1A fuses would not have been suitable. For the positive ends of the cells, I used a fuse to connect them to the bus bars, and on the negative end, I used resistor legs.

Connecting it all together and adding balancing wires

This pack can output a maximum of  20A continuous, so an XT60 can handle the current easily. Positive to positive and negative to negative connected with 16AWG wire and some 3mm heat shrink, which according to this chart, can handle 20amps, and with only about 1% voltage drop, which is perfectly acceptable. I did not have a 5 pin JST connector on hand for the balance connector, so I used a regular female pin header cut to 5 pins. It has the same pitch, so it is perfectly compatible, but it can be plugged in backwards, which can be dangerous - direct short circuit. I used 24AWG stranded wire for the balance cables and 1.5mm black and red heat shrink to label the positive and negative ends.

Cleaning it up and making it look good

I hot glued all the power and balance cables to the battery, leaving them as long as possible, but still securing every one. 2 pieces of plywood were cut slightly bigger than battery to protect the connections. Pieces of 5mm MDF were used as standoffs between the battery and the plywood so that there is no direct pressure on the connections to the fuses and bus bars. I sealed all the edges of the plywood (or chip board) with duct tape so that the edges do not fray or break in transport. I added my logo to the top of the plywood by printing it out mirrored on a sheet of sticky labels with the labels peeled off. The printer must be an inkjet printer, a laser printer will not work for this, as the ink (not toner) will not be absorbed into the label sticker backing, and will come off easily when pressed against the plywood. The writing did not come out as I had hoped, but that is due to the inconsistencies in the chip board. I finally sealed the ink in with a quick coat of clear acrylic spray paint.

Project by: Micah Black

Written By: Micah Black

Posted on

18650 Lithium-ion Battery Testing Station

For the past year or so, I have been testing 18650 Lithium-ion cells from recycled batteries in order to re-use them to power my projects. I started out testing the cells individually with an iMax B6, then got a few Liitokalaa Lii-500 testers and some TP4056 modules for charging, but the testing still took way too long for my liking. This project has been a long anticipated one for me, and I am now able to test 36 cells and charge 40 cells simultaneously.

All the testing carried out with this test station followed this test protocol.

A fair amount of people in the community of people re-using laptop batteries use the OPUS BTC3100 testers, but those were a little expensive for me. When I found the Liitokalaa Lii-500 testers for under $20 each on Aliexpress, I ordered 6 more to complement the 3 I already had, as well as 50 TP4056 chargers, and some 4 cells holders. The power supplies I used were from Aliexpress as well – 12V 30A and 5V 60A, but a better option would have been to used server power supplies.

I’m sure that almost everyone that has a basement lab is looking for every way possible to get more space, so using up a ton of desk space with a charging and testing station is not ideal. Such is the case for me, so I decided to make my testing station a sliding drawer underneath my desk.

Building this was fairly straightforward, but required a lot of time. I designed some 3D printed clips to hold the 10 4 cell holders and the 9 Liitokalaa Lii-500s to the plywood that I used as the base.

I connected the BAT+ pad on the TP4056 modules directly to the cell holders, and ran wire through the holes in the battery holder to connect the other end to BAT-. This was a very elegant solution, and only required 1 wire per slot, 40 in total.

Power lines for the TP4056s and Lii-500s were made out of 3 x 18AWG wire from old Christmas light string.  I stripped the insulation, and twisted them all together using a clamp and a cordless drill.

I lined up the positive wire just in front of the TP4056s, and the negative wire  was connected directly to the USB ports, which are grounded. To connect the 5V line to the IN+ pad of the TP4056s, I used leftover resistor legs, which were the perfect length. Connecting 12V power to the Liitokalaa chargers was done with the same Christmas light wire, as well as some DC barrel connectors, and plenty of 3mm heat shrink to protect against shorts.

Moving on to the AC wiring for the power supplies, I got a fused power socket with a switch, and connected it to each of the power supplies. All the AC wiring is done on the underside of the plywood, and is secured using some 3D printed cable clips, printed out on my i3 style printer. I attached the power supplies to the board using 3D Printed brackets. A small voltmeter was added to the 5V and 12V power supplies for a quick check of the voltage.

After plugging in the power cable and turning on the switch, everything worked great!

One thing that I noticed as I was charging 18650 with these TP4056 modules was that they got pretty hot (too hot to touch) at the CC part of the charging curve. The TP4056 modules are linear chargers, so they ‘burn off the extra voltage as heat’. If you start charging your cell that measures 3V at 1A from a 5V source, then the power wasted as heat inside the chip will be (5V-3V)*1A = 2W. I started by adding some small 8x8mm heat sinks to the TP4056 chips, and then adjusted the output of the 5V power supply as low as it could go. In this case, it was 4.9V. Now, they never get too hot to touch.

Project by: Micah Black

Written By: Micah Black