PIXO Pixel is a 16 x 16 RGB LED display that runs off of an ESP32
Go to file
2018-07-05 03:00:44 -05:00
CAD added dxf files of boards 2018-06-28 19:55:23 -04:00
Cases/Minimalist_Case Added Case directory with a 3D printable case 2018-06-23 14:45:22 -05:00
FIRMWARE Programs added 2018-06-21 08:17:27 -04:00
PCB updated BOM and small fixes 2018-06-21 08:20:09 -04:00
pixoTester changed led pad layout 2018-05-12 11:37:46 -04:00
PYTHON New Firmware and Python Script 2018-02-13 20:32:00 -05:00
.gitignore Initial commit 2018-01-18 11:08:35 -05:00
LICENSE Initial commit 2018-01-18 11:08:35 -05:00
README.md Add instructions for patching i2cdev and mpu6050 2018-07-05 03:00:44 -05:00

The PIXO Pixel

PIXO Pixel is a 16 x 16 RGB LED display that runs off of an ESP32. This project is open source! You can find the Bill of Materials here on FindChips.

I have submitted a pull request to the Arduino-ESP32 github: https://github.com/espressif/arduino-esp32 to have the PIXO Pixel have its own board file. This will ensure the pinout that was used will match the pin declartion on the board. In the meantime, please use the "Adafruit Feather ESP32" in the board manager, as the pinout is the same.

Flashing Firmware Instructions

  1. You need to have the current version of the Arduino IDE installed
  2. Ensure that you have the Arduino ESP32 Boards installed (This library is currently broken, a workaround has been found Here)
  3. Various other libraries are required for the example firmware; they are listed below under "Libraries used in Example Firmware"
  4. Connect your pixo pixel to your computer and start Arduino
  5. Under the "Tools" menu, select "Board->Adafruit ESP32 Feather"; Leave Flash frequency and Upload speed the default
  6. Under Port, select your pixo
  7. Compile and upload
  8. When the Arduino console says "Connecting....", press and release both the boot and reset buttons simultaniously
  9. You should start to see output about flashing
  10. When the flash is complete, press the reset button on the pixo to start your new firmware

Here is a video of Sean going into detail demonstrating some of the examples

Libraries used in Example Firmware

Install these to your sketchbook's libraries folder, usually located in YOUR HOME/Documents/Arduino

Note Arduino IDE was complaining about i2cdevlib being invalid as the installation instructions are a bit unclear. It seems that the ESP32 is not officially supported for use with these libraries, and I had to apply a patch (#367) to get no compile errors.

Patching I2Cdev and MPU6050 Libraries

  1. Download i2cdevlib and extract the zip file
  2. Inside the i2cdevlib/Arduino, copy I2Cdev and MPU6050 folders to your libraries folder
  3. Edit I2Cdev/I2Cdev.cpp, and immedietly under #include "I2Cdev.h", add the following
#ifdef ARDUINO_ARCH_ESP32
#define BUFFER_LENGTH I2C_BUFFER_LENGTH
#endif
  1. Edit MPU6050/MPU6050_6Axis_MotionApps20.h and add the following right above the DEBUG section
#ifndef ARDUINO_ARCH_ESP32
    typedef void prog_void;
    typedef char prog_char;
    typedef unsigned char prog_uchar;
    typedef int8_t prog_int8_t;
    typedef uint8_t prog_uint8_t;
    typedef int16_t prog_int16_t;
    typedef uint16_t prog_uint16_t;
    typedef int32_t prog_int32_t;
    typedef uint32_t prog_uint32_t;
#endif
  1. Restart Arduino

There's a whole bunch of other commits in here, but this seems mostly to be a mix of: feature adding, bug fixing, and various other changes that may or may not be related. Feel free to experiment with these at your own discretion.

Kickstarter - Success

This was a Make100 Kickstarter that was recently fulfilled

Kickstarter Vid

Completion Video