Remix.run Logo
chipweinberger 2 days 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 2 days ago | parent | next [-]

This seems like an incredibly large codebase. Did you use an existing RTOS or something similar for this product, or was this all hand rolled?

bonzini 2 days ago | parent | prev | next [-]

What is the manufacturing tooling that you mention?

chipweinberger 2 days ago | parent [-]

3 main components: flashing, provisioning keys, hardware testing.

Nearly every component gets tested: sdcard, clock, battery, anti-counterfeit IC, led, buzzer, the tactile-switch!

junon 2 days ago | parent | prev [-]

Yeesh, please tell me you didn't write all of that yourself. Which uC is it targeting, and which language?

cazum 2 days ago | parent [-]

From 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 2 days ago | parent [-]

These numbers do not include ESP-IDF :)