Files
embedded-lab/ROADMAP.md
2026-06-30 11:42:43 +03:00

5.1 KiB
Raw Blame History

Roadmap

Stage 0: Safety, Tools, Measurements

Цель: научиться безопасно включать простые схемы, пользоваться БП и мультиметром, проверять ошибки до подачи питания.

Ключевые понятия: voltage, current, resistance, power, ground, current limit, continuity test, breadboard rails.

Лабораторные: 001_led_resistor_psu, 002_breadboard_and_multimeter.

Готовность перейти дальше:

  • БП включается через current limit, а не "на максимум".
  • Мультиметром уверенно проверяются напряжение, сопротивление и короткое замыкание.
  • LED + resistor работает предсказуемо, ток вычислен и измерения записаны.

Stage 1: Basic DC Electronics

Цель: понять поведение базовых DC-схем через измерения.

Ключевые понятия: Ohm's law, voltage divider, LED forward voltage, capacitor polarity, transistor as switch.

Лабораторные: 001_led_resistor_psu, 004_button_pullup_pulldown, 007_transistor_switch.

Готовность перейти дальше:

  • Понятно, где в схеме течет ток и где измерять напряжение.
  • Ошибки полярности и плохого контакта диагностируются мультиметром.
  • Транзисторный ключ собран и объяснен как управляемый switch.

Stage 2: ESP32 Fundamentals

Цель: перейти от пассивных схем к микроконтроллеру без нарушения электрических ограничений.

Ключевые понятия: GPIO, 3.3V logic, digital output, digital input, boot pins, USB power, common ground.

Лабораторные: 003_esp32_blink, 004_button_pullup_pulldown.

Готовность перейти дальше:

  • ESP32 прошивается и выполняет blink.
  • GPIO подключаются только к безопасным уровням 3.3V.
  • Внешняя схема имеет common ground с ESP32.

Stage 3: Interfaces: GPIO, ADC, PWM, I2C, UART

Цель: изучить базовые интерфейсы как контракты между firmware и железом.

Ключевые понятия: input/output mode, pull-up, pull-down, PWM duty cycle, I2C address, SDA/SCL, UART TX/RX.

Лабораторные: 004_button_pullup_pulldown, 005_pwm_led_dimming, 006_i2c_lcd_1602.

Готовность перейти дальше:

  • Кнопка читается стабильно.
  • PWM изменяет яркость LED ожидаемым образом.
  • LCD 1602 I2C обнаружен scanner-ом и выводит тестовый текст.

Stage 4: Embedded Software Patterns

Цель: писать firmware как поддерживаемый software-проект, а не набор delay-based скетчей.

Ключевые понятия: state machine, non-blocking loop, debouncing, configuration, logging, hardware abstraction.

Лабораторные: расширения 003-006.

Готовность перейти дальше:

  • Firmware имеет понятную структуру и physical test procedure.
  • Поведение проверяется через наблюдаемые состояния и измерения.
  • Ошибки отделяются на hardware, wiring, power и software causes.

Stage 5: IoT Projects

Цель: соединить ESP32, периферию и сеть в маленькие полезные проекты.

Ключевые понятия: Wi-Fi, reconnect logic, MQTT, status display, telemetry, watchdog thinking.

Лабораторные: 008_wifi_status_display, будущие sensor node проекты.

Готовность перейти дальше:

  • Устройство показывает сетевой статус на LCD.
  • Есть понятная стратегия reconnect и индикации ошибок.
  • Состояние проекта можно восстановить по lab notes.

Stage 6: Debugging, Reliability, Power, Architecture

Цель: перейти от "работает на столе" к инженерному мышлению о надежности.

Ключевые понятия: brownout, current budget, boot diagnostics, fault isolation, power domains, enclosure thinking.

Лабораторные: повторное улучшение предыдущих проектов.

Готовность:

  • Для проекта есть измеренный power budget.
  • Известны failure modes и симптомы.
  • Архитектура firmware и схемы объяснима через ограничения железа.