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.

OSMinimum Version
WindowsWindows 10 (64-bit, version 1903+)
Ubuntu / DebianUbuntu 22.04 LTS or 24.04 LTS
macOSmacOS 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.

shell
# 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.

shell
# 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.

ChipCommon BoardsDriver Download
CP2102 / CP2104Most ESP32 DevKit boardsSilicon Labs CP210x
CH340 / CH341Cheap ESP32 clones, Arduino NanoCH341SER drivers
FTDI FT232Some STM32 dev boardsFTDI VCP Drivers
ST-LINK (built-in)STM32 NUCLEO / Discovery boardsIncluded 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

shell
# 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:

shell
# Add yourself to the dialout group
sudo usermod -aG dialout $USER
# Log out and log back in for this to take effect

macOS

shell
# List available serial ports
ls /dev/cu.*
# Common output: /dev/cu.usbserial-0001 or /dev/cu.SLAB_USBtoUART

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:

Previous
Welcome & Overview