Skip to content

💫Spice up your desk set-up with circuitpython!💫

License

Notifications You must be signed in to change notification settings

porplax/jellyfish-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oh look, a jellyfish

jellyfish.

ambient lighting on your desktop using neopixels!

Status GitHub commit activity GitHub Issues or Pull Requests

IMG_1036-ezgif com-speed


💫about this project💫

Wanted to⭐spice up your setup?⭐ Jellyfish reacts to what's on your monitor and controls Neopixels to copy what's on it. In other words, it's ambient lighting.

It does this via Neobridge. It lets your PC to communicate to a circuitpython board. Sends RGB data and tells the board to control the Neopixels connected to the board.

🖋️getting started🖋️

DIY supplies

Jellyfish is a DIY project. All you need is a circuitpython board, few wires, and a neopixel LED strip (i don't know if other LEDs can work, this is just from experience).

getting things right

If you really wanna get things right, it is essential to have the right size LED for your desk setup. Here was my setup.

Other boards should work with serial, but they must be circuitpython.

prerequisites

Before you can run the jellyfish program, you'll need a circuitpython board to run Neobridge.

If you have a RPI Pico/RPI Pico W board, you can use the automated installer on windows.

If you have another board or want to do manual installation, here are the instructions:

  • Download a Circuitpython 8.x/9.x .UF2 file, the library bundle and code.py.
  • Flash the Circuitpython 8.x/9.x .UF2 file onto your board.
  • Move neopixel.mpy from the bundle to \lib.
  • Modify code.py by changing the pinout, number of pixels, and order.
  • Make sure it is running and will run each bootup.

installing the project

Supported platforms

  • Windows 10 and up

Download jellyfish-rs.exe into a suitable location.

🚥usage🚥

./jellyfish-rs.exe [OPTIONS] --monitor <MONITOR> <N_OF_LEDS>

arguments:

  • -m, --monitor <MONITOR> - Which monitor to capture from
  • <N_OF_LEDS> - Number of LEDS on the strip

options:

  • -d, --depth <DEPTH> - How many colors to capture (less is more accurate, higher is more ambient)
  • -r, --refresh-rate <REFRESH_RATE> - FPS of capture
  • -p, --port <PORT> - Port of board

example: (30 LEDs, depth of 16, FPS set to 165)

./jellyfish-rs.exe --monitor 0 30 --depth 16 --refresh-rate 165

📃to-do list📃

  • Automated installation script for circuitpython.
  • Contribution section.
  • Detailed step-by-step tutorial with pictures.

those involved

See also the list of contributors who participated in this project.

crates used