Skip to the content
PCBKitNew board
2 layers36.8 × 27.9 mmPixelvationEngine V01, the printed circuit board in 3D

PixelvationEngine V01

Pixelvation/Pixelvation69

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

4

README

README.md

Pixelvation 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.

Pixelvation Engine Overhead View

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.

Pixelvation Engine Programmer

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.

Pixelvation Engine Demo

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
QtyValueFootprintReferences
60.1uFCapacitor_SMD:C_0603_1608MetricC2, C4, C6, C7, C8, C9
310uFCapacitor_SMD:C_0805_2012MetricC1, C3, C5
210kResistor_SMD:R_0603_1608MetricR4, R5
274HC245Package_SO:TSSOP-20_4.4x6.5mm_P0.65mmU5, U6
274LVC2G17Package_TO_SOT_SMD:SOT-363_SC-70-6U1, U2
2SolderJumper_2_BridgedJumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mmJP1, JP2
10Resistor_SMD:R_0603_1608MetricR2
1100Resistor_SMD:R_0603_1608MetricR3
11kResistor_SMD:R_0603_1608MetricR1
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U3
1Conn_01x04Connector_Harwin:Harwin_M20-89004xx_1x04_P2.54mm_HorizontalJ1
1Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1Conn_02x10_Odd_EvenConnector_PinSocket_2.54mm:PinSocket_2x10_P2.54mm_VerticalJ16
1Conn_02x10_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_Vertical_SMDJ11
1Conn_02x10_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_VerticalJ6
1Conn_02x10_Odd_EvenConnector_PinSocket_2.54mm:PinSocket_2x10_P2.54mm_Vertical_SMDJ15
1DDiode_SMD:D_SOD-123FD1
1ESP32-PICO-D4Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.45x5.45mmU4
1LEDLED_SMD:LED_0805_2012MetricD2

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 mmPanel, the printed circuit board in 3D

    Panel

    brainsmoke/chiral_sphere

    another round thing

    184 parts13
  • 2 layers312.5 × 122.3 mmSHEGO75-V5, the printed circuit board in 3D

    SHEGO75-V5

    Charading/Shego75HE

    My endgame 75% hall effect keyboard

    392 parts75
  • 2 layers192.4 × 50 mmOmote, the printed circuit board in 3D

    Omote

    OMOTE-Community/OMOTE-Hardware

    Open Source Remote - Hardware

    158 parts157GPL-3.0
  • 2 layers17.8 × 33 mmProMicro ESP32, the printed circuit board in 3D

    ProMicro ESP32

    clayton13/ProMicro

    collection of various PCBs fitting the Sparkfun ProMicro and Arduino ProMini

    20 parts
  • 4 layers62.2 × 43.3 mmESP32-Temp, the printed circuit board in 3D

    ESP32-Temp

    pratapkaronde/ESP32Board

    Custom PCB for ESP32-S3-WROOM board

    71 parts
  • 8 layers50 × 50 mmOmodri laas, the printed circuit board in 3D

    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 mmRP2040 MPG and DRO, the printed circuit board in 3D

    RP2040 MPG and DRO

    terjeio/GRBL_MPG_DRO_BoosterPack

    Tiva C BoosterPack for GRBL MPG/DRO

    54 parts46
  • 4 layers47 × 39.5 mmStealthburner Toolhead PCB, the printed circuit board in 3D

    Stealthburner Toolhead PCB

    acha666/RP2040_ToolheadPCB_SB

    A Toolhead PCB for VORON StealthBurner based on RP2040

    145 parts43GPL-3.0