7 ms·
The app is about 85K lines: device connectivity, first-time setup, syncing, MIDI playback and visualization, library management, audio/video export, and OTA wor
by chipweinberger 2mo ago
The app is about 85K lines: device connectivity, first-time setup, syncing, MIDI playback and visualization, library management, audio/video export, and OTA workflows.
The firmware is about 110K lines: MIDI recording + streaming, USB, Bluetooth, Wi-Fi, web APIs, storage, OTA updates, diagnostics, security, peripherals, provisioning, and an embedded web interface.
There’s a lot required to make a full-featured product.
- lukeweston1234 2mo agoThis seems like an incredibly large codebase. Did you use an existing RTOS or something similar for this product, or was this all hand rolled?
- junon 2mo agoYeesh, please tell me you didn't write all of that yourself. Which uC is it targeting, and which language?
- cazum 2mo agoFrom the photo in the link it looks like he's using an esp32-s3. I suspect that 110k number might include the ESP-IDF libraries as well as his own code. I've written a fairly feature-complete handheld device based on the esp32-s2 and the codebase is about 9k sloc of the C I've written, but that number explodes to almost 40k sloc if I include the esp-idf's imported libraries.
- chipweinberger 2mo agoThese numbers do not include ESP-IDF :)
- bonzini 2mo agoWhat is the manufacturing tooling that you mention?
- chipweinberger 2mo ago3 main components: flashing, provisioning keys, hardware testing. Nearly every component gets tested: sdcard, clock, battery, anti-counterfeit IC, led, buzzer, the tactile-switch!