Skip to content

💫Add reactive lighting via NeoPixels to your gaming set-up, at no performance cost.

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

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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💫

NeoPixels is a great way to implement lighting effects of your own. It is easily programmable and cheap to do. So using a strip and a Pi Pico W I had lying around, I made this project.

This project was just a experiment of mines to see if it is possible to add reactive lighting to my monitor and do so without the cost of performance. Feel free to look at the source code to see how I did it.

If you want, you can download it. I've made a lot of optimizations and features into Jellyfish. You can even tune the brightness, or saturation of the colors!

Ever wanted to add extra lighting to your setup? This project is a great way to do so. It uses serial communication to send lighting data from the PC to circuitpython, and rust to process it via the PC.

🧰made with🧰

  • Rust
  • Raspberry Pi
  • Python

crates used

🛠️building🛠️

Before building you must have git and rust installed on your system!

git clone https://github.com/porplax/jellyfish-rs
cd jellyfish-rs
cargo build

Building release profile will not work if /assets from the root directory is not in the same one as the executable.

PS: This was bulit on windows. I am unsure if other operating systems are supported.

🖋️getting started🖋️

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.

You can use other boards, but they must be able to run on circuitpython. Any other firmware that has the NeoPixels library on it can be used, but Neobridge doesn't support that :(

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

gui

  • Download jellyfish-v2.0.0.zip into a suitable location.
  • Extract
  • Simply run the .exe file, and you can start using Jellyfish!

Smartscreen will mistake it for malware. if it does, click run anyway.

Supported platforms

  • Windows 10 and up

📃to-do list📃

  • Automated installation script for circuitpython.
  • Contribution section.
  • Detailed step-by-step tutorial with pictures.
  • Switch to an event-loop driven UI library.
  • 'Run in background' option, I've tried multiple times but it is pretty hard to do atm.
  • Switch to async, instead of using threads

known issues and bugs

There are no known bugs or issues! If you find one, please make an issue.

those involved

  • @porplax, @Localis9 - Creator of the project. (@zaynes_starr on discord), (Localis is just my old acc)

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