PROJECT - CHIPKIT-LED MATRIX - Build Log


ChipKit MAX32 - 9x14 LED Matrix

This project started a few weeks back when one of my Arduino colleagues brought the LOL Sheild to my attention.  (A write up for the LOL Shield can be found on it's designer's page: jimmieprodgers.com ) This is a very interesting little LED circuit that uses a concept called Charlieplexing. Charlieplexing in a nut shell is a way to multiplex many LEDs with as few digital lines as possible.

There wasn't a shield for the MAX32, so I designed one based on the Jimmie Rodgers LOL shield.  The shield is an array of red LEDs in a 9 x 14 "pixel" array.  I have seen a number of cool projects on the web that use this shield, one of which was a Pong Game. Some other uses could be, scrolling text, simple animations, or a graphical display.

My design is in the public domain.  For this design I have tried to follow the Open Source Hardware protocols outlined by OSHWA (Open Source Hardware Association).  (http://www.oshwa.org/) (http://freedomdefined.org/OSHW)

PROJECT FILES:

For the LED Matrix circuit you will find all the project files below.



ChipKIT Max32 - LED Matrix Shield Files

IMPORTANT CORRECTION:  It seems in a fit of some sort of dyslexia I made a mistake on the Shield PCB.  At LED position 9B  I seem to have placed the LED81 instead of LED18.  I have corrected all the documents to reflect this change.  Please be sure your PCB is REV2 if you had downloaded my files.  Sorry about that.

Hardware:


So, after using the Arduino LOL Shield as a referance, I layed out a PCB and begun milling.  This board is a little more complicated than most of my designs, so I had to through hole plate.



Once plated through, I strapped the board(s) back on the LPKF machine and began cutting.



Once milled out, I did the usual chemical tinning and begun the ordeal of soldering. I begun with the 0 Ohm resistors... and yes I actually used 0 Ohm resistors because they were there really.  Wire works just as well.


Next I soldered the headers.  But, this was a mistake.  I was waiting for my order of LEDs to come from eBay and I got impatient.  The LEDs really should have gone on next because they are shorter than the headers.  It was a royal pain soldering the LEDs last.  


Bring on the LEDs:


An then.... tragically.... 
I was excited to work with my newly created LED Matrix, I downloaded all the appropriate libraries from jimmieprodgers.com.  I had everything installed and ready to go... I hit the upload button to load my sketch to my ChipKit... and error.... not compatible.  As it turns out the ChipKit handles a few things differently than the Arduino.  Namely the timers and interrupts.  So, unfortunately the LOL Shield Library does not work with the ChipKit.  But I am working on it....



2 comments:

  1. Update: I have a program in place where I can individually address each LED. But there seems to be a lot of timing stuff involved with controlling this board. Depending on certain time delays I can get some really erratic results.

    Also, I have one row dimmer than the rest....hmm.

    ReplyDelete
  2. I have added a small test sketch for this shield. I'm still working on getting the charliepixel.h file to work with the ChipKit. But in the mean time, the code works to light the LEDs. Sketch is in the Project folder for this project, link above.

    ReplyDelete