Creating a presentation control ring with a TinyS3, C++ and TinyML
BLE-Communication | ||
IMU-BLE-Communication/BLE_IMU_comms.ino | ||
Ringinator | ||
.gitignore | ||
LICENSE | ||
README.md |
Ringinator
The repository for my 3D-printed ring-shaped motion-control presentation control and pointer device written in C++ and TinyML and implemented with a TinyS3 microcontroller. The Bachelor thesis is written in Typst.
Goals
The goal is to develop a prototype device shaped like a ring that can be used to control presentations and as a laser pointer using only motion controls.
- Maximum compactness Everything needs to be small, the software should be minimalistic (ideally as much processing on the TinyS3 as possible)
- Wirelessness
Planned commands:
Shaking your hand while pointing at the screen | Shaking your hand while pointing down | Pushing your finger towards or away from the screen | swiping your hand left and right | circling with your finger (counter-)clockwise | WIP | |
---|---|---|---|---|---|---|
Activating the laser/computermouse mode | Disabling the laser/computermouse mode | left and right clicking | changing the volume | changing the slides forwards and backwards | pointing your figer up for 2 seconds |
My goal is to work on my bachelor thesis every day 18:00 and when I'm in the library at the university
Project roadmap
- April: Hardware & Networking
- Creating a Typst template for bachelor theses at the UHH
- Creating the model for the ring
- Wiring the components together
- Soldering the components together
- Creating the hull containing the components
- Establishing a connection between the TinyS3 and the PC
- Write the first chapters (State of the art and goals)
- May: Software:
- IMU-Visualization
- Sensor-fusion
- Driver
- Setting up TinyML
- June: Training and evaluating the models
To-Dos this week
- Write the summaries of the 8 state of the art papers in the State of the Art chapter
- Write the sources for the TinyML tutorials in the introduction
- Establish bidirectional Bluetooth communication and visualize the output from the ESP32
- Solder the headers onto the TinyS3