Lab 1 – Microcontroller Basics
Exploring GPIO, timers, and low‑level register manipulation to build a foundation for real‑time embedded systems.
E155 teaches students how to practically realize complicated digital electronic systems, including FPGAs, microcontrollers, and custom chips. The course covers everything from reading technical documentation and writing clean RTL to programming microcontrollers with modern techniques, selecting parts for large digital systems, and implementing complete embedded projects. It culminates with a capstone project where students decide what they want to build.
Labs completed using Nucleo & STM32 and UPduino v3.1 & iCE40 UP5K hardware.
Exploring GPIO, timers, and low‑level register manipulation to build a foundation for real‑time embedded systems.
Implementing interrupt‑driven firmware and clean finite‑state‑machine architectures for robust hardware control.
Building synchronous digital circuits on FPGA hardware and validating behavior with simulation and on‑board testing.
Partitioning functionality between firmware and hardware accelerators to hit performance and power targets.
Integrating sensors, communication, and control logic into a complete embedded system, from requirements to demo.
Building an internet-accessible IoT device with ESP8266 WiFi module and SPI temperature sensor, implementing CMSIS-based SPI drivers and a web interface for remote control and monitoring.
For complete resources and documentation, visit:
E155 Resources Page →