Giter Club home page Giter Club logo

starpusher's Introduction

Starpusher

Starshield

A Starpusher controls 4 x strips of APA102 LEDs (up to 420 LEDs per strip), taking LED information via UDP ethernet packets. We've tested it to run 4 x 420 LED strips at 60FPS with no glitches.

A Starpush comprises a WT32 ETH01 with a custom-designed Starshield. The Starshield has a DIP switch that configures the Static IP address a given Starpusher uses and has headers for 4 LED strips.

See the comments in main/starpusher.c for a codebase guide.

Development Environment

Starshield code is built using the esp-idf toolchain.

  1. Follow the steps in the Standard Toolchain Setup Guide,
  2. Activate the esp-idf environment in a terminal (typically $ get_idf after following the setup guide,
  3. Build the codebase $ idf.py build,
  4. Connect your Starshield PCB to a WT32 ETH01 base board,
  5. Connect a USB UART to the UART header on the Starshield,
  6. Flash the Starpusher code onto the WT32 ETH01 by running $ idf.py -p /dev/ttyUSB0 flash
  7. Monitor the WT32 ETH01's logs by running $ idf.py -p /dev/ttyUSB0 monitor

REQUIRED: Configuring a new WT32 ETH01 for Starshield use

By default, on bootup, an ESP32 uses the value of pin IO12 to determine SPI Flash chip voltage. It has an internal pull-down so defaults to low (3.3V flash chip). If held high during bootup, then ESP32 treats Flash Chip voltage as 1.8V.

On our board we have a pull-up on IO12 since it's used to set the device ID via dip switch. The fix is to blow an eFuse on the ESP32 that fixes Flash chip voltage to 3.3v.

Do the following:

  1. Set all dip switches on the ON position (this pulls IO12 low so it will actually boot),
  2. Run the following command to permanently burn the eFuse governing flash voltage so it's forced to 3.3V
    $ espefuse.py --do-not-confirm --port /dev/ttyUSBx set_flash_voltage 3.3V
    Replacing /dev/ttyUSBx with the port of your USB tty.

Starshield

Schematics, gerber, BOM, and pick-and-place data for the Starshield V2 is in the starshield sub-folder.

Board Overview

Starshield Naked

UART

The WT32 ETH01 that the Starshield sits sits on can be progammed via a USB UART (all development was done with a DSD TECH SH-U09C5) which has RTS and DTR pins so that ESP-IDF can program the ESP32 without having to manually fiddle with jumpers / manual resets.

Starshield UART

starpusher's People

Contributors

brotchie avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

starpusher's Issues

Add rainbow chase pattern for device id 14

Device id 15 is all white output, set device id 14 to be a 60 FPS rainbow chase to test changing pixel values.

When debugging attached LED strips it's valuable to see how they handle all-white at full intensity, but also how they handle full brightness patterns changing at a high rate with every pixel lit.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.