Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 7 of 7

Thread: 32x32 RGB LED Matrix with a Teensy footprint

  1. #1

    32x32 RGB LED Matrix with a Teensy footprint

    I and some other Teensy users saw a PIC based Kickstarter project that had a PCB footprint for UNO/Mega - and we asked about Teensy support. I hadn't yet backed so in reply to a message I got an ALPHA board from Australia to wire up - complete with smoked display cover that hides the white LED body and saves retinas seeing it up close.
    Click image for larger version. 

Name:	KSRB_PCB.jpg 
Views:	107 
Size:	78.5 KB 
ID:	11234Click image for larger version. 

Name:	TeensyOpen.jpg 
Views:	100 
Size:	97.9 KB 
ID:	11235

    I found a fork of the Adafruit RGBmatrixPanel.h that supports Teensy 3.x's and as noted in the GitHub ReadMe shifted the Analogs used so the Teensy can use all four POTS where the UNO can only use two. So when I had working wiring I sent an XLS of the pin list to Brad and he marked up his PCB - then I asked for RTC battery and a second row of headers to allow using more of the Teensy and a way to set the pots to 3.3V to make it safe and expandable for all of the Teensy 3.x family. I found it not to work on T_LC with the pin signals as presented to the display - the color control slips to yellow?

    Here's the result he just sent off to have a PCB made:
    Click image for larger version. 

Name:	RB3D_6.jpg 
Views:	99 
Size:	111.1 KB 
ID:	11236
    Which will be a bit neater than this:
    Click image for larger version. 

Name:	TeensyClosed.jpg 
Views:	97 
Size:	192.9 KB 
ID:	11237
    I tested on T_3.1, 3.5 and 3.6 from 8 MHz to Overclock and it shows no signs of trouble - of course not surprisingly at 8 MHz the POT updates net about 1 second This uses the AdaFruit method of a timer to manually push out the batches of bits - not DMA - though at full speed Teensy will have plenty of CPU left. It uses 13 pins - plus 2 switches and 4 pots on the base T_3 footprint.

    I had to cut the VIN<>VUSB of course as the Display is externally powered ( 2 A for 32x32 panel all white ). One thing I saw was when I powered the display from a powered USB HUB it worked but it was using the Teensy Programming USB GND for a return path and this would require pushing the button to program? I could tell something was amiss because my USB Charge Doctor power meter would go from 1.5 A to 0.9 A when I plugged in to program - and at the same time the display would brighten when the cable touched the USB connector. If some EE type has more info it might help others diagnose similar issues - when USB programming requires a button push is it a GND problem?

    I emailed FrankB asking if I could port his T3TRIS code to this project. It seems it would make a good clock or IOT display.

    Brad has a KS update with pics and movie almost ready I'll update with link as it may show stuff I left out here. if anyone is interested The KS is 230% funded and closes Sat, August 19 2017 9:29 PM PDT

  2. #2
    Administrator Robin's Avatar
    Join Date
    Oct 2012
    Location
    PJRC Global Headquarters
    Posts
    255
    I posted this project on the blog today.
    https://www.pjrc.com/32x32-led-matrix-support/

  3. #3
    Indeed!

    If only I saw it run on the Teensy LC . The screen fills yellow no sign of the DEC value of the pots (with chosen color)- but the binary bars do show white. Not sure if it is a voltage level issue from T_LC reaching what the MATRIX needs - or more likely a PORT mismatch on color control data lines as it. If anyone can look it might not be too late to get the PCB re-routed. Of course the T_3.2 and better give more spare pins ( using underside T_3.2 pins with one of the OSH boards) and with RTC offers more promise for more projects.

    As noted it was a fork from a fork from the AdaFruit code that worked and the PCB is being built for test. With some work the code might get cleaned enough for AdaFruit to take a Pull Request and get it in their current distribution - the prior PULL request was still sitting there and that is how I found the fork. The 2nd fork added pin documentation and resolved timing across the faster Teensy - but they were pulled prior to last Adafruit version update so I need to work through that. After this week I can get back to that.

    The 32x32 uses 13 pins and 2 Amps of power - 64x64 that FrankB just ordered would be much nicer with 4K RGB pixels - except for needing more pins and 4 Amps and probably too bright for use at arms length without sunglasses - this unit ships with smoked acrylic that is essential to viewing quality.

    Having looked at Frank's T3TRIS code before - I glanced at it again and this should map from the ILI9341 to this RGB 32x32 well enough to be doable and even nicer on the bigger screen - when I get time in a week or so.

    Thanks to Brad for sending me a unit to get the PCB Teensy Ready! This posted update adds more details of the results with a movie I sent ( sent with no sound has upload has noise so mute speakers ).

  4. #4
    PCB not back yet for Teensy testing - sent excel list of pins that worked for me - KS almost over - some time for revision if needed. I never had time to see what it would take to make the T_LC work.

  5. #5
    Quick update - First PCB with a T_3.5 attached and it works!
    Click image for larger version. 

Name:	T_3.5_a.jpg 
Views:	46 
Size:	141.9 KB 
ID:	11447
    Click image for larger version. 

Name:	T_3.5_d.jpg 
Views:	46 
Size:	114.5 KB 
ID:	11448
    Did some updates to the github.com/Defragster/RGB-matrix-Panel to get Brad in Australia up for a quick test with supplied HEX files.

  6. #6
    *** WARNING - don't use this on a T_3.6 - without limiting 5V on the pot to a 3.3V source ***
    The POT pads are wired to VIN 5V - not from the cut Jumper to 3.3V.
    See next post for the fix I used.
    *** WARNING - don't use this on a T_3.6 - without limiting 5V on the pot to a 3.3V source ***


    This KS item is now in my possession and works as shipped and assembled with PIC processor, pulled that and soldered headers to drop in a T_3.xx and it is running!

    I did this on a freshly IDE installed to a new machine:

    SOFTWARE:
    Install Arduino IDE 1.85 : I unzipped to 'C:\' on windows 10
    Install TeensyDuino 1.40 with TeensyduinoInstall to that folder
    Put this GitHub library to my sketchbook\libraries folder : https://github.com/Defragster/RGB-matrix-Panel

    Picked an example after selecting the T_3.6 processor on Tools menu: "...\sketchbook\libraries\RGB-matrix-Panel\examples\Retroball Uno Example Sketches\MovingRainbowLines" [rotate pot #1 to adjust line speed]

    A second example that displays all 4 pot values: "...\sketchbook\libraries\RGB-matrix-Panel\examples\Retroball Uno Example Sketches\DecimalToBinary"

    There is a ReadMe there that I'll add this text to - but prior notes should be good as they basically follow from the short notes below.

    HARDWARE:
    Built up the RetroBall kit first and - tested with PIC.
    > Removed PIC Processor
    > don't bother >> Cut the 5V PCB trace [ noted on silkscreen ]
    > don't bother >> Solder the two pads to convert the POTS to 3.3V usage for Teensy
    > I soldered on the RTC battery holder for Teensy - not used it yet ...
    > CUT THE TEENSY underside Vin<>VUSB trace [ the Display requires up to 2 amps on external USB connector - that also powers Teensy ]
    > [ programming still over USB - but Teensy then powered from external USB. I mark the Teensy USB hood on the ones I make this cut ]

    Making this post to share with the RetroBall backers that may be new to Teensy, or otherwise

    *** WARNING - don't use this on a T_3.6 - without limiting 5V on the pot to a 3.3V source ***
    The POT pads are wired to VIN 5V - not from the cut Jumper to 3.3V.
    See next post for the fix I used.
    *** WARNING - don't use this on a T_3.6 - without limiting 5V on the pot to a 3.3V source ***
    Last edited by defragster; 10-23-2017 at 09:04 AM.

  7. #7
    Here is the change I made to take the pots to 3.3V max for Teensy Usage. In the case of T_3.6 it could cause damage, in any case the POTS will top out at 3.3V and the last part of the knob will show no increase on T_3.2 or T_3.5.

    Do not solder the one leg to the pad but rather run a 3.3V wire from the board.
    In some fashion solder each of those four legs together to a 3.3V location on the board.
    I did it with 30 gauge wire soldered to the 3.3V pin on the UNO layout all from underneath.
    Then I taped the wires in place to make it safe to handle without pulling the wires off.

    Click image for larger version. 

Name:	KS_ReWire3v3.jpg 
Views:	20 
Size:	324.9 KB 
ID:	11870

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •