
PixelvationEngine V01
This GitHub repository is the current home of Pixelvation and will be updated whenever there's some significant new development.
- Size
- 36.8 × 27.9 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 30
- Nets
- 74
- Pads
- 246
- Tracks, vias
- 761, 51
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 9 Dec 2020
- Updated
- 16 Dec 2020
Overview
PixelvationEngine V01 is an open-source printed circuit board by Pixelvation, from the Pixelvation/Pixelvation repository on GitHub. It is a 2-layer board of 36.8 × 27.9 mm with 30 parts on 74 nets, routed with 761 tracks and 51 vias.
It is built around the 74HC245D, 74LVC2G17GW and ESP32-PICO-D4, with the AP2112K-3.3 among its other parts. Its parts include 9 capacitors, 6 ICs, 6 connectors, 5 resistors and 2 diodes. It belongs with the ESP32 and RISC-V boards of this library.
Main components
474HC245D
SO-20-300mil-40℃~+125℃ 1 160uA 2V~6V 7.8mA 7.8mA 74HC 8 9ns@4.5V,50pF Bidirectional Tri-State SOIC-20-300mil Buffers, Drivers, Receivers, Transceivers ROHSNexperiaBuffers, Drivers, Receivers, Transceivers74LVC2G17GW
SOT-363-40℃~+125℃ 1 1.65V~5.5V 10uA 2 24mA 24mA 5.4ns@3.3V,50pF 74LVC Schmitt trigger Unidirectional SOT-363 Buffers, Drivers, Receivers, Transceivers ROHSTECH PUBLICBuffers, Drivers, Receivers, TransceiversESP32-PICO-D4
QFN-48-EP(7x7)-40℃~+85℃ -97dBm 150Mbps 2.412GHz~2.484GHz 2.4GHz 2.7V~3.6V 20dBm Bluetooth、WiFi SPI、I2C transceiver QFN-48-EP(7x7) RF Transceiver ICs ROHSEspressif SystemsRF Transceiver ICsAP2112K-3.3
SOT253.3V 600mA CMOS Low Dropout Linear Regulator with EnableDiodes IncorporatedUncategorised
README
README.mdPixelvation enables people to create high-quality LED art using open source tools
This GitHub repository is the current home of Pixelvation and will be updated whenever there's some significant new development. To get notified on significant new developments, set up an alert on new releases here, or follow @PixelvationRGB on Twitter.
I'll set up a forum or Discord server at some point, but for now, feel free to open a GitHub Issue, or post to SmartMatrix Community if you have any questions or want to discuss anything.
Open Source Early
I've released several open source products, where the open source files were published after the product was designed, manufactured, and at a distributor ready to purchase. With my latest crowdfunded product I realized how much time I had spent on marketing and logistics while prepping for and running the campaign - work I really dislike - relative to the creative and technical work that I really enjoy. I also really enjoy sharing my projects and collaborating with other people, but releasing the product through a crowdfunding campaign delayed the start of fully sharing my project details and collaborating with other people by months.
With Pixelvation, I'm trying a new approach to sharing my projects: releasing projects as open source early on - well before I even have plans to release a project as a product - and making it easy for people to source the hardware themselves. I'm designing my projects around components that are available from JLCPCB's SMT Library whenever possible, so if you want to try one of the hardware designs you just place an order with JLCPCB for 5+ pieces of assembled PCBs, and they'll be manufactured and shipped for a very reasonable price in under a week.
I'm releasing work-in-progress designs under a CC BY-NC-SA license. Usually I don't release my designs with a "-NC" Non-Commercial license, and after the design is further along and ready for sale I'll change the license to CC BY-SA. I'm conflicted about this and may change my mind later as designs released "-NC" aren't truly open source, but for now I'm being conservative and keeping the "-NC".
Pixelvation Engine
The first tool in development now is the Pixelvation Engine, a small board dedicated to receiving a single stream of LED data via serial, and driving a lot of LEDs with that data. The Engine will support driving HUB75 panels, or addressable LEDs.
![]()
As input, Pixelvation Engine accepts APA102 data at up to 5MHz, with 1-bit serial (like an APA102 LED), or up to 8-bit parallel. The 1-bit serial input and CLK are buffered to accept up to 5V signals, but the remaining 7-bits parallel data must be driven at 3.3V only.
Pixelvation Engine has 16 outputs buffered to 5V levels, and an extra 3.3V output. The outputs are arranged around the pinout of a HUB75 panel, so the board can be plugged into a HUB75 panel directly. To instead drive up to 16 channels of addressable LEDs, Pixelvation Engine needs to be plugged into a simple breakout board. Generic breakout boards will be designed and released in the future, but you can also design your own project-specific breakout board with space for the Pixelvation Engine, and the form factor and LED connectors your project actually needs.
Pixelvation Engine is based around the ESP32, which has enough RAM, CPU power, and DMA functionality to deal with a lot of LED data, and some unique I2S peripherals that allow for receiving a fast stream of serial or parallel LED data as input, and setting up another stream of parallel LED data as output.
To program Pixelvation Engine you need a USB-Serial adapter. This functionality was purposely left off the board to save space and cost, and ideally these features are only needed when setting up a project. The programming pins on the input side were designed around the ESP-01 pinout, so cheap ESP-01 programmers can be used. Specifically this ESP-01 programmer (cheaper on Aliexpress) has the most functionality and is the easiest to use on its own, is widely available, and with a couple jumper wires added becomes even more functional.
![]()
Status
Currently Pixelvation Engine has been tested driving HUB75 panels up to 64x64 pixels, with APA102 input sources from Pixelblaze (V1-V3), WLED's sound reactive fork compiled with APA102 output and running on an ESP32 Dev board, and a Fadecandy-inspired USB to APA102 output board currently in development.
Pixelvation Engine uses SmartMatrix Library 4.0's ESP32 support for driving HUB75 panels, and is able to drive a 64x64 HUB75 panel with 36-bit color, at 240Hz. It's possible to drive a 128x64 HUB75 panel with the same color settings, but it requires additional hardware outside the Pixelvation Engine (this is being prototyped now).
The addressable LED output functionality hasn't been tested yet.
The I2S Input code has some room for improvement, as it's very inefficient with memory right now, and can't keep up with a 4MHz 1-bit serial input when driving a 64x64 pixel output, but this is fixable.
![]()
Click to watch demo video on Vimeo
I ordered hardware version V0.1 assembled from JLCPCB (10 pieces ~$70 plus shipping), and out of eight boards that I functionally tested, seven of them were working, and one has an undiagnosed problem. The solder pad under the ESP32 should be using a smaller squares for solder paste instead of the one large square it's currently using, as the large square can lead to problems. I don't plan on making any major changes to the pinout or functionality of the board at this point, but I may move to a 4-layer board, and shrink the board width by 0.1"/0.2" if possible.
More Details
The hardware is posted in Hardware/Pixelvation Engine, The Arduino sketch to drive HUB75 panels is in a separate repo and more details are in the Wiki.
About Pixelvation
I (Louis Beaudoin) created the open source SmartMatrix Library and SmartMatrix/SmartLED Shields for Teensy in 2014 under the name Pixelmatix and have been improving those projects ever since. I thought a new brandname was appropriate for this series of new projects with a focus on both addressable LEDs and HUB75 LED matrix panels, and a focus on creating innovative tools for LED art.
Parts
30| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 0.1uF | Capacitor_SMD:C_0603_1608Metric | C2, C4, C6, C7, C8, C9 |
| 3 | 10uF | Capacitor_SMD:C_0805_2012Metric | C1, C3, C5 |
| 2 | 10k | Resistor_SMD:R_0603_1608Metric | R4, R5 |
| 2 | 74HC245 | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U5, U6 |
| 2 | 74LVC2G17 | Package_TO_SOT_SMD:SOT-363_SC-70-6 | U1, U2 |
| 2 | SolderJumper_2_Bridged | Jumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mm | JP1, JP2 |
| 1 | 0 | Resistor_SMD:R_0603_1608Metric | R2 |
| 1 | 100 | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U3 |
| 1 | Conn_01x04 | Connector_Harwin:Harwin_M20-89004xx_1x04_P2.54mm_Horizontal | J1 |
| 1 | Conn_01x04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | Conn_02x10_Odd_Even | Connector_PinSocket_2.54mm:PinSocket_2x10_P2.54mm_Vertical | J16 |
| 1 | Conn_02x10_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_Vertical_SMD | J11 |
| 1 | Conn_02x10_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_Vertical | J6 |
| 1 | Conn_02x10_Odd_Even | Connector_PinSocket_2.54mm:PinSocket_2x10_P2.54mm_Vertical_SMD | J15 |
| 1 | D | Diode_SMD:D_SOD-123F | D1 |
| 1 | ESP32-PICO-D4 | Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.45x5.45mm | U4 |
| 1 | LED | LED_SMD:LED_0805_2012Metric | D2 |
Questions
How big is the PixelvationEngine V01 PCB?
It measures 36.8 × 27.9 mm and has 2 copper layers, 1.6 mm thick.
What parts does the PixelvationEngine V01 use?
30 parts, built around the 74HC245D, 74LVC2G17GW, ESP32-PICO-D4 and AP2112K-3.3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the PixelvationEngine V01 KiCad files?
From the Pixelvation/Pixelvation repository on GitHub, at the commit this page was made from: the board is Hardware/Pixelvation Engine/PixelvationEngine_V01.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the PixelvationEngine V01 design in my own project?
Its repository states no licence, so its author keeps all rights: ask Pixelvation before reusing the design.
Similar boards
- 2 layers77 × 70.5 mm

- 2 layers312.5 × 122.3 mm

- 2 layers192.4 × 50 mm

- 2 layers17.8 × 33 mm

ProMicro ESP32
clayton13/ProMicro
collection of various PCBs fitting the Sparkfun ProMicro and Arduino ProMini
20 parts - 4 layers62.2 × 43.3 mm

- 8 layers50 × 50 mm

Omodri laas
open-dynamic-robot-initiative/open-motor-driver-initiative
Open-source drive for brushless motors, following the open dynamic robot initiative
265 parts122BSD-3-Clause - 2 layers65 × 74 mm

- 4 layers47 × 39.5 mm

Stealthburner Toolhead PCB
acha666/RP2040_ToolheadPCB_SB
A Toolhead PCB for VORON StealthBurner based on RP2040
145 parts43GPL-3.0