How do you bear ESP-IDF? (windows) - Page 1
Forum section: electronics / general

author: JPortici
author_rank: Super Contributor
timestamp: March 06, 2025, 05:03:49 pm
content: Finally getting started with ESP-IDF after years of having boards laying around. Now i do have a project that's going to happen with an ESP32-S3 (we can get the hardware already build in the form factor we want in quantity at a good price and just flash our firmware. I would usually design everything, but this time it's fine this way.)So I tried the eclipse IDE monstruosity. Bugged as hell, first time i ran eclipse in years, is it really this bad now, or is all the expressif customization? i started with one example, added a big source file (500k, it's an LVGL image) and it would keep crashing when opening it, and it wouldn't be built even though i added it - manually - to cmakelist so i could never reference to the object.So i uninstalled everything and downloaded the plugin from vscode. Much more bearable. I managed to get things to build, and run. 1.5k files to compile for the hello world.what?And at least two whole minutes to build. And i make a small change, another two minutes to build.- How do i enable ccache? (i thought the cmake was smart enough to not rebuild unchanged files.)- How do i make antimalware to actually stop hogging resources? i already added the espressif folder and the project folder to the exclusion list, yet it keeps bringing the whole thing down while compiling. I think it's storing intermediate files somewhere else, but i don't know where. I googled a bit and the consensus seem to be to just exclude the espressif folderI wonder if i would have a better experience under linux... Also, for some reason the project comes with a docker image? i don't understand why it is needed at all

author: nctnico
author_rank: Super Contributor
timestamp: March 06, 2025, 05:06:26 pm
content: Do yourself a favour and don't do software development on Windows. It isn't made for it. ESP-IDF works OK under Linux.

author: SiliconWizard
author_rank: Super Contributor
timestamp: March 06, 2025, 05:30:41 pm
content: esp-idf is reasonably well thought out and makes developing for the ESP32 series easy.But, it's an absolute monster. Even if you only use it on the command line, it's several GB, the libraries are huge. And it tends to download absolutely everything, even what you don't need, and is not very customizable in that regard.I tend to like going "baremetal" and so that makes it kind of a no-no for me.But, again, it works well, if you forget the monstrosity. And you can use it on the command line only and use the IDE/programming editor of your liking.I don't think there's much difference if you're on Windows or Linux. The CLI tools work the same and the installation works on both.I've used it on both.

author: PlainName
author_rank: Super Contributor
timestamp: March 06, 2025, 05:46:34 pm
content: I use ESP-IDF on Windows and find it OK. First build takes a few minutes but then changes are fast. Sometimes I have to check the screen output to verify it actually compiled the files!But.. I don't use Eclipse. That would be the last tool I would want to deal with. Instead I use the same editor I use for every other software project (in my case Slickedit). Although that could also do the compiling, error location and debugging, I choose to compile via the command line (actually ConEmu but could be cmd.exe in reality). Three .cmd files for build, flash and OTA (push the .bin to my OTA web server) so I don't have to keep typing "idf.py ..." and Bob's your uncle.It is not perfectlty seemless (separate window for compile and editing) but it is robust and I can use different editors depending on whim, different version of ESP-IDF depending on age of project, etc.

author: xvr
author_rank: Frequent Contributor
timestamp: March 06, 2025, 06:55:20 pm
content: QuoteIt performs build in root of your project tree (in directory 'build')Object files placed in build/esp-idf/<component> for all used IDF components. Your project files are treated as 'main' component (build/esp-idf/main)

author: JPortici
author_rank: Super Contributor
timestamp: March 07, 2025, 06:05:59 am
content: Quote from: SiliconWizard on March 06, 2025, 05:30:41 pmme too! however in this project i need to use mainly bluetooth and graphics, bare metal already goes out of the windowQuotedifference would be windows defender, i supposeQuote from: xvr on March 06, 2025, 06:55:20 pmwhich in theory is already excluded from analysis (the project folder has been added to the exclusion list)seems i need to figure out how to enable caching..

author: elektryk
author_rank: Regular Contributor
timestamp: March 07, 2025, 06:15:08 am
content: I did use PlatformIO (in VS Code) and it worked quite well with Arduino ESP, so it should also be ok with plain ESP-IDF.

author: Smokey
author_rank: Super Contributor
timestamp: March 07, 2025, 09:26:51 am
content: Quote from: elektryk on March 07, 2025, 06:15:08 amYa, this works. However much I don't like platformIO, I would say that's the way to go for ESP-IDF

author: JPortici
author_rank: Super Contributor
timestamp: March 07, 2025, 10:51:18 am
content: Screw platform io, let it burn to hell.As per usual, a couple of reboots fixed the thing and now build is cached, actually building what i change

author: vdl
author_rank: Newbie
timestamp: March 07, 2025, 09:11:20 pm
content: Have a look at VisualGdb. Its a paid (free trial) plugin for VisualStudio which makes developing/debugging esp/stm(/atmel/etc never tried) devices so much easier than crappy eclipse based ides.https://visualgdb.com/

author: Fire Doger
author_rank: Regular Contributor
timestamp: March 14, 2025, 06:09:44 pm
content: VSCode for editing.Their Eclipse "Espressif-IDE" for build and debug.https://github.com/espressif/idf-eclipse-plugin/releasesKeep in mind that if installation is not done properly windows defender will slow things down a lot.IDF installer adds exceptions during installation.

author: Smokey
author_rank: Super Contributor
timestamp: March 15, 2025, 02:50:50 am
content: Quote from: Fire Doger on March 14, 2025, 06:09:44 pmWhat hardware do you use as a debugger for ESP32?

author: Fire Doger
author_rank: Regular Contributor
timestamp: March 15, 2025, 05:48:00 pm
content: ESP Proghttps://docs.espressif.com/projects/esp-iot-solution/en/latest/hw-reference/ESP-Prog_guide.htmlFor newer chips with USB jtag you need to pull an io or write a fuse to use jtag pins. If i remember correctly it's not on by default.I haven't tried the speed of internal JTAG, ESP Prog step speed looks fine to meI have also used jlink but back then it required to change the drivers and it was a mess changing back and forth for other mcu.Maybe now you can use jlink as is but not sure.There is also a new debugger using an S3 as jtag bridgehttps://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-usb-bridge/user_guide.htmlbut I haven't tried itI also did a small pcb to add JTAG and Tx on same 6 pin Tag Connect connector.

author: nctnico
author_rank: Super Contributor
timestamp: March 15, 2025, 05:49:58 pm
content: I've tried to use the integrated USB debugging feature on the ESP32-S3 a couple of times but it is very flaky to say the least. As good as useless.