Musical/visual/dance performance of Borut Kržišnik's new album, Utopia, with Ryuzo Fukohara dancing and triggering / modulating sounds and projections by Simon Svetlik.
 
 
 
 
 
 
Go to file
Jurij Podgoršek e9df3c13ae Sprejemnik2 [test] 2024-09-26 15:30:24 +02:00
AHRSensor Kotni vektorji, kup popravkov 2024-09-26 15:04:21 +02:00
boards
doc
lib RTIMUlib sketches (not used) 2024-09-26 15:29:48 +02:00
linux-receiver Popravki linux sprejemnika 2024-09-26 15:04:46 +02:00
src Sprejemnik2 [test] 2024-09-26 15:30:24 +02:00
.gitignore
LICENSE
README.org
build.sh
dokumentacija.jpg
flash.sh
guix-shell.sh
init.sh
monitor.sh
package.json
platformio.ini RTIMUlib sketches (not used) 2024-09-26 15:29:48 +02:00
requirements.txt
utopia.scd

README.org

C2 - utopia

Musical/visual/dance performance of Borut Kržišnik's new album, Utopia, with Ryuzo Fukohara dancing and triggering / modulating sounds and projections by Simon Svetlik.

We plan to plant 5-6 sensors on Ryuzo, the IMU signals will be converted into MIDI for Borut in Simon.

Code

Arduino sensor

Arduino code that reads linear acceleration, sensor fused quaternion orientation data and the battery voltage on an ESP32S3 connected to an Adafruit BNO055 orientation sensor.

NOTE: you have to set the sensor ID via source! And the receiver's mac address. Linux monitor mode can receive packages pointed to other mac addresses though.

Arduino source (adafruit BNO055 on ESP32S3) Arduino source (adafruit BNO055 on an OlimexESP32S3)

Arduino receiver

Arduino source (ESP32S3 receiver) This may be simpler since it doesn't depend on the wifi card used, but the max rate seems to be about 160 packets per second.

Linux receiver

You need a wifi card that supports monitor mode for this. Two scripts are provided to turn monitor mode on/off; monitor_on.sh and monitor_off.sh. Run the receiver with pozeni.sh, the receiver's code in C can be found in main.c.

This way, around 700-800 packets can be received in a second. Also OSC packages are sent directly to supercollider, bypassing the SLIP decoder.

Supercollider receiver code

SLIPDecoder source

Library for decoding SLIP encoded OSC data via serial USB directly into supercollider. SLIPDecoder source

Microcontrollers

LilyGo ESP32-S3

https://www.lilygo.cc/products/t7-s3 Pinout

Sometimes doesn't want to flash; hold BOOT button and click RESET to enter flash mode. cnmat/OSC SlipEncodedSerial needed a modification; constructor argument typecast to HWCDC.

Should be compiled with -DARDUINO_USB_CDC_ON_BOOT=1 to enable USB CDC.

Olimex ESP32-S2-DevKit-Lipo-USB microcontroller

Sensor (Adafruit BNO055)

Materials

raw documentation

We also need some velcro and elastic tape to make sensors easily mountable and protoboards to hold it all together compactly designed 3d printed cases.

And a charging station for batteries (TODO).