LEDino & AngstromIO
Two small devboards: A small, cost effective, USB C devboard based on the CH32v003 (QFN) with a small 5x4 charlieplexed LED matrix, and AngstromIO, an itty bitty 8.9mm by 9mm devboard, barely bigger than a USB C connector, with two adressable LEDs, based on the Attiny1616.
Created by
Clém
Tier 4
668 views
1 follower
Tanuki ⚡🚀
gave kudos to LEDino & AngstromIO ago
this is so cool!!!!
Clém
added to the journal ago
I shrank AngstromIO even more...
I recently found better components to reduce even more AngstomIO footprint: I had in mind that for MLCCs, the dielectric prevented them from being too small, for a relatively big capacitance, so I thought that for 10µF or 22µF, I couldn't go any smaller than 0805. It turns out I was wrong, since I found
0402 10µF X5R MLCCs, by Samsung Electro-Mechanics on LCSC (C315248), so even though their voltage rating is lower (10V) that usual, yet still high enough, they still embed a 10µF capacitance. However, their voltage derating might be higher due to the smaller package, I don't really know to be honest, but I'm pretty sure it'll work as bulk capacitors for a devboard.
Now that I have a 10µF 0402 MLCC, finding a 100nF 0402 one won't be a problem either...
So I updated the schematic with the new components, and completely rearranged the components with the new 0402 footprints, and I was able to shrank the AIO down to 8.9mm wide by 9mm long, USB C included!
I reoriented a few components, and I then routed everything, with two GND plane on the top and bottom sides. I also had to change a few footprints (changing the pads lenghts...)
Here is AnsgtromIO (V2):

Gallery:



V1 => V2 size comparison:




Clém
added to the journal ago
I brought AngstromIO back to life...
As I said previously, I wanted to make a itty bitty devboard, the smallest I can do while still having a USB C connector, based on the low power yet powerful enough ATtiny1616 MCU. I made the schematic, with the USB C management, Attiny1616 bare minimum, and 2 SK6805-EC15 addressable LEDs. I then designed the PCB, and I managed to put everything on a PCB barely bigger than the USB C connector: a 9mm by 10.5mm PCB. I couldn't break out every GPIO, but in any case, at this scale, you don't need a lot of IOs. I just added the I²C lines, Pwr pins, (5V and GND), UPDI for programming, and 2 GPIOs. The pads are quite small, but with patience, soldering wires to them shouldn't be too much of an issue... On a small PCB like this one, I couldn't afford 2.54mm header pins 😅...
I started routing everything, and at the moment it looked good and compact enough, I noticed I forgot to add a decoupling cap, a 10 or 22µF MLCC... I had to move things around a bit in order to place the 0805 capacitor, but eventually, changing the footprint of the USB C connector (I modified one of the EP pins) I freed enough space for it (yeah, I also had to shrink a bit the 0805 footprint... no... I mean, I just shortened the pads... but it should still work well and at least it fits)
I arranged the silskcreen layer, and attached this 'module' to the other PCB with mousebites.
I think it's so cute: Have a look at it:

Schematic:

Gallery:





Clém
added to the journal ago
Finished the PCB
I added the few power planes (VIN, 3.3V, GND), with the required prohibited areas so it's clean, and the electrical part was done. As always, I cleaned the silkscreen by removing all the unnecessary stuff (like lines around the components, I know how to place them without a guide 😂) and added my own silkscreen: naming the pins, adding custom decorations... I also wanted to add a background design, with abstract lines waving everywhere, but it wasn't possible to add this background only on specific areas on EasyEDA pro, so it overlapped with everything... But I have a trick: by importing an image of the PCB on Inkscape, and adding on another layer the desired pattern, I could simply add black rectangles on top of the 'prohibited silkscreen regions', and when exporting the patter in PNG, I could then load it in easyEDA, and arranging the mask on the PCB.

I'm really happy with how it turned out, and I think I'll keep using this technique in the future:


Clém
added to the journal ago
Routed the PCB: Part 1
I started routing the PCB, with the LED matrix and signal traces. I had to use a few vias, and sometime change a bit the emplacement of some components, but at least everything fits nicely. I just need to add the power planes, and the electrical part will be done.


Clém
added to the journal ago
Started the PCB: placing the components
So, I arranged the components on a 18.8mm by 23.4mm PCB, adding a few headers pads, 2.54mm spaced, in two 15.24mm spaced rows, so that it's breadboard friendly. Now let's try routing this:


Clém
added to the journal ago
I started the PCB, but...
I started the PCB, but I quickly realised that it won't fit onto this small board. either I make the PCB bigger, either I get rid of the LED matrix, but...



You know what? Let's scrap this idea, I've got a better idea... I mean, I'll still make this multiplexed LED Matrix CH32v003 combo, but on a bigger PCB, (everything will fit on the top layer this time), and even if it's no longer 'angstrom sized', I'll make another itty bitty devboard, even smaller that that, but only with the bare minimum: USB C, CH32V003, 5 or 6 GPIOs... So I'm renaming this project... hum... lemme call that 'LEDino'? yeah, I don't know how to name stuff, but let's say it's fine... And this way I keep the ÅngstromIO name for one of the 'world smallest devboards' ...
At some point, it's only the IC on a PCB with a USB C on it, but that's still cool to have a really small devboard if you only need a few GPIOs.
Clém
added to the journal ago
Schematic Part 2
I finished the schematic, adding the USB C, the Charlieplexed LED matrix, Switch...
I hope I didn't messed up the schematic of the 5x4 LED matrix, because it has a weird shape... I guess it's like every charlieplexed matrix, so 🤷♂️...

Clém
added to the journal ago
Started the schematic : the CH32v003 and 3.3V LDO
I added the first components: the ch32v003 with an onboard orange 0603 LED, a 5V to 3.3V LDO (AP2127) with it's decoupling caps. I also added a RESET push button:

In the meantime, I played around a bit building a PCB with the LED and USB C placement: I think it would look something like this: a 13 by 18mm PCB, the 5 by 4, 0402 Red LEDs matrix, and the USB C on the top side, and everything else on the bottom side.

Clém
started LEDino & AngstromIO ago
1/31/2026 - Started the schematic : the CH32v003 and 3.3V LDO
I added the first components: the ch32v003 with an onboard orange 0603 LED, a 5V to 3.3V LDO (AP2127) with it's decoupling caps. I also added a RESET push button:

In the meantime, I played around a bit building a PCB with the LED and USB C placement: I think it would look something like this: a 13 by 18mm PCB, the 5 by 4, 0402 Red LEDs matrix, and the USB C on the top side, and everything else on the bottom side.

2/1/2026 11 AM - Schematic Part 2
I finished the schematic, adding the USB C, the Charlieplexed LED matrix, Switch...
I hope I didn't messed up the schematic of the 5x4 LED matrix, because it has a weird shape... I guess it's like every charlieplexed matrix, so 🤷♂️...

2/1/2026 12 PM - I started the PCB, but...
I started the PCB, but I quickly realised that it won't fit onto this small board. either I make the PCB bigger, either I get rid of the LED matrix, but...



You know what? Let's scrap this idea, I've got a better idea... I mean, I'll still make this multiplexed LED Matrix CH32v003 combo, but on a bigger PCB, (everything will fit on the top layer this time), and even if it's no longer 'angstrom sized', I'll make another itty bitty devboard, even smaller that that, but only with the bare minimum: USB C, CH32V003, 5 or 6 GPIOs... So I'm renaming this project... hum... lemme call that 'LEDino'? yeah, I don't know how to name stuff, but let's say it's fine... And this way I keep the ÅngstromIO name for one of the 'world smallest devboards' ...
At some point, it's only the IC on a PCB with a USB C on it, but that's still cool to have a really small devboard if you only need a few GPIOs.
2/2/2026 - Started the PCB: placing the components
So, I arranged the components on a 18.8mm by 23.4mm PCB, adding a few headers pads, 2.54mm spaced, in two 15.24mm spaced rows, so that it's breadboard friendly. Now let's try routing this:


2/3/2026 - Routed the PCB: Part 1
I started routing the PCB, with the LED matrix and signal traces. I had to use a few vias, and sometime change a bit the emplacement of some components, but at least everything fits nicely. I just need to add the power planes, and the electrical part will be done.


2/4/2026 - Finished the PCB
I added the few power planes (VIN, 3.3V, GND), with the required prohibited areas so it's clean, and the electrical part was done. As always, I cleaned the silkscreen by removing all the unnecessary stuff (like lines around the components, I know how to place them without a guide 😂) and added my own silkscreen: naming the pins, adding custom decorations... I also wanted to add a background design, with abstract lines waving everywhere, but it wasn't possible to add this background only on specific areas on EasyEDA pro, so it overlapped with everything... But I have a trick: by importing an image of the PCB on Inkscape, and adding on another layer the desired pattern, I could simply add black rectangles on top of the 'prohibited silkscreen regions', and when exporting the patter in PNG, I could then load it in easyEDA, and arranging the mask on the PCB.

I'm really happy with how it turned out, and I think I'll keep using this technique in the future:


2/5/2026 - I brought AngstromIO back to life...
As I said previously, I wanted to make a itty bitty devboard, the smallest I can do while still having a USB C connector, based on the low power yet powerful enough ATtiny1616 MCU. I made the schematic, with the USB C management, Attiny1616 bare minimum, and 2 SK6805-EC15 addressable LEDs. I then designed the PCB, and I managed to put everything on a PCB barely bigger than the USB C connector: a 9mm by 10.5mm PCB. I couldn't break out every GPIO, but in any case, at this scale, you don't need a lot of IOs. I just added the I²C lines, Pwr pins, (5V and GND), UPDI for programming, and 2 GPIOs. The pads are quite small, but with patience, soldering wires to them shouldn't be too much of an issue... On a small PCB like this one, I couldn't afford 2.54mm header pins 😅...
I started routing everything, and at the moment it looked good and compact enough, I noticed I forgot to add a decoupling cap, a 10 or 22µF MLCC... I had to move things around a bit in order to place the 0805 capacitor, but eventually, changing the footprint of the USB C connector (I modified one of the EP pins) I freed enough space for it (yeah, I also had to shrink a bit the 0805 footprint... no... I mean, I just shortened the pads... but it should still work well and at least it fits)
I arranged the silskcreen layer, and attached this 'module' to the other PCB with mousebites.
I think it's so cute: Have a look at it:

Schematic:

Gallery:





2/14/2026 - I shrank AngstromIO even more...
I recently found better components to reduce even more AngstomIO footprint: I had in mind that for MLCCs, the dielectric prevented them from being too small, for a relatively big capacitance, so I thought that for 10µF or 22µF, I couldn't go any smaller than 0805. It turns out I was wrong, since I found
0402 10µF X5R MLCCs, by Samsung Electro-Mechanics on LCSC (C315248), so even though their voltage rating is lower (10V) that usual, yet still high enough, they still embed a 10µF capacitance. However, their voltage derating might be higher due to the smaller package, I don't really know to be honest, but I'm pretty sure it'll work as bulk capacitors for a devboard.
Now that I have a 10µF 0402 MLCC, finding a 100nF 0402 one won't be a problem either...
So I updated the schematic with the new components, and completely rearranged the components with the new 0402 footprints, and I was able to shrank the AIO down to 8.9mm wide by 9mm long, USB C included!
I reoriented a few components, and I then routed everything, with two GND plane on the top and bottom sides. I also had to change a few footprints (changing the pads lenghts...)
Here is AnsgtromIO (V2):

Gallery:



V1 => V2 size comparison:



