June 16, 2025
Fixed up the referee scoring logic, each referee reports their scores to the MMS and is then broadcasted by the server
Today I added an example for controlling a MechaLeague Robot with RemoteXY, with this simple example you connect to the robot via BLE with the RemoteXY app and send 2 joystick positions which are then logged over serial, a simple proof of concept for controlling the robot.
I got started working on the Comms and Networking parts of MechaLib to automatically connect to the field, i'm also working on implementing DEV mode which is simply activated by shorting GND with GPIO15 upon power-up
Today i got started with the RobotState logic so the robot automatically knows which method to call
Today I have been dealing with this super annoying error 😭 basically it's the xtensa-esp32-elf-g++ compiler throwing a tantrum because it doesn't play nice with Bluepad32, sadly I'm considering removing this library (quote-unquote because it's not really a library, it's a repackage of the Arduino core with the Bluepad32 code) since it complicates the process of installing MechaLib, compiling it and adds a ton of flash overhead (54% on an empty project 💀)
Today I started working with the main robot lifecycle logic, after this i plan to continue with the Logger, making it more adaptable and then moving on to the communication protocol
MECHALEAGUE MAKES IT'S COMEBACK! Since last summer (High Seas) I had been working on my project: MechaLeague, The robotics competition for everyone. Since then i have been working developing the challenge for the 2025 season: Chemistry Quest. I designed the field, and I am in progress of writing the Match Management System, MechaLib (Software library for the Robot Controller) and along with my FRC team we are realizing this project with the help of our state's Institute of Youth. :D
WE FINALLY HAVE A WORKING PROTOTYPE!!! SPOTIDRY IS NOW ABLE TO QUERY AND DOWNLOAD TRACKS, PLAYLISTS AND ALBUMS, downloads are done on a separate thread pool so the UI stays smooth, but it doesn't update, that's the next step
IT WORKS, IT FINALLY WORKS!!!! after some digging i found out the mapper and device files are actually not found in the documents folder but rather the appdata folder, so after some XML mapping and VDJScript i was finally able to map the MIDI messages sent from the DECK MIX to the faders inside VDJ
At this point in time Spotidry is not able to download songs yet, since i have been focusing a lot more in the UI/UX, right now, it can query a playlist OR an album (not track yet, or artists probably ever) and display the contents of it in a list, you can choose a folder from within the UI and the topbar is integrated with the python backend, I do have to say, building apps with a python backend, webview window manager and React on the front end does get complicated fast since you're tying up very different technologies but it's a lot of fun and yields a beautiful result, also it allows for the best of both worlds, especially React UIs, lets you make them real juicy and interactive
After some time I got the authentication working for the Waka/Hackatime API, i had to modify the kv/config storage system and a little bit of the UI (which i was VERY SURPRISED was actually written in React for Roblox 💀(i needed this)) and a bit of the logic too to add support for both the custom API endpoint and the debug mode! I do gotta say it was kinda hard to understand since i had never worked with Roblox plugins but it looks pretty intuitive!
Freeze dry your Spotify library 🥶 Spotidry is a Spotify music downloader
A fork of the roblox-studio-wakatime plugin that allows for a custom API endpoint, allowing the use of Hackatime :D
THE DEVICE FINALLY REGISTERS!!!!!!!!!!
Referee UI is coming together, added dark mode and the server finally propagates scores to clients correctly when updated :D
A robotics competition built from scratch with accessible components and easy to understand resources, made to be as easy to get into and succeed as possible.
After a loooot of research and time (way more than logged here) 😭Finally got my Pi Pico to cooperate with VirtualDJ
The open source, modular, expandable DJ controller
Building the referee controls rn, made a mini overlay-type bar for the scores
Started working on the referee controls, i got the logic for the form down, data is sent to the server successfully on change
So i'm like 90% done with the overlay design, i added an option for an alternate language and for the overlay position to be on the top or bottom
MechaLeague MMS - Match Management System for MechaLeague Tournaments
I DESIGNED A CASE! I think it turned out beautiful, I wanted it to look kinda like a Limelight but ˢᵐᵒˡ, IT WAS SO HARD TO DESIGN, my onshape sketch had like 200 dimensions and i did not know what anything was but it was all worth it
After going TO LITERAL HELL AND BACK (actually), trying to make Raspberry Pi OS, Python, Flask, OpenCV, Picamera2 and robotpy play nicely with each other, I FINALLY GOT MY RASPBERRY PI ZERO 2W TO STREAM LIVE VIDEO DETECTING AN APRILTAG (this is huge), Now i plan to make a very simple Web UI to calibrate the camera and calculate the pose using robotpy
Apriltag localization for MechaLeague and small robots. MechaTag is a smart camera and software suite based on the Raspberry Pi Zero 2w, made to localize MechaLeague robots on the field
This was widely regarded as a great move by everyone.