Arduino Board Manager URL / arduino-cli Generator

Generate Boards Manager URLs or arduino-cli commands for ESP32, RP2040, Teensy, and more.

For reference and prototyping. Verify any safety- or design-critical value against the component datasheet or a second method before relying on it. Full disclaimer.

About this tool

Pick the third-party board cores you need — ESP32, ESP8266, RP2040/Pico, STM32duino, Adafruit SAMD, Seeeduino, Teensy, SparkFun, MiniCore, LGT8F328P, or Heltec ESP32 — and get either the comma-separated "Additional Boards Manager URLs" line for Arduino IDE's Preferences dialog, or the equivalent arduino-cli commands to add the index and install the core from the command line. Check as many as you need at once; both output formats list every core you've selected.

What a Boards Manager URL actually does. Arduino IDE and arduino-cli ship knowing only about boards Arduino itself makes. Anything else — an ESP32 dev kit, a Teensy, a bare AVR chip on a breadboard — needs its own package index: a JSON file, hosted by that board's maintainer, listing available core versions and where to download the toolchain and board definitions for each. Pasting its URL into Preferences (or passing it to arduino-cli core update-index --additional-urls) tells the IDE where to look for that extra index alongside Arduino's own, without replacing it.

Matching a board you actually own to a core. Product names rarely match the core name:

CoreCovers boards like
ESP32ESP32 Dev Module, WROOM/WROVER boards, TTGO/LilyGO T-Display
ESP8266NodeMCU, Wemos/LOLIN D1 Mini, ESP-01
RP2040Raspberry Pi Pico / Pico W and other RP2040 boards
STM32duino"Blue Pill"/"Black Pill" STM32F1/F4 boards, Nucleo
Adafruit SAMDFeather M0/M4, Metro M0, Circuit Playground Express
SeeeduinoSeeeduino XIAO and other Seeed SAMD boards
TeensyTeensy 3.x/4.x, Teensy LC
SparkFunRedBoard, Thing Plus, Pro Micro, Artemis boards (covers AVR, SAMD, ESP32/8266, STM32, and nRF52 SparkFun boards from one URL)
MiniCoreBare ATmega328/168/88/48/8 chips on a breadboard or custom PCB, without a genuine Arduino bootloader
LGT8F328PCheap "Green"/"LGT8F328P" Nano clones — a different chip than a real ATmega328P, needs this core instead
Heltec ESP32Heltec WiFi LoRa 32, WiFi Kit 32 — adds the onboard OLED/LoRa pin mappings the plain ESP32 core doesn't know about

Don't see your board? Every third-party core works the same way: its maintainer publishes a package_*_index.json URL somewhere in its docs or GitHub README. Paste that URL into the same "Additional boards manager URLs" field, comma-separated with any others, even without this tool.

Once a core is installed, size your program's flash and RAM with the Arduino memory estimator, check a baud rate's real transfer time with the Arduino serial timing calculator, or look up the board's pin layout with the MCU pinout reference.

Frequently asked questions

Where do I paste the IDE URL list?
File → Preferences → "Additional boards manager URLs" — paste the whole comma-separated line into that single field, then open Tools → Board → Boards Manager to install the core.
Do these URLs and package names ever change?
They can — third-party maintainers occasionally move index files or rename packages between major versions. If a URL stops working, check the core's GitHub repo or official docs for the current link.
What does arduino-cli core update-index do?
It downloads the latest package index from every configured URL (including the ones you just added) so arduino-cli knows what versions are available — run it once after adding new URLs, before installing.
Which entry do I pick for a NodeMCU or Wemos D1 Mini?
ESP8266 — both are ESP8266-based dev boards, distinct from the newer ESP32 line even though the names sound similar.
My board says "LGT8F328P" or "Green" — isn't that just an ATmega328P Nano?
No — it's a different, cheaper chip that only looks pin-compatible. The standard AVR core doesn't recognize it; install the LGT8F328P (LGT8fx) core instead or uploads will fail.
Can I select more than one core at once?
Yes — check every core you need and both output formats (IDE URL list and arduino-cli commands) include all of them, comma-separated for the IDE or as one command per core for the CLI.
Does arduino-cli config init overwrite my existing config?
It only creates a new default config file if one doesn't already exist at the standard location — it won't overwrite a config you've already customized. Safe to run again if you're not sure.