This demonstrates the use of an ESP32-S3 Feather microcontroller and a BNO055 sensor. The ESP32 reads data from the BNO055 sensor and sends it via OSC, integrating Puara's basic-template. The IMU data is also displayed on its TFT screen.
-
Clone the repository:
git clone https://github.com/Puara/magic-wand.git
-
Install requirements: PlatformIO + Wokwi CLIs / VSCode extensions
-
Open as PlatformIO project: Build, upload, and monitor results.
-
Output: Monitor the output on the TFT screen and the serial output using PlatformIO with the monitor option.
or the simulation with Wokwi, by running the diagram.json (this is a WIP)
-
Connect to the device
On startup, the device should broadcast its own WiFi access point named "(device name)_(device id)", as specified in the config.json file. The default name for this access point should appear as MagicWand_001 and the password can be set in the config file.
-
Connect the device to your own WiFi network (Optional)
Once connected to the access point, a web interface can be accessed at the address MagicWand_001.local or by typing in the device's IP address. On this page, enter your SSID and network password and reboot the device. If done correctly, the IP address on the screen should change.
-
Add output IP address
The device's web interface also allows specifying up to 2 output addresses and ports.
Initial calibration
When booting, the device calibrates to its current orientation. If recalibration of the horizontal axis is needed, a pulse can be sent to the OSC adress /reCalibrate.
This project is licensed under the MIT License. See the LICENSE file for details.