ExpressivePixels/Firmware/RaspberryPi
Harish S. Kulkarni 31251f1b7d Added requirements.txt 2020-12-14 21:42:09 -08:00
..
animate.py Initial commit for supporting Raspberry Pi with Python 2020-12-13 15:48:11 -08:00
animation.py Initial commit for supporting Raspberry Pi with Python 2020-12-13 15:48:11 -08:00
ble_device.py Initial commit for supporting Raspberry Pi with Python 2020-12-13 15:48:11 -08:00
play.sh Initial commit for supporting Raspberry Pi with Python 2020-12-13 15:48:11 -08:00
protocol.py Initial commit for supporting Raspberry Pi with Python 2020-12-13 15:48:11 -08:00
readme.md Initial commit for supporting Raspberry Pi with Python 2020-12-13 15:48:11 -08:00
requirements.txt Added requirements.txt 2020-12-14 21:42:09 -08:00
serial_device.py Initial commit for supporting Raspberry Pi with Python 2020-12-13 15:48:11 -08:00
settings.yaml Initial commit for supporting Raspberry Pi with Python 2020-12-13 15:48:11 -08:00
sparklet.py Initial commit for supporting Raspberry Pi with Python 2020-12-13 15:48:11 -08:00
txt2anim.py Initial commit for supporting Raspberry Pi with Python 2020-12-13 15:48:11 -08:00
win_animate.py Initial commit for supporting Raspberry Pi with Python 2020-12-13 15:48:11 -08:00

readme.md

Expressive Pixels on Raspberry Pi

Python support

Running Expressive Pixels with Raspberry Pi allows you to extend the platform using Python. Please follow the steps below for working with Raspberry Pi.

Hardware

You need the following things for an initial prototype.

  • Raspberry Pi (I haven't yet tested Raspberry Pi Zero. But that should work as well)
  • A WS2811 or other compatible displays with individually addressable LEDs (e.g. Sparklet display
  • TTL Serial Cable (If you find BLE to be buggy and wish to use the serial port)

Raspberry Pi Setup

At this point you should be able to connect to your Raspberri Pi and login. Make sure you have common tools installed like git and Python 3.x.

Wiring

NOTE The Python firmware supports connecting from the Expressive Pixels app using both BLE and Serial ports. The steps below indicate

Please refer to the GPIO pin layout of Raspberry Pi and make the following connections:


Raspberry Pi Pin Connected to
Pin 2 (5V Power) Sparklet Pin 5V
Pin 4 (5V Power) Sparklet Pin EN
Pin 6 (GND) Sparklet Pin GND
Pin 8 (GPIO 14-TXD) TTL cable WHITE
Pin 10 (GPIO 15-RXD) TTL cable GREEN
Pin 12 (GPIO 18-PCM_CLK) Sparklet Pin DATA(D)
Pin 14 (GND) TTL cable BLACK (GND)

NOTE: The TTL cable connections are needed only if you are using the TTL cable. As noted above, BLE is supported, but the serial cable can be helpful in isolating connection issues.

Software

  • On the Raspberry Pi

    • git clone https://github.com/microsoft/ExpressivePixels/
    • cd ExpressivePixels/Firmware/RaspberryPi
    • For BLE connections:
      • sudo python3 sparklet.py ble
    • For serial connections:
      • sudo python3 sparklet.py serial
  • Install the Expressive Pixels app from the Windows Store

  • Run and use the Expressive Pixels app