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)
Task
What to do
What embedded systems are
Explain microcontroller vs microprocessor, and list 10 embedded products around you with their likely controller.
Set up a toolchain
Install Arduino IDE or PlatformIO (or use the Wokwi simulator) and blink an LED. Commit to a repo named embedded-internship.
Digital input and output
Read a push button and control an LED, with software debouncing.
Analog input
Read a potentiometer or sensor with the ADC and print the value over serial.
PWM
Fade an LED and control a servo with PWM, and explain duty cycle.
C for embedded
Write examples of bitwise operations, volatile, fixed-width types and bit masks for registers.
Reading a datasheet
Read 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 delays
Replace delay() with a non-blocking timer so two LEDs blink at different rates.
Interrupts
Use an external interrupt to count button presses and explain why ISRs must be short.
Power basics
Calculate current for an LED resistor and the battery life of a simple device.
Circuit diagram
Draw a clean schematic of your circuit in KiCad, Fritzing or EasyEDA.
Level 2: Building real features (10 tasks)
Task
What to do
I2C sensor
Read a temperature/humidity or IMU sensor over I2C and explain addressing.
SPI device
Drive an SPI display or SD card module and explain clock, MOSI, MISO and chip select.
Register-level programming
Blink an LED by writing directly to GPIO registers instead of library calls.
State machine
Implement a traffic light or vending machine controller as a finite state machine.
ESP32 Wi-Fi
Connect an ESP32 to Wi-Fi and send sensor data to a web server or MQTT broker.
Low-power mode
Use sleep modes to reduce power and measure or estimate the saving.
Debugging
Debug a program with breakpoints (or serial logs and a logic analyser) and document one bug you found.
Watchdog timer
Enable a watchdog and show it resetting a stuck program.
Memory constraints
Measure flash and RAM use of your firmware and reduce it with at least two techniques.
Unit testing firmware logic
Separate logic from hardware and unit-test it on your PC.
Level 3: Professional work and capstone (8 tasks)
Task
What to do
RTOS basics
Run two FreeRTOS tasks with a queue between them and explain priorities.
STM32 or ARM Cortex-M
Port one of your projects to an STM32 or another Cortex-M board using its HAL or CMSIS.
Bootloader and OTA
Explain bootloaders and implement over-the-air update on an ESP32.
Communication protocol design
Design a simple packet format with a checksum between two boards and handle errors.
PCB design
Design a small PCB for your project in KiCad with a proper ground plane and export Gerbers.
Safety and reliability
List failure modes of your device and how firmware detects and handles each.
Automotive or industrial protocol
Explain CAN or Modbus and demonstrate it with two nodes or a simulator.
Capstone: embedded product
Build a complete embedded product (sensors, control, communication, low power) with schematic, firmware, tests and a demo video.