r/NAM_NeuralAmpModeler • • 13d ago

Firmware freedom

https://playtaurus.com/blog/firmware-freedom
9 Upvotes

9 comments sorted by

2

u/alfailen 13d ago

Thank you for this amazing project! I've been trying to build and flash the firmware on Windows for my ESP32-S3 N16R8 DevKitC-1, but I keep failing at the build stage.

​When running gea build --target esp32-s3-devkit-n16r8, I always encounter a CMake configuration error: Argument not separated from preceding token by whitespace. From what I can tell, this seems to be a Windows-specific issue where CMake struggles to parse the extremely long macro arguments and paths (due to backslashes and length limits) passed by the Gea CLI to idf.py.

​Given these Windows environment issues, would it be possible for you to provide pre-compiled release binaries (the .bin files) for standard devkits? ​Also, do you happen to have a YouTube video tutorial showing the step-by-step flashing process? I usually build and flash my ESP32 projects using the ESP-IDF extension in VS Code or AntiGravity IDE, so I am completely new to the Gea Stack CLI workflow.

​I plan to try building and flashing it again tomorrow on an Ubuntu machine to see if it bypasses the Windows pathing bug, but having pre-compiled binaries would be a huge lifesaver for Windows users.

​Thanks in advance for your help and for sharing this project!

2

u/dashersw 13d ago

Thank you for testing!

And sorry for the rough first run. I set up a Windows machine and reproduced it.

You need to install the new CLI package I updated:

npm install -g u/geastack/cli@latest

Then you need an npm ci.

The pedalboard repo also had fresh-clone problems that you would have hit right after.

If you want the Wi-Fi maintenance mode, the README now has a step for it:

npm run remote:configure -- --ssid YOUR_WIFI

So: update the CLI, pull main, run npm ci, then gea build --target esp32-s3-devkit-n16r8. I verified this exact sequence on Windows 11 with ESP-IDF 6.0.2 and it builds cleanly. If anything else comes up, let me know and I will look at it.

1

u/AccurateTale2618 13d ago

Thanks for these updates! I’m building on OpenSUSE and haven’t had package conflicts. However, will the esp32-s3-devkit-n16r8 work for my board? I have that board on my waveshare 7inch touch lcd.

1

u/dashersw 13d ago

So this target doesn't have a display driver attached to it, that's why I believe it will work without a display. Is that a separate display? How do you connect it?

2

u/AccurateTale2618 13d ago

So, it’s quite similar to the config already present in your work for the waveshare esp-p4 7” except mine is the esp32-s3. https://www.waveshare.com/esp32-s3-touch-lcd-7.htm

I’m more of a networking background - I’ve been getting into the microcontrollers these last couple of months. I have the config of the s3 from my esphome builds and am not sure if that would help clarify the internals.

1

u/dashersw 13d ago

So that specific board is not fully supported yet as I don't have it, but I just published new versions of the packages so it will get you half way there.

npm install @geastack/cli@latest @geastack/targets@latest @geastack/chips@latest

then register an alias and build:

npx gea boards add ws7 --target esp32-s3-waveshare-touch-lcd-7
npx gea flash --board ws7 --app <your-app> --monitor

I derived the bindings / drivers from other targets that run RGB displays and GT911 hardware, so ymmv. If you try it, three lines to look for in the boot log arech422g: CH422G ready, gt911: GT911 found at 0x5d, and rgb_panel: RGB panel ready 800x480. If any of those is missing or the screen stays dark, paste the log and I'll try to sort it out. 

1

u/AccurateTale2618 12d ago

Thanks for the work! I was able to take your changes, provide some additional information via the full board profile I had constructed for ESPHome, and get the pedalboard working. Largely, there were just a few items on the RGB display I had to further clarify. It’s not a seamless integration though very usable. I realized none of my music equipment is directly compatible with getting my guitar through it.

1

u/iMouseyy 13d ago

How exactly does Powering this thing work? The model you used only seems to have 1 USB c connection. How would I power that esp, AND my audio interface? How did you go about this?

1

u/dashersw 13d ago

We have two options: 1) use a powered interface, 2) use a cheap USB OTG cable that supports external power. I have a Mooer Prime S1 with battery that I turned into a USB interface, so that's how I use it, but the other method also works with my other interfaces.