This project can be be applied to many projects. Our prototype has been in scarves. These can also go in all sorts of other places:
- Wearables such as scarves and hats.
- Bike safety helmet.
- Bike lights.
The thing that makes this project unique is the swarm. We're working to establish a way for multiple projects to communicate so that you can sync up animations with friends or even strangers.
Cheap simple hardware that can be put together in a robust and ad-hoc way to keep you safe for nights of partying, or bicycling. Keep your friends all in a group with a synchronized mobile light show.
These are some of the materials we've used to build our own. You can pretty much bank on them workin for your project.
- portable battery packs, not a bad idea to have two. These are small enough to fit inside of a fuzzy scarf, and they don't turn off on you. You can get a few hours out of one of these... Depends on the animation you run.
- fabric
- arduino nanos
- led strips
- usb cables
- rotary encoder
- wire
If you'd like to submit a bug, go ahead and use the issue tracker.
If you'd like to make submit a feature or a fix.
- Open an issue to get buy in.
- Fork the repo.
- Make your changes.
- Submit a pull request.
Things you might be missing.
- edit using VSCode with PlatformIO plugin
- OpenOCD some USB stuff
brew install openocd
(or elsedyld: Library not loaded: /usr/local/opt/libftdi/lib/libftdi1.2.dylib
)
First make sure you can upload a basic sketch.
- Download these drivers if you have not: [Espressif USB Drivers](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers]
- Use the arduino IDE and add the repo
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
in the preferences for installing boards. - Install esptool
brew install esptool
- In the boards manager install the latest
espressif
boards. - Select the
ESP32 Dev Kit
as your target board. - Change upload rate to 921600
- Your port should reference UART
/dev/cu.SLAB_USBtoUART
- Run the following example Blink.
int LED_BUILTIN = 2;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
If you have a flashing blue LED you're in business.
- Ifdef might be able to tap into env vars to contitionally include.