Introduction
Before You Begin
Before installing any toolchain, take five minutes to check your system and gather the right tools. This will save you hours of troubleshooting later.
System Requirements
All Analog Data toolchain setups are tested against the following operating system versions. Older versions may work but are not officially supported.
| OS | Minimum Version |
|---|---|
| Windows | Windows 10 (64-bit, version 1903+) |
| Ubuntu / Debian | Ubuntu 22.04 LTS or 24.04 LTS |
| macOS | macOS 13 Ventura or later |
32-bit systems are not supported
All toolchains (ESP-IDF, STM32CubeIDE, Raspberry Pi SDK) require a 64-bit operating system. Attempting installation on a 32-bit OS will result in errors.
Required Software (All Platforms)
Make sure the following are installed on your machine before beginning any platform-specific guide:
Git
Git is required by every toolchain in this guide.
# Verify Git is installed
git --version
# Expected output: git version 2.x.x
If Git is not installed:
- Windows: Download from git-scm.com
- Ubuntu:
sudo apt install git - macOS: Run
git --version— macOS will prompt you to install Xcode Command Line Tools automatically
Python 3 (3.10+)
ESP-IDF and several other tools require Python 3.
# Verify Python version
python3 --version
# Expected output: Python 3.10.x or later
If Python is not installed or outdated:
- Windows: Download from python.org — check "Add Python to PATH" during installation
- Ubuntu:
sudo apt install python3 python3-pip python3-venv - macOS:
brew install python3
USB-to-Serial Drivers
Most ESP32 and STM32 boards use a USB-to-Serial chip. You may need to install the driver for your specific chip.
| Chip | Common Boards | Driver Download |
|---|---|---|
| CP2102 / CP2104 | Most ESP32 DevKit boards | Silicon Labs CP210x |
| CH340 / CH341 | Cheap ESP32 clones, Arduino Nano | CH341SER drivers |
| FTDI FT232 | Some STM32 dev boards | FTDI VCP Drivers |
| ST-LINK (built-in) | STM32 NUCLEO / Discovery boards | Included with STM32CubeIDE |
How to identify your chip
Look at the small IC chip near the USB connector on your board. The chip markings (CP2102, CH340, etc.) will tell you which driver you need. The board's product page or datasheet will also list this.
Checking Available USB Ports
After connecting your board, verify it is recognized by your system.
Windows
Open Device Manager → expand Ports (COM & LPT). Your board should appear as COMx (e.g., COM3).
Ubuntu / Linux
# List available serial ports
ls /dev/ttyUSB* /dev/ttyACM*
# Common output: /dev/ttyUSB0 or /dev/ttyACM0
If you see "Permission denied" errors when accessing the port:
# Add yourself to the dialout group
sudo usermod -aG dialout $USER
# Log out and log back in for this to take effect
macOS
# List available serial ports
ls /dev/cu.*
# Common output: /dev/cu.usbserial-0001 or /dev/cu.SLAB_USBtoUART
Recommended IDE
While each platform has its own IDE recommendation, Visual Studio Code is supported across all platforms and is the preferred editor for Analog Data workshops.
Download VS Code from code.visualstudio.com.
Useful extensions to install now:
- ESP-IDF (Espressif Systems) — for ESP32 development
- C/C++ (Microsoft) — IntelliSense and debugging
- Python (Microsoft) — for MicroPython and scripts
- Serial Monitor (Microsoft) — built-in serial terminal
What's Next?
You're ready to begin. Choose your platform guide from the sidebar, or jump directly to:

