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.
[[file:src/main.cpp][Arduino source (adafruit BNO055 on ESP32S3)]]
[[file:src/main.cpp][Arduino source (adafruit BNO055 on an OlimexESP32S3)]]
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; [[file:linux-receiver/monitor_on.sh][monitor_on.sh]] and [[file:linux-receiver/monitor_off.sh][monitor_off.sh]]. Run the receiver with [[file:linux-receiver/pozeni.sh][pozeni.sh]], the receiver's code in C can be found in [[file:linux-receiver/main.c][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.