Set Up Your Hardware Toolchain.

Step-by-step guides to configure ESP32-IDF, STM32, Raspberry Pi, and MicroPython on Windows, Ubuntu, and macOS.

terminal
idf.py build
# Install EIM via Homebrew (macOS)
brew install espressif/tap/eim
# Launch EIM and install ESP-IDF v6
eim install --version v6.0 --target esp32
# Build your first project
idf.py create-project hello_world
cd hello_world && idf.py build

Introduction

Welcome & Overview

Welcome to the Analog Data Toolchain & Curriculum documentation — the most complete open reference for embedded systems, Edge AI, and developer toolchain setup. Whether you are a first-year student, a career-switching engineer, or a maker building a production product, every page here is written for you.

Before You Begin

System requirements, Python 3.13, Git, drivers, and VS Code setup.

Platform Guides

ESP32 ESP-IDF v6, STM32, Raspberry Pi, Pico — step-by-step.

Language Refreshers

Embedded C, Python, NumPy, ML/DL, and Shell Scripting.

Edge AI & TinyML

Deploy ML models to microcontrollers with TFLite Micro.


What Is This?

This is the official documentation for the Analog Data Embedded AI curriculum — a structured learning path that takes you from typing your first terminal command all the way to deploying a machine learning model on an ESP32 microcontroller.

Every section is production-grade. The C refresher is thorough enough to help you crack an embedded engineer interview. The Python & ML sections cover 20+ algorithms with math and working code. The shell scripting section has 35 real projects for Raspberry Pi. The build systems section explains what actually happens when you click "Compile" in your IDE.


Learning Path

Follow this path from top to bottom if you are starting fresh:

text
1. Linux Basics          → Navigate the terminal, understand the file system
2. Shell Scripting       → Automate tasks, write production-grade scripts
3. C Refresher           → Variables → Pointers → Embedded C → Interview prep
4. Build Systems         → Make → CMake → Ninja → ESP-IDF project structure
5. Python Refresher      → Basics → NumPy/Pandas → ML → DL → Interview prep
6. Platform Setup        → ESP32 / STM32 / Raspberry Pi / MicroPython
7. Docker                → Reproducible builds and deployment containers
8. Edge AI               → TinyML, TFLite Micro, model deployment on hardware

Hardware Platforms Covered

PlatformMCU / SoCKey Use Cases
ESP32 (ESP-IDF v6)Xtensa LX7, 240 MHz, Wi-Fi + BLEFirmware, FreeRTOS, TinyML inference, IoT
STM32ARM Cortex-M0 to M7Real-time control, industrial, automotive
Raspberry Pi 4 / 5 SBCARM Cortex-A76, 64-bit LinuxEdge AI, computer vision, gateways
Raspberry Pi Pico / Pico 2RP2040 / RP2350Low-cost MCU, C SDK or MicroPython
MicroPython targetsESP32, Pico, STM32Rapid prototyping with Python syntax

Curriculum Sections

🐧 Linux Basics

The terminal foundation every embedded developer needs. File system, permissions, package management, process management, environment variables.

🖥️ Shell Scripting

From echo "Hello" to a 35-project progression: GPIO control, Wi-Fi watchdogs, OTA updaters, fleet SSH deployment, encrypted backups, and a live SBC dashboard — all in pure Bash.

⚡ C Refresher

Complete Embedded C reference with 30+ interview questions, a dedicated Bit Manipulation chapter, multi-file project patterns, custom Makefiles and CMake files, and ESP-IDF firmware patterns.

🔧 Build Systems

How Arduino's "Compile" button actually works, and what's happening under the hood in CMake + Ninja when ESP-IDF builds your firmware. Covers Make, CMake, Ninja, and the ESP-IDF component system with real multi-file examples.

🐍 Python Refresher

Python syntax → NumPy/Pandas/Matplotlib → Machine Learning (20+ algorithms with math, code, and analogies) → Deep Learning → Interview questions → ML Glossary with 80+ terms.

🤖 Edge AI & TinyML

Deploying TensorFlow Lite Micro models to ESP32 and Raspberry Pi. Quantization, model conversion, inference benchmarking, and production monitoring.


What You Will Be Able to Build

After completing this curriculum you will be able to:

  • Flash and debug firmware on ESP32, STM32, and Raspberry Pi from any OS
  • Write production Embedded C — bit manipulation, interrupts, FreeRTOS tasks, I2C/SPI/UART drivers
  • Build multi-file C projects using Makefiles and CMake — on desktop and on microcontrollers
  • Write reusable Bash automation — service watchdogs, OTA updaters, fleet deployers
  • Preprocess and visualize sensor data with NumPy, Pandas, and Matplotlib
  • Train and evaluate classification, regression, and clustering models with scikit-learn
  • Deploy a quantized TensorFlow Lite model to a microcontroller

Hardware Platforms Supported

OSStatus
Windows 10 / 11 (64-bit)✅ Full support
Ubuntu 22.04 LTS / 24.04 LTS✅ Full support
macOS 13 Ventura+ (Intel & Apple Silicon)✅ Full support
Raspberry Pi OS (64-bit)✅ Full support

Who Is This For?

RoleWhat you get
Workshop attendeesStep-by-step setup for Analog Data hands-on workshops
Career-switchersInterview-ready Embedded C + Python/ML curriculum
Makers & hobbyistsPractical projects from LED blink to edge AI inference
Professional engineersProduction patterns, Docker, CI/CD, fleet management
Data analystsNumPy, Pandas, Matplotlib, ML pipeline reference
StudentsComplete A-to-Z curriculum with code you can run today

ResourceLink
Edge AI with ESP32 curriculumaiwithedge.analogdata.io
Analog Data Build newsletterbuild.analogdata.io
Edge AI platformedgeai.analogdata.io
GitHubgithub.com/analogdatacorp

Getting Help

  1. Check the Troubleshooting callout at the bottom of the relevant platform page
  2. Search with the search bar — ⌘K on macOS, Ctrl+K on Windows/Linux
  3. Reach out via Analog Data community channels