Reverse engineering · Web · Audio
JamJum JP-1 Studio: reverse engineering a MIDI controller
I decoded the undocumented configuration protocol of a MIDI controller and built my own web app to edit it: pads, knobs, buttons, RGB color and effects.
Juan Javier Ramírez · “Kira”
Communications & Electronics Engineer with 15+ years of hands-on experience. I repair boards down to the component, write ESP32 firmware, build networks and servers, and apply AI without your data leaving the building.
J1 · Projects
Each case covers the problem, my approach, the result and the stack.
Reverse engineering · Web · Audio
I decoded the undocumented configuration protocol of a MIDI controller and built my own web app to edit it: pads, knobs, buttons, RGB color and effects.
Audio · Web
A Python bridge turns any phone or tablet into a mixing console for VoiceMeeter Potato and a control panel for the PC: per-app audio, monitors, windows and more.
Firmware · Hardware · Web
Complete firmware to measure water tanks and cisterns with ultrasound: web dashboard, captive portal, MQTT with Home Assistant, ESP-NOW remote sensors and OTA updates.
AI · Networks & servers
An AI agent in my homelab that decides, based on the content of each message, whether a local or a cloud model processes it. Confidential content never leaves the network.
J2 · How I work
Before changing anything, I measure: voltages, temperatures, signal, logs. Root causes are proven, not guessed.
Every job leaves a report: what I found, the options and what each one costs.
I explain what is going on and what makes sense, in normal words. You decide with the facts.
Your data only leaves your network when it has to, and with your consent. Confidential stays home.
J3 · Two paths
IT infrastructure, IoT and firmware, applied AI or data. I work in English (C1) with teams in any time zone.
Networks and servers, IoT, applied AI, web development and reverse engineering. Remote worldwide; on-site in the Mexico City area.
J4 · Blog
3 min read
A reverse-engineering log of a MIDI controller: USB captures, a wrong hypothesis and the missing piece that made the device accept arbitrary per-pad color.
Toolbox