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:
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
| Platform | MCU / SoC | Key Use Cases |
|---|---|---|
| ESP32 (ESP-IDF v6) | Xtensa LX7, 240 MHz, Wi-Fi + BLE | Firmware, FreeRTOS, TinyML inference, IoT |
| STM32 | ARM Cortex-M0 to M7 | Real-time control, industrial, automotive |
| Raspberry Pi 4 / 5 SBC | ARM Cortex-A76, 64-bit Linux | Edge AI, computer vision, gateways |
| Raspberry Pi Pico / Pico 2 | RP2040 / RP2350 | Low-cost MCU, C SDK or MicroPython |
| MicroPython targets | ESP32, Pico, STM32 | Rapid 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
| OS | Status |
|---|---|
| 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?
| Role | What you get |
|---|---|
| Workshop attendees | Step-by-step setup for Analog Data hands-on workshops |
| Career-switchers | Interview-ready Embedded C + Python/ML curriculum |
| Makers & hobbyists | Practical projects from LED blink to edge AI inference |
| Professional engineers | Production patterns, Docker, CI/CD, fleet management |
| Data analysts | NumPy, Pandas, Matplotlib, ML pipeline reference |
| Students | Complete A-to-Z curriculum with code you can run today |
Course & Community Links
| Resource | Link |
|---|---|
| Edge AI with ESP32 curriculum | aiwithedge.analogdata.io |
| Analog Data Build newsletter | build.analogdata.io |
| Edge AI platform | edgeai.analogdata.io |
| GitHub | github.com/analogdatacorp |
Getting Help
- Check the Troubleshooting callout at the bottom of the relevant platform page
- Search with the search bar —
⌘Kon macOS,Ctrl+Kon Windows/Linux - Reach out via Analog Data community channels

