Sunday, June 9, 2019

Crystal Capacitor Calculator

I needed a simple crystal capacitor calculator, the formula used is: C = 2*Cload – 2*Cstray (taken from

Just fill in C_load (from crystal datasheet) and C_stray (depends on PCB layout), then, press the calculate button.

CL:  (from crystal datasheet)

CS:  (from PCB layout)

C:  (this is the capacitor to be connected to the crystal)

Optional: Make sure that CL and CL_Actual is not too far from each other.
Actual C_load if using the calculated value [CL = (C1 * C2) / (C1 + C2) + Cstray]

Wednesday, April 10, 2019

Simple Open-Collector Comparator with Pull-up Resistor Hysteresis Level (Inverting Schmitt Trigger) Calculator

Most of the calculators on the internet are designed for push-pull output comparator, while they are handy, I do find myself wanting to use an open-collector or open-drain comparator instead.

As described by the title, this is a simple javascript-based calculator to calculate VH and VL.
No styling applied, so, it will look a bit ugly. 😆

There is no input-sanitation, so, make sure to only put plain numbers.
Let me know if you spot any careless mistake in the maths. 😁








Tuesday, July 10, 2018

DIY Ultrasonic Cleaner (aka Sonicator)

I recently needed a sonicator for my graphene experiments. Commercial units already available on the market, but, to satisfy my curiosity, I decided to build one myself out of a discarded pot, a generic transducer and its driver board bought on Aliexpress:

I was also inspired by this video

The result is:

The transducer, driver board, and epoxy placed on the used pot.

Close-up of the glued transducer.

Piezoelectric transducer powered by the driver board. 

The 28kHz transducer and the driver board is rated at 60W and 100W respectively. However, my power meter only reports 50W of input power.

I went with a 28kHz instead of a 40kHz version because I wanted a more energetic cavitation for stronger material pulverisation, faster emulsification, and more aggressive cleaning.

Despite being super-loud, the whole arrangement failed to agitate a few grams of micronised graphite powder both direct and indirectly. Even the cleaning effect is not that impressive. Putting my hand in the bath gives a slight tingling feeling.

I believe the sub-optimal outcome is due to the usage of the oversized pot, causing the transducer unable to resonate effectively at its natural frequency.

This may be improved by tuning the dimension of the reservoir and adding more transducer. I might repurpose the transducer to be a homogeniser in the future. For the time being, I used it as an automotive engine cleaner. :D 

To conclude the project, I basically made an underpowered ultrasonic bath, I should get a better result if I use a smaller container.

Tuesday, June 13, 2017

Low Cost Active Battery Balancer

You might have noticed in my last posts that I used 120 pieces of recycled 18650 lithium cells alongside with 4S Lipo pack to power my ebike.

This introduces large variance in terms of practical charge capacity and coulometric efficiency. As the result, charging them all in series configuration (14S pack) can be very challenging because each individual cell accepts charge at a different rate, meaning, all 14S will sit at different voltage levels.

The issue arises when at least one of them reached overvoltage condition. For my case, anything above 4.2V per cell is deemed to be very dangerous as it might explode and catch on fire. The tragedy happened to me once before (fault charger) and I learned the hard way to respect the voltage limit.

I then constructed a passive battery balancer which was TL431-based shunt regulator (refer to my Hackaday link below). It works fine and dandy, but, the shunt transistor overheats pretty much all of the time. Dissipating 300mA as the balancing current at 4.2V (that's 1.26W) proven to be stressful for the design.

Not to mention the fact the balancer needs all cells in the pack to reached 4.2V before the actual balancing can be performed (this is commonly called as top-balancing).

Googling for an active balancer solution lead me to expensive proprietary solutions that I cannot afford at the moment.

Hence, I decided to give it a go by designing it myself using low cost parts.

This is what I come out with:

The schematic.

The principle is quite straight forward really. All I did was converting the synchronous buck converter module (MP2307) to become a voltage follower (look at R4 and R5). In this case, the voltage that it is following is the half of the battery voltage.

In theory, I can make the power converter module to follow any voltage that I want (within limits of course). This is a very simple way of modifying the voltage regulator to instead of having the voltage to be set by an internal voltage reference (0.925V in this case) and a resistor-network, this technique forces the chip to follow an external voltage reference instead.

In other words, the circuit forces the voltage regulation to be governed by an external voltage reference, instead of the internal one.

The circuit constructed on a perfboard.

I originally intent to manufacture and sell on it Tindie, but, before I do that, I thought it would be nice to have a review by a friend of mine in the community (Vanarian from Endless-Sphere). 

Unfortunately, the board that I posted to him in France was lost during shipment and the board does not reach to him.

I lost my motivation and decided to open source this instead with the hope that the community can benefit from it and made some enhancement to it.

I believe this is the first of its kind: simple and low-cost. Maybe someone can prove me otherwise? ;)

The design files can be found in the links below.


Wednesday, March 15, 2017

An Update on My eBike Project

I mentioned in the last post that I bought 120 pieces of used 18650 cells from recycled laptop batteries to replace my exhausted 14S 8Ah LiPo cells from Hobbyking.

This post is meant to give some updates on the progress.

Commenced by sorting the cells by initial voltage that it holds.

Found 8 bins of them. The one in the box were under 1V.

Built a 1A constant current load to simplify the process of measuring internal-resistance of the cells.

Another view of the constant current load. Schematic is visible above the board. It was designed to be powered through USB 5V DC supply.

Most of the cells are around 200milliohms. All matched internal resistance cells grouped together in a pack of 12. This will make it a 12P cell.

This is the pack that I used (4S7P) while working on the rest. The blue cells are from my colleague (Zhang Yifeng), Thanks! Had to dismantled it for the new configuration (10S12P).

Built a passive dissipative cell balancer. The circuit can be found in TL431 datasheet. It was called "shunt regulator".

Back view of the lithium cell balancer.

Top view of the balancer.

Bottom view of the ballancer.

It ran so hot that I needed to use an adjustable wrench as the heatsink.

Box building time! I used the tools (drill and drill bits) that Zhang Yifeng gave to me. (Thanks again!)

I bought a black plastic box from Poundland (try to search for "battery box" on ebay, the price is significant higher). The structure is quite thin, so, I needed something to reinforce it. Luckily, I got a plywood from my landlord (Adrian Chapman - Thanks!). I cut it to size using handsaw also from Poundland.

I use the plywood to strengthen the floor of the box. The UHU glue was used as a temporary adhesive to help me drill mounting holes.

Time to 3D print some brackets. ;)

I also added some foam sheets underneath the box to help to distribute local mounting pressure. The goal was to avoid the box from cracking. 

Checking for dimension before drilling. My dad bought a rear bicycle rack for me, but, sadly, there are no mounting points on my bike, so, I had to buy a new rack. :/

All holes were drilled and brackets were successfully mounted on the box and the rack.

Testing for the rigidity of the bracket. Notice that I use dishwashing sponges as a temporary impact absorber (the battery was quite heavy). The wooden box was from Aldi's Clementines. So, it is a box within a box. ;)

All wiring is now done. I use cell level fuses because I had one experience where one cell shorts all other 7 cells and kill them all :(. I know I should be using bus bars, but, I ran out of copper wire, so, this should do it for now.

This is how it looks on the bike.

Overall, I am very pleased with how it turned to be. I think I like the 18650 more than pouch cells now. ;)

I am planning to develop a low-cost non-dissipative active cell balancer in the future.

Thursday, January 12, 2017

Harvesting 18650 Cells from "Dead" Laptop Batteries

I have been using Hobbyking's "Multistar High Capacity 4S 8000mAh" batteries on my ebike for exactly three months and now it gets noticeably physically swelled.

The runtime has halved from what it used to and not to mention that it becomes more sensitive to ambient temperature.

I use my ebike to commute to work, so, a reliable transportation is a necessity for me.

Instead of buying another battery from Hobbyking, I figured, why not just try to use recycled 18650 cells from ebay?

The seller claimed that the batteries are from some genuine manufacturers that have passed its toleratable capacity loss.

This post is intended as a log on my progress for this project.

Well packaged by the seller (bargainretailer1). I got it for £68 in the UK. I am sure I can find a better deal if I tried hard enough.

20 units of AS10D51 batteries exposed.

It was rated at 10.8V @ 4.2Ah in its previous life.

First harvest! :)

All 120 pieces of 18650 Li-ion cells successfully extracted.

Simple resistive load test reveals 68 out of 120 cells were usable. Not sure if the other half can be recovered, so, maybe an update for a future post? ;)

Wednesday, January 4, 2017

3D Printed LiPo Battery Box for My Ebike

Visit my Thingiverse repo to view the STL files:

-I printed this in Excelvan Coffee and Red ABS filaments
-I use E3D Volcano (clone) to speed up print time, so, each part takes less than 90 minutes to print.
-Designed in 123D Design.
-The box was intended to be mounted on top of the bike frame.
-Able to hold three 4S 8000mAh lipo and ten 18650 cells.
-Took almost 1kg of ABS plastic
-Parts are glued using acetone and super glue (parts named bracket)
-Printer used was Wanhao Duplicator i3 aka Di3
-Connections made by using XT60 and XT90 connectors
-DB25 was used as balancing port
-The box is secured in XYZ-axis
-The Z-axis was secured using Nut Job:

This was the old box, Rev1.

Printed bottom pieces with its brackets.

Aligning it before glueing.

Mounting bracket using super glue as "tack weld".

Waiting for the super glue to dry.

Tack the other half.

Ready to be acetone-welded.

Close-up of parts interface before acetone-weld.

Another close-up.

Bottom view.

Bottom close-up.

Using plastic tube from q-tip to spread the acetone.

First weld, woot woot!

Welded interface side close-up.

Welded interface centre close-up.

Outside view.

Added another bracket (simple rectangle) to reinforce the joint.

The only part of the box that needs support.

Not impressed with the surface finish. :(

Trying to place the batteries inside, hey, it fits! :)

Both top and bottom fits nicely. The DB25 is for voltage balancing.

How the ABS melted? In first minute, it appears white.

After 10 minutes, the white turns transparent.

Now, I have to disassemble my old battery. (Got from a friend, thank you Zhang!)

Looks good to me.

The only bike mount that needs support.

Side view of the bracket.

Fits nicely to the box.

Another bike mount.

Installed on my ebike.

The box now contains 14S battery. I plan to add some switching power regulator for other accessories.
It is not the prettiest project in the world, but hey, it works.
Next project would be to build a cell voltage balancer. ;)