Working with esptool/arduino

I set up the Arduino IDE to work on an ESP8266 project. This involved buildFHSUserEnv as described here, as well as navigating the IDE’s menus and performing a bunch of imperative setup:

  • set Additional Boards Manager URLs to
  • use Board Manager to search for and install the ESP8266 board
  • select the ESP8266 board once installed
  • adjust tool settings (lwIP Variant, CPU Frequency, Flash size)
  • install a plugin for uploading files to ESP8266 file system (below)
# install plugin
mkdir -p ~/Arduino/tools
( cd ~/Arduino/tools

I’d like to find a workflow that’s more declarative, reproducible, and self-contained, but I’m having a hard time finding resources to guide me. I see a few things in nixpkgs that look relevant:

  • arduino
  • arduino-core
  • esptool
  • esptool-ck
  • esphome
  • platformio

but since I’m unfamiliar with embedded device work in general, I’m not sure where to start. Any advice is greatly appreciated. Thanks!

Can you use the esp-idf from espressif for this Micro Controller? If so, I would advise using it instead.
I know its not the same but its really powerful compared to arduino and it uses a make system which would improve your workflow quite a lot in this case.

If you still want a complete IDE, you can set it up with eclipse following the Guide but others should also be possible. (Don’t quote me on the last part, I am personally just using neovim for all my file editing needs)