← all lessons
The Promise + Safety · #0 of 20

Course Map

What You'll Build

Why it matters

By the end of this course, you’ll build a battery-powered ESP32 environmental monitor that runs for months on a single charge. This is the roadmap.

The idea

The Capstone Project

You'll build a battery-powered ESP32 environmental monitor that:
        <div class=

Demo

This is a course overview — no demo yet! Scroll down to see the full curriculum organized by phase.

Key takeaways

Going deeper

This course uses Rust as the primary toolchain (esp-hal / esp-idf). Rust’s memory safety and zero-cost abstractions make it ideal for embedded systems. If you’re new to Rust, don’t worry — we’ll cover the essentials as we go.

Math details

The capstone power budget (rough estimate):
  Active mode: 80mA × 2s = 160mAs per reading
  Deep sleep: 10µA × 298s = 2.98mAs per cycle
  Total per 5min cycle: ~163mAs

  For a 2000mAh battery:
  Cycles = (2000mAh × 3600s/h) / 163mAs ≈ 44,000 cycles
  Lifetime ≈ 44,000 × 5min ≈ 153 days

  (Real-world will be less due to Wi‑Fi connection overhead, but this shows the math.)

Implementation

Hardware Shopping List

Software Setup

# Install Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Install espup (ESP32 Rust toolchain installer)

cargo install espup

Set up ESP32 Rust environment

espup install

LLM Prompt: Project Scaffold