|
1 | 1 | # Use a ESP32-DEVKIT-V1 to drive HUB75 LED panels using SmartMatrix library
|
2 | 2 |
|
| 3 | +Inspired by Adafruit's [RGB Matrix Featherwing Kit](https://www.adafruit.com/product/3036) or [Teensy SmartMatrix Shield](https://www.adafruit.com/product/1902)! But cheaper and more powerful, with Wifi/BT! |
| 4 | + |
| 5 | +This shield only works with [SmartMatrix](https://github.com/pixelmatix/SmartMatrix/tree/teensylc), not [PxMatrix](https://github.com/2dom/PxMatrix). |
| 6 | + |
| 7 | +If you want to work with PxMatrix, I highly recommend checking out [Brian Lough's shields](https://www.tindie.com/stores/brianlough/)! They are designed much better than mine! |
| 8 | + |
| 9 | +I simply prefer SmartMatrix, which is why I designed this shield. There are [some shields in the SmartMatrix repo](https://github.com/pixelmatix/SmartMatrix/tree/teensylc/extras/hardware) but these appear to be active and require extra components. My shield is passive and just connects the pins to the right place. It lacks a proper level-shifter, so it assumes your panel will accept the 3.3V logic from the ESP32. It also lacks an external latch, which those active shields use to free up a few more pins on your ESP32. |
| 10 | + |
3 | 11 | ## Features
|
4 | 12 | * Connects all necessary pins to drive HUB75 panels using `ESP32_FORUM_PINOUT` from [MatrixHardware_ESP32_V0.h](https://github.com/pixelmatix/SmartMatrix/blob/teensylc/src/MatrixHardware_ESP32_V0.h)
|
5 | 13 | * 2x screw terminals to allow you to share 5V from the microUSB to your panels.
|
6 | 14 | * Traces are wide enough to support 5V@3A total
|
7 | 15 | * Optional room for 1x Electrolytic Capacitor (I use a 16V 1000uF) to smooth the 5V power
|
8 | 16 | * 2x4 pins for additional GPIO use:
|
9 | 17 | * 2x GND
|
10 |
| - * 2x 3.3V |
| 18 | + * 2x 3.3V (The devkit's LDO supplies up to 1A total. ESP-WROOM-32 module uses 1A max but Espressif recommends assuming 0.5A.) |
11 | 19 | * 4x GPIO with ADC functionality (for buttons, potentiometers, etc.)
|
12 | 20 | * Only one 16 pin IDC output, but this should support multiple HUB75 panels daisy-chained in series
|
13 | 21 |
|
| 22 | +## Hardware |
| 23 | + |
| 24 | +### Required: |
| 25 | +* ESP32-DEVKIT-V1: [Amazon ($7)](https://smile.amazon.com/gp/product/B07Q576VWZ/), [AliExpress ($4)](https://www.aliexpress.com/item/32902307791.html) |
| 26 | +* If you want this PCB to plug directly into the panel: |
| 27 | + * Female Pin Header 2X8 (connects this driver to the HUB75 panel): [Amazon](https://smile.amazon.com/gp/product/B07VJ3JCLT/), [AliExpress](https://www.aliexpress.com/item/32747224548.html) |
| 28 | +* If you want this PCB to plug into your panel via a IDC ribbon cable: |
| 29 | + * 16P IDC Socket: [Amazon](https://smile.amazon.com/gp/product/B010V43ACO/), [AliExpress](https://www.aliexpress.com/item/32841491526.html) |
| 30 | + * 16P IDC Cable (might have come with your panel): [AliExpress](https://www.aliexpress.com/item/32873766356.html) |
| 31 | +* Any HUB75 type scan LED panel (E pin is connected, so should work with 1/32 panels too) |
| 32 | + |
| 33 | +### Optional: |
| 34 | +* If you want easy disconnect for ESP32: |
| 35 | + * 15 Pin Single Row Female Pin Header (buy 2): [AliExpress](https://www.aliexpress.com/item/32962790286.html) |
| 36 | +* If you want easy disconnect for panel power: |
| 37 | + * Power cables for HUB75 panels (might have come with your panel): [AliExpress](https://www.aliexpress.com/item/32832930794.html) |
| 38 | + * Screw terminals (up to 2 can be used to easily wire power to the panels): [AliExpress](https://www.aliexpress.com/item/32993227789.html) |
| 39 | +* If you want easy jumper wire access to the 8 extra GPIO and power pins: |
| 40 | + * Female Pin Header 2X4: [AliExpress](https://www.aliexpress.com/item/32785938092.html) |
| 41 | +* If you want to smooth the power spikes (might prolong device lifespan or prevent brownouts): |
| 42 | + * Electrolytic Capacitor 16V 1000uF: [AliExpress](https://www.aliexpress.com/item/32812085542.html) |
| 43 | + |
14 | 44 | ## Software
|
15 | 45 | I would recommend using the following software with this board:
|
16 |
| -* https://github.com/espressif/arduino-esp32 - To program ESP32 boards using Arduino |
17 |
| -* https://github.com/pixelmatix/SmartMatrix/tree/teensylc - The library that helps you talk to the LED panel |
18 |
| -* https://github.com/marcmerlin/AnimatedGIFs - Marc worked hard to make it relatively simple to use SmartMatrix to output animated .gifs |
19 |
| -* https://github.com/me-no-dev/arduino-esp32fs-plugin - This plugin makes it simple to upload .gifs to your ESP32 |
20 |
| -* Use your preferred image editor to make your animated .gifs! |
| 46 | +* https://www.arduino.cc/en/Main/Software - The Arduino IDE, to program everything! |
| 47 | + * https://github.com/espressif/arduino-esp32 - Install board manager support for ESP32 |
| 48 | + * https://github.com/me-no-dev/arduino-esp32fs-plugin - This Arduino IDE plugin makes it simple to upload .gifs to your ESP32 |
| 49 | +* https://github.com/marcmerlin/AnimatedGIFs - This code is a good starting point for your program. It uses the above software and libraries to playback animated .gifs for you! You can easily adjust things like the time between switching .gifs. You'll need to install (by downloading and copying to `My Documents/Arduino/libraries`) a few libraries that it uses: |
| 50 | + * https://github.com/pixelmatix/SmartMatrix/tree/teensylc |
| 51 | + * https://github.com/adafruit/Adafruit-GFX-Library |
| 52 | + * https://github.com/marcmerlin/Framebuffer_GFX |
| 53 | + * https://github.com/FastLED/FastLED |
| 54 | + * https://github.com/marcmerlin/SmartMatrix_GFX |
| 55 | + |
| 56 | +* Use your preferred image editor to make your animated .gifs! I used Photoshop, but you could also use GIMP or something! |
21 | 57 |
|
22 | 58 | ## Design
|
| 59 | +Gerber file download: [/gerber/esp32-hub75-driver.zip](https://github.com/rorosaurus/esp32-hub75-driver/blob/master/gerber/esp32-hub75-driver.zip) |
23 | 60 | 
|
| 61 | + |
| 62 | +## Other hardware you might want |
| 63 | +* Project Mc2 LED Purse (harvest a cheap 16x32px LED display): [Amazon](https://smile.amazon.com/dp/B071LQR2QG/), [Adafruit article](https://blog.adafruit.com/2019/03/06/issue-16-hackspace-magazine-can-i-hack-it-a-smart-pixel-purse-neopixels-making-hackspacemag-biglesp/) |
| 64 | + * If you want to daisy-chain this display, it's missing an output socket: |
| 65 | + * SMT 2x8 Male IDC Socket: [AliExpress](https://www.aliexpress.com/item/32989866598.html) |
| 66 | +* If you want to daisy-chain other displays: |
| 67 | + * 16P IDC Cable (might have come with your panel): [AliExpress](https://www.aliexpress.com/item/32873766356.html) |
0 commit comments