This week I want to try to make led matrix using Charlieplexing.

Charlieplexing is a technique for driving a multiplexed display in which relatively few I/O pins on a microcontroller are used, e.g. to drive an array of LEDS. The method uses the tri-state logic capabilities of microcontroller in order to gain efficiency over traditional multiplexing.

By using the Attiny 45 controller, I can use 20 LEDs for matrix.

Design the board

Manufacture it

This time I decided to fill soldering paste through pads template (made from 100mkm film). I exported pads from Eagle CAM module as image,

and then vectorized it and sent to plotter:

And it’s time for filling the paste and soldering:

Now it’s time to prepare firmware:

Sketch

However, I used to to reduce my sketch file to limit 256 bytes. https://www.arduino.cc/en/Guide/Troubleshooting#size – this link helped me to fix it. It suggests to reduce numbers of variables which use dynamical allocated memory.

Here is result:

Files:

  Eagle Schematic file
  Eagle Board file
  Board traces export
  Board traces G-code
  Solder mask
  Program