Skip to content

RP2040 project to act as a driver for WS2812 LEDs for a roboRIO

License

Notifications You must be signed in to change notification settings

Tricopetaurus/glow-worm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glow Worm

Overview

WIP: This Is Currently In Development!

The goal of this project is to create a simple interface for a roboRIO to drive a string of WS2812 LEDs.

The RP2040 will accept commands from the RIO, and from there turn on a pre-configured set of LEDs.

graph TD;
    rio[roboRIO]
    rp[RP2040]
    vrm[VRM]
    led[WS2812B]
    
    rio-- UART -->rp
    vrm-- 5V -->rp
    vrm-- 5V -->led
    rp-- PWM -->led
Loading

Build

  • Install and setup pico-sdk
  • Set the PICO_SDK_PATH to match, see pico-sdk repo above
  • Create a build folder, run cmake, then run make
$ mkdir build
$ cd build
$ cmake ../
$ make

In the future, you can skip ahead to the make command when you have code changes.

Afterward, within the build/src folder, use the .uf2 file for programming

Programming The RP2040

  • Hold the BOOTSEL button on the off RP2040
  • Plug the RP2040 in to the computer via USB while holding BOOTSEL
  • Release BOOTSEL
  • After a moment, it will show up as a storage device.
  • Copy the .uf2 file to the storage device

The RP2040 will reboot, starting code

TODO

  • Verify 3.3v is enough to reach a logical high for WS2812
  • Create control interface between RP2040 and RIO
  • Create a list of patterns for the RP2040 to output

Credits

Thanks to MrYsLab's NeoPixelConnect library, which has been copied here with minor modifications to make it non-specific to Arduino.

About

RP2040 project to act as a driver for WS2812 LEDs for a roboRIO

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published