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 http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • 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
  wget https://github.com/esp8266/arduino-esp8266fs-plugin/releases/download/0.5.0/ESP8266FS-0.5.0.zip
  unzip ESP8266FS-0.5.0.zip
  rm ESP8266FS-0.5.0.zip
)

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)

https://docs.espressif.com/projects/esp-idf/en/stable/get-started/index.html