Replies: 2 comments 10 replies
-
@intaker Thanks for sharing your experience with building Ignitron. This is very valuable as it provied feedback to me how I can improve the documentation. I also like the case design your son has made! Regarding your comment of spending a few evenings, I have actually spent a lot of time over the past years into the code to extend it with more functionality and to support more models from Spark. It is really a fun project. I started this before the official pedals for Spark were published and am a bit proud that Ignitron adds more functionality, e.g. around custom presets, controlling external apps via BLE keyboard etc. I hope everything works fine for you now. Does the AMP mode work now for you? |
Beta Was this translation helpful? Give feedback.
-
Getting some logs.
Was not able to crash the amp yet. Will try later more |
Beta Was this translation helpful? Give feedback.
-
First of all, I really appreciate your the time and efforts put on Ignitron. By having a high school boy with Spark Mini amp who was 3D printing a foot lever to turn the amp mode dial, I've decided to give a go and this post is to share the experience and progress.
I do have experience with Arduino but it was first time with ESP32 and it was a good experience overall. A couple of late nights are good, isn't it?
Purchased some parts from Aliexpress. Mostly same but chose a bit bigger OLED as both of us need a special treat to eyes.
ESP32
□ Some of the chips have a bios that does not allow the flash mode 'QIO'. Changing it to 'QOUT' fixed it for all of them.
OLED
Foot Switches purchased
It was first time to use VSCode + PlatformIO so I should say there was a short learning curve about a day(I do IT so pretty comfortable handling IDEs)
When purchased the OLED, did a basic research on display driver and replacing adafruit/Adafruit [email protected] library with adafruit/Adafruit SH110X@^2.1.10 did the trick with the minimum code change.
Basic compile done, uploaded the compiled firmware and I could see the Ignitron logo on the OLED. Great!
It connects to Spark Mini in APP mode nicely. All seems good but always there is a twist.
Challenge 1
By being an Android user, tried to switch BLE to SRL using buttons but it just crashes and restarts. Even changed the code default to SRL but same crash and restart on Spark App connection. Enabled the debug and started to read the logs. The first culprit was error message on SPIFFS mount fail. So... partition... Surely, it was first time to hear SPIFFS so did a bit of reading on ESP32 partitions and file systems. After struggling a bit, found that the cause is SPIFFS partition is not formatted. By checking the E-SPIFFS init code it doesn't have the 'format if fails' flag set. Hacked the library init code to force the initial format. Once it's formatted the error message was gone.
Challenge 2
The mount error is gone but Ignitron was still resetting on BT connection. Paying another attention finds fail on reading default preset. Read the last part of software section where ESP32 Sketch Upload Manager is mentioned. Got Arduino IDE 1.8.x, force to run it with Windows 7 compatible mode(Windows 11 Pro here). Got the add-in installed, loaded the Ignitron.ino and downloaded the
data
folder. It reports all good. Booting Igintron still shows the same error. Started to debug from code level to project level settings. Tested pure SPIFFS code and it just worked fine. Write and read file work both on Arduino IDE and PlatformIO but whatever I do the Ignitron fails to read the file so thought it must be something related with project level. Finally found that it was the partition layout difference between PlatformIO and Arduino IDE as I was not usingnode32s
board. Checked the project and saw Ignitron is usingno_ota.csv
which matches withNo OTA (2MB APP/2MB SPIFF)
setting forESP32 Dev Module
. Only if there was a warning on the instruction. But no blame here. It way my short of knowledge on ESP32 as I said, it was my first try. Actually it was a good chance to understand ESP32 partitioning better.The boy spent some time to design a 3D model of the case, printed it out, then all assembled. I just did all direct spaghetti wire soldering for the sake of time saving for the PCB and part order. We can share the 3D print model if anyone wants.
By having all assembled the boy spent a bit of time to play and seemed pretty happy until.....
He found frequent switching between effects crashes the Spark Mini amp(not Ignitron). Had to hard power reset on the amp when it happens. I may need to flash the debug enabled firmware, hook up to the serial monitor and see what it shows but my gut feeling is that the frequent change screws up the BT communication and it makes the amp crashes.
Anyway here is what we have today and again thanks guys for all you have done on this project. You are AWESOME!
Beta Was this translation helpful? Give feedback.
All reactions