Another good example that demonstrates the power of generators with array-typed ports is a LED matrix generator. But this isn't just generate-30-LEDs-and-plug-into-30-IOs, this uses Charlieplexing to reduce the IO pin requirements significantly. In short, each IO pin can drive both a row of LEDs or a column of LEDs, so you only (roughly) need the max of the number of rows or columns, instead of rows-plus-columns or rows-times-columns of IOs. In the example board above, this allows 30 LEDs to be driven from this low-pin-count ESP32-C3 (RISC-V core!) microcontroller.

This board is ready for fabrication, and hopefully we'll see this working soon! This will also be the first single-sided board which is nearly full place-able by JLC, so in theory when the boards arrive they'll be ready to program without needing to bake the other side.

Next Post Previous Post