Fripuck devlog n°3: Meeting the professors
from Léonard Urban
Over the last two months, I was busy with my exam sessions and wasn’t able to make as much progress as I would have liked. However, I did start planning a smarter serialization approach for sensor data. Currently, all samples are packed one after another, which causes FlatBuffers to use too much RAM. The core idea is to track how much data has been packed so far and use a priority system to decide which packets get packed first. I don’t have much to show yet, though.
During that time, I also met with my professors to discuss the project, which forced me to clarify what I want to achieve with Fripuck. I identified four key improvements I could bring:
- Data analysis
- Networking
- Asynchronous API
- On-board programming

Data Analysis
The current API and firmware for the robot focus on real-time data, and it is up to the user to store and analyze it. My goal is to allow the firmware to save multiple data points in batches and send them at once, providing higher time resolution. The API would then store this historical data, allowing users to query it.
Improved Networking
A major annoyance when working with the robot is unstable networking. When 10 students work simultaneously on 10 different robots, the network can fail. The new API should be able to reconnect the robot as quickly as possible to avoid disrupting the user.

Asynchronous API
This is another step toward improving time resolution. Currently, the Python API used to communicate with the robot relies on a single .go_on() call that sends instructions and waits for sampled data. This causes the program to spend most of its time waiting for a network response, making the robot feel unresponsive. My goal is to make data exchange happen in the background so it doesn’t interfere with the user’s code. I also want to decouple the sending and receiving of data.
On-board Robotics
Currently, the robot can only be controlled remotely, or the user must modify the robot’s firmware (which is not suitable for the target audience). I would like to add a small on-board interpreter, likely using Lua (since it is lightweight and easy to embed), to configure the robot and execute simple commands. This would allow users to change robot-specific features without recompiling the firmware or let students test latency when running scripts on-board or over the network.
Going Forward
This summer, I’ll have plenty of time to work on this project and, hopefully, complete 80% of it. Right now, the most urgent tasks are to configure my new OS (I distro-hopped to openSUSE) and create a roadmap of the features I need to implement. On the academic side, I need to identify measurable goals to evaluate the success of my project.

La descente vers le bord du lac.
Le départ du quai près de l'Auberge de jeunesse de Montreux
Le port de Territet
Le Contre Temps, hors-saison et dans l'attente de la saison estivale
Le pêcheur
L'appel du large ou la joie espérée du pêcheur
Que serait Montreux sans ses palmiers et la promesse d'un doux séjour?
Piscator lacustrus. Labubu des Espaces
« Pour une cause pure avec une épée pure »
Un dernier coup d’œil sur les quais.


Repassage dans l’établissement de Hindelbank (BE), vers 1928 (Archiv der Justizvollzugsanstalt Hindelbank).