ESP32-S31 Arduino prebuilds practical? #12692
Replies: 4 comments 1 reply
-
|
You can give it a try if you install Arduino from git, using the |
Beta Was this translation helpful? Give feedback.
-
|
Thank you. I welcome the encouragement. I found instructions at https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#macos I couldn't git branch --list and see the branch once cloned, so I modified the process to: The get.py finished and checked out the needed toolchains, but I don't see a top-level command for building and installing this. I'm not sure if that's a dead end as there's not an obvious Makefile or CMakefile target, so I kept looking. https://docs.espressif.com/projects/arduino-esp32/en/latest/lib_builder.html seems to be a lead. Note that I had to brew install coreutils gawk ninja with coreutils providing 'realpath' ... and it seems to duplicate the giti clones we were instructed to run in the other page. It's not clear if it's using the set-target e31 that I specfied or if it's compiling the entire world for every ESP variation. Just looking at teh running cc1plus executions, it may be building the entire planet. Is this the right path to pursue for a developer interested in making a custom build that lands in PlatformIO? Since that ended in an error and I'm branches usually compile, I suspect I'm heading off into the weeds. I'm not a blockhead. I'm just asking for a boost of "follow these instructions to land a development build where it can be used by a CLI Platformio/Pioduino project with -efoo where foo sets esp32-s31 targets." What's the easiest way to get from this repo to that goal? Onboarding doc is hard in every project. Those tools we all end up installing on our development machine become part of a project's culture before it makes it to the project's doc. Thanks |
Beta Was this translation helpful? Give feedback.
-
|
S31 support is not yet implemented in pioarduino. Since IDF 6.1 is used there are changes in a few pioarduino repos needed. Furthermore a PR here in the pioarduino-build.py script here too. I think i will have time to add experimental support in July. |
Beta Was this translation helpful? Give feedback.
-
|
OK, it's sounding like you're just not ready for help on this combo yet. I'll be back when the entry barrier is less harsh. I was prepared to do things like tell the build it's an S3 or P4, capture the output, morph that into a script, tweak the include ordering and flags and such just to decouple python/packaging issues from actual toolchain issues.. I wasn't so much asking for it to be ready (that's the point/offer...) as much as for asking how to get to the starting line of sneaking a new IDF/Arduino4 build behind the skeleton of the build system. In fact, pitstopping a build with Arduino4 + S3 (probably P4 just for better tool flag compatibility even though the S3 peripheral pool is probably closer) before leveling up to S31 was a planned stepping stone. I get there are a lot of moving parts. No problem. I have plenty of other ESP32 projects to keep me busy. It's just too early for S31/Arduino at this point. I have two IDF projects that would make reasonable test projects for S31/Korvo, though. They probably need to come forward from 5.5.4 to 6.01, then prep for 6.2 first anyway. Thanx anyway. (I'll leave this open for now in case there are other enthusiastic S31 users ready to try code bases that are stuck with Arduino.) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
TL;DR: Want some help on the ESP32-S31/Arduino 4 work?
Firstly, I fully understand what "not supported yet" means. I'm working no angle. I also know that things become supported because people are willing to invest in helping make it so.
I'm lucky to have an ESP32-S31-Korvo-1 V1.1. (You guys really need a Naming Person :-) )
Punchdrunk with the success of getting 'hello world' running from ESP-IDF master
Yay.
I was skimming the ESP32-S31 ESP-IDF status document and thought, "I can live with that.". The things that don't work are either things I don't care about today or are things that are (to my great annoyance) not supported by Korvo hardare. (A CP2102 on the USB-C jack in 2026? Seriously? "JTAG" is one of several four-letter words I have to say about that...) Looking at the state of the patch to add ESP32-S31 to Arduino I see it's likely to be in a simlar state, with most of the existing peripheral probably working or "just" needing to be hooked back up. I see it's actually a tad more complicated than that because it's stacked on top of the Arduino 4 branch.
I have three non-trivial projects I can entertain myself with for Korvo. The first two I haven't yet released, but are working OK on M5Stack Tab5 and various S3 or CYD targets. They're ESP-IDF but have substantial hardware components (External I2S on one, the horrible mess of everything all being on the same SPI bus on Tab5, so screen refresh, SD acccess, or even RAM/Flash internal accesses cause contention, so I have to kick the beautiful 360Mhz, dual-core, DMA-assisted race car into reverse every step, destroying performance) The second is my fork of NighDriverLED that's focusing on 'advanced hardware'. I may not quite be willing to chop mine up and add a HUB75 yet, but I can certainly find enought idle pins to dangle some WS2812 wigglies on a wire and confirm them with a scope or LA even if I don't DuPont in aoms 74HCT245s to driver real strips.
The NightDriver code currently builds in PlatformIO. (Hi, Jason!) I fought the long battle and am successfully running NightDriver with Arduino/3 via PioArduino I'm teetering on keeping FastLED3 (not 4) or moving to esp-ledstrip anyway.
I'll readily admit that Arduino gives me hives, but I also know it's strategic to some percentage of the marketbase.
If the S31/Korvo/Arduino4 arc is coming to a point of basically working and you want extra eyes and fingers on the code, I'm open to helping vet it on a real-world, medium scale (by S3 standards) c++ project or two and help validate it and debug or fill some empty checkboxes.
I have a systems/tooling background and can follow instructions for a Mac. I can work publicly or privately. Even if we "just" fix the warnings that we C++ devs have lived with from the system's headers, or help create/validate migration guides, it'll be worthwhile, IMO. [I've not fixed them so far because the project's primary builds are on PlatformIO/Arduino and, for a long list of (bad) reasons, that's GCC8 and IDF4, both of which are unsupported for some time.
The existing doc (that I can find) is oriented toward people developing with with arduino-esp32 instead of working on arduino-esp32 itself.
Are you at a point where extra hands would be helpful? ("No. Wait." is a perfectly reasonable answer, too. I have plenty of other projects...) If so, help me find/make a recipe to get this pile of bits building/running in Pioduino-like build. I don't care about the GUI part; I'll almost certainly script the meat of the build anyay.
If you don't want to contact me publicly here, my accountname is the same here as on GMail and the same domain for my blog (which has ESP32 stuff.)
Thanks for keeping microcontrollers interesting!
Beta Was this translation helpful? Give feedback.
All reactions