All 30 tasks, level by level

The real graded Embedded Systems tasks the portal assigns, grouped into three levels.

The portal assigns these Embedded Systems tasks. Finish Level 1 before Level 2 and Level 2 before Level 3. Your mentor may mark some tasks as required for the certificate.

Level 1: Foundations (12 tasks)

TaskWhat to do
What embedded systems areExplain microcontroller vs microprocessor, and list 10 embedded products around you with their likely controller.
Set up a toolchainInstall Arduino IDE or PlatformIO (or use the Wokwi simulator) and blink an LED. Commit to a repo named embedded-internship.
Digital input and outputRead a push button and control an LED, with software debouncing.
Analog inputRead a potentiometer or sensor with the ADC and print the value over serial.
PWMFade an LED and control a servo with PWM, and explain duty cycle.
C for embeddedWrite examples of bitwise operations, volatile, fixed-width types and bit masks for registers.
Reading a datasheetRead a sensor datasheet and summarise voltage, pins, timing and communication protocol.
Serial communication (UART)Send and receive commands over UART to switch an LED on and off.
Timers and delaysReplace delay() with a non-blocking timer so two LEDs blink at different rates.
InterruptsUse an external interrupt to count button presses and explain why ISRs must be short.
Power basicsCalculate current for an LED resistor and the battery life of a simple device.
Circuit diagramDraw a clean schematic of your circuit in KiCad, Fritzing or EasyEDA.

Level 2: Building real features (10 tasks)

TaskWhat to do
I2C sensorRead a temperature/humidity or IMU sensor over I2C and explain addressing.
SPI deviceDrive an SPI display or SD card module and explain clock, MOSI, MISO and chip select.
Register-level programmingBlink an LED by writing directly to GPIO registers instead of library calls.
State machineImplement a traffic light or vending machine controller as a finite state machine.
ESP32 Wi-FiConnect an ESP32 to Wi-Fi and send sensor data to a web server or MQTT broker.
Low-power modeUse sleep modes to reduce power and measure or estimate the saving.
DebuggingDebug a program with breakpoints (or serial logs and a logic analyser) and document one bug you found.
Watchdog timerEnable a watchdog and show it resetting a stuck program.
Memory constraintsMeasure flash and RAM use of your firmware and reduce it with at least two techniques.
Unit testing firmware logicSeparate logic from hardware and unit-test it on your PC.

Level 3: Professional work and capstone (8 tasks)

TaskWhat to do
RTOS basicsRun two FreeRTOS tasks with a queue between them and explain priorities.
STM32 or ARM Cortex-MPort one of your projects to an STM32 or another Cortex-M board using its HAL or CMSIS.
Bootloader and OTAExplain bootloaders and implement over-the-air update on an ESP32.
Communication protocol designDesign a simple packet format with a checksum between two boards and handle errors.
PCB designDesign a small PCB for your project in KiCad with a proper ground plane and export Gerbers.
Safety and reliabilityList failure modes of your device and how firmware detects and handles each.
Automotive or industrial protocolExplain CAN or Modbus and demonstrate it with two nodes or a simulator.
Capstone: embedded productBuild a complete embedded product (sensors, control, communication, low power) with schematic, firmware, tests and a demo video.
โ† Tools and first-week setupSubmitting tasks and earning your certificate โ†’