8×8 RGB Matrix V2 – KICAD test

I’ve converted the files to KICAD.

Due to size limitations of my project housing (60x60mm), I had to remove one switch which was connected to Arduino pin 7. All code that uses “__button” should be removed. The remaining one is the reset switch. The complete driving electronics, no SMD, is completely hidden underneath the 8×8 LED matrix board. The only components on the backside of the panel are a 6-pin header for the FTDI TTL serial cable and the reset switch. The one single status LED is not connected to Arduino pin 13, as it is needed for SPI communication with the shift registers. This would have been good as it shows the bootloader blink codes. It is now connected to Arduino pin 4.




Currently there is no ICSP header included, so you’ll need ATmega168/328 chips with a bootloader. These, as well as affordable  USB programmers, are available at Sparkfun or Adafruit and others. I use the USBtinyISP AVR from Adafruit I got for 22$. It runs with avrdude and can flash the chips, change fuses and so on.

The switch could be put back, if the board was switched to work with the internal oscillator at 8MHz and get rid of the quartz. As this involves changing the fuse bits and needs a programmer, which not every Arduino user has, I haven’t done that yet.

Including stacking headers, which I will need eventually for adding a battery pack and switches, will force the move to using SMD parts.

To use the files, you’ll have to add a few libraries to KICAD. Start KICAD and then EESchema. “Preferences -> Libs and Dir -> Add”. Then add “atmega8_168_328_dip.lib”, “LPH_SW” and “LEDSEE_8x8_RGB”.

To get the autorouter to route thick traces for power networks (VCC, GND) needs some console hacking. When the design is complete I use the interface to freerouting.net and export a (*.dsn) file.


Look for a section looking like this:

and copy and insert it before itself. Remove all other net names except GND and VCC. Then change “width 20” to e.g. “width 48” and “kicad_default” to “kicad_power”. This will tell the autorouter to route the tick power nets before all the signal networks.

The hacked part looks like this:

Save the file and open it in the java based router by pressing “Open Your Own Design”. This should load the board and show the unrouted nets. Then press on “Autorouter” and wait until it is done. Export a (*.ses) file with File->Export Specctra Session File. Reimport it to KICAD with “Back Import the Specctra Session (*.ses) File”. Done.

To create Gerber files click on File->Plot, select “Gerber” and press the “Plot” button. Then select “Create Drill File”. This creates (*.pho) and (*.drl) files for each selected layer. These can be viewed with the integrated Gerber file viewer or with “gerbv”.

KICAD project files: 8x8_rgb_matrix-v2_kicad.tgz

The necessary libraries can be found here.

I will never build this version, but was asked to make it accessible. It should work, but no guarantee whatsoever that it will. Please check the schematic and routing yourself.

This entry was posted in Arduino., Electronics. and tagged , , , , . Bookmark the permalink.