It's Redesign Time
I actually completed this board awhile ago. I just forgot to update the project log because my life got somewhat busy around the time I finished this. This board is one of the most complex I ever attempted and the layout took quite a bit of time. I'm not exactly happy with the final product but I have no doubt that it will get the job done. Here's the eye-candy version of the board design
And here's the actually useful images of the board. I went with a 4 layer design due to the shear complexity of the board, tried to keep everything as tight as possible but I could only do so much since the headers needed to be in the configuration shown up above. In this redesign the matrix itself sits in the gap between the two header rows.
Here's the top layer. The upper right corner handles all the power such as working with the lithium ion battery and boosting everything to 5V. On the fir right under that I've added some mod-headers which connect to 4 of the pins of the ATmega just in case there's something I want to add. I plan to use 1 of those headers to sense where the matrix is in its rotation.
The bottom of the board is really nothing special. I tried to keep it so that the top would go left and right and the bottom would go up and down. That almost worked out for me in this case. But with the pin pitch of the microcontroller I couldn't really place vias directly on the pins. I should have modified the via size to condense the board but I didn't think of it at the time so I'll have to keep that in mind for next time.
The next stage of this project is the mechanical design, which I'm dreading. Unfortunately at this point the project is on temporary hold, I just don't have the money at the moment to see it through. The bright side is that I can design almost all of this project directly in various CAD tools so I'll only have to assemble at the end.
Either way, see you in the next log!
the previous matrix display had an effective resolution of 10x10 LEDs, this time around I want to increase that number. Ideally this project would not use the shift registers that plagued the performance of the previous iteration.
For this version I've chosen the ATMEGA2560 to control the LED's, this way the IO can control the LED's directly, however that came with some constraints and some easy improvements. The MK.II persistence of vision matrix display will utilize an 16x16 LED matrix to create its images. the ATMEGA2560 is perfect for this application (although pricey), since 6 output ports can be dedicated to the high side (RGB) of the matrix and 2 output ports can be dedicated to the low side of the matrix. The overall result of this is that the final matrix will operate much more quickly. With all that said lets go through the finished schematics for the project.
kiCad doesn't allow for flat schematics, which is somewhat of a pain, so we'll have to take a look at the this schematic as a kind of block diagram. The port assignments are as follows
PL/PE = RED
PJ/PH = GREEN
PA/PC = BLUE
PE/PF = GND
the ATmega2560 cannot drive the LED's directly, therefore this project will utilize "a few" transistors to drive the matrix display, the two larger blocks to the right are those transistor arrays.
On the left towards the top we have the battery management and power system:
and along with that all the circuitry for powering the matrix directly
This is a rather big circuit, I've already begun the PCB layout which'll be the subject of the next log!