In today’s episode of Diminutive Device Technology Overview, [Sprite_TM] is at it again – this time conquering the HC32L110. A few weeks ago, we have highlighted the small ARM Cortex M0+ microcontroller, which is outstanding because of its exceptionally small size. We also pointed out a few hurdles, among them – hard-to-approach SDK and documentation, and difficulties making and assembling a PCB for such a small BGA. Today, we witness how [Sprite_TM] bulldozed through all of these hurdles for all of us, and added a few pictures to our collective “outrageous soldering” galleries while at it.
First, he figured out an example layout for this MCU that’s achievable for us even on a cheapest 2-layer board from JLCPCB, keeping distances within the generic tolerance standards by snubbing out a few pins. As a result, we only lose access to four GPIOs – those will have to be kept as inputs, so that nothing burns out. However, that’s the kind of tradeoff we are okay making if it helps us keep our PCB small and lightweight for projects where these factors matter. After receiving the resulting board, he also recorded a short tutorial on soldering such packages at home with a mere hot air gun and a few bare necessities like flux and tweezers – embedded below.
It doesn’t end there, however, as he decided to work around the GPIO fanout limitation in a non-intended way. Evidently, [Sprite_TM] decided to have some fun, taking a piece of regular 0.1″ spacing protoboard and deadbugging the chip with magnet wire, much to our amusement. The resulting contraption, pictured above, worked – and this is ever something you’d like to be able to achieve yourself in times of dire need, whether you make something work or simply to be entertained by making use of a cursed mounting technique, there’s an one-hour-long livestream recording of how this magnet wire contraption came to be. And, of course, that wasn’t the last thing to be shared.
As a finishing touch, he has published bindings and wrappers for Huada SDK so that the chip is usable with GCC, GDB and OpenOCD. He also added datasheets to the same repository – auto-translated but quite readable. All-GPIOs-involved blinkie GIF of a magnet-wire-bound chip triumphantly concludes the write-up.
An addition to [Sprite_TM]’s toolkit is an addition to everyone’s toolkit – the techniques, the insights, and the resources are all here for us to learn from. If you ever doubted your ability to work with small packages in general or this MCU specifically, now you have a whole lot more material to draw upon!
Wondering what kind of miniature device you might want to make? We hackers have mostly been having fun so far, building things like the USB-cable-hidden RubberDucky or a miniature PDP11, but there must be applications in, say, the wearable or medical fields where such a small MCU would prove itself to be a hacker’s friend. Maybe you want to build an LED engagement ring with some Cortex-M0+ smarts? In fact, this microcontroller is small enough that it wouldn’t be hard to hide inside your PCB itself.
I’m so often in awe of what folks manage so easily with hot air, its something I keep thinking I must get into my own setup someday, along with one of those lovely microscopes with the decent working distance…
Rather neat trick to make that thing work on a cheapo 2 layer board too.
Also those tiny magnet wire methods are so interesting and seem like horribly hard work..
I got lucky with OSHpark 2 layers fanout most FPGA pins with 3.5 mil trace (iCE40LP1k CM36) It’s .4mm pitch. But with .35mm (iCE40UL1K WLCSP16) 3 mil still not enough (maybe I rotate the chip 45 degree and the routing grids are not quite happy with that).
Wrap a long length of enameled wire around a block of wood a few dozen times. Add two cable ties to make a nice bundle and cut it free. Smooth off one end of the bundle and clean it up. Sit the chip on top and solder so that the ends of the enameled wire grab whatever pin they are sat under. Apply some strong glue and keep your fingers crossed.
DIY zebra strips :) I like it
Zebra quads?
I know there are sockets/adaptors for packages like SOP8/QFP32/QFN20/etc that let you easily pop in various package sizes for a more prototype/debugging/whatever friendly form factor…. but is there the same for something as tiny as this?
And I know this particular chip comes in larger packages too (QFN20, TSSOP20, & TSSOP16), but I’m curious
I don’t think anyone makes BGA breakout board this small!
… oh! oh hmmm! oh this is definitely a niche someone could figure out!!
Yes BGA socket are definitely a thing. But they are expensive and you still need a PCB with the same footprint anyway (BGA socket do not fanout pins)
Is it serious? That scale already existed since 70’when I studied electronic!
Has anyone considered just making a cutout under the middle four pins, so you could mount the BGA on the top or bottom, and from the middle four pins run either four wires or one part with four connections through the board and solder them to traces on the opposite side of the PCB, then run them to vias places around the BGA. You could design a custom part, or make one out of thin PCB chunks or a small flex-PCB. I think that’s the cheapest way that’s compatible with manufacturing.
You could do something as simple as soldering a 1cm or so long uncoated wire to each middle blob, pointing vertically. Then, solder the BGA to the main board with the four pins sticking through the board. Last, put epoxy in the hole to hold the connections and bend the pins outward to be soldered to traces. If anyone really likes this idea, I think you could make a custom jig to hold the four connecting wires in a bundle, then AFTER soldering th BGA to the main board, push the pins through the boarding while heating them directly to melt the solder blobs. You could make a four-sided pyramid of plastic or something to push down into the middle of the four pins, fanning them out, then press them down flat and solder them. You could cut off the tip of the pyramid shape and stick it onto a flat plate, getting the length you cut off right so that when the plate is pressed down, it fans out the pins and flattens them against the board in one step. I’m not sure if you’d need an epoxy/glue step for strain relief before fanning.
Or you could pre-fan the bundle of four wires, then tune the length such that they’d sit flat against the board (making sure to leave some slack so you can push the straight ends of the wires toward the BGA blobs for soldering without making a spring)
If you make the cutout a diamond shape with rounded corners such that each corner is over a BGA blobs then you could make a 90° bend in four flat strips of metal (copper, gold, etc.) instead of using four wires. One part of the metal strip sits flat against the board on the opposite side of the BGA. It’s bent and soldered in place such that the 90° bend is over one corner of the cutout, with the rest of the metal strip going down into the cutout and pushing on a BGA blob. With the soldered trace pointing away from that corner, this would let you solder the four interconnect pints to the board FIRST, then you can heat the ends of the pins with a diamond/shaped heater (to fill the cutout and press against all four pins) to solder the BGA blobs to the pins. This way it has a minimal number of steps and custom parts, and you don’t need epoxy.