Knowledge Self-Test
Introduction
This page lists everything you should be able to explain and apply as an Embedded & Robotica Engineer student. It mirrors the full Knowledge section — including topics that used to sit under Designing & Realising.
Use it before exams, assessments, and project defences. For each item: read the linked article if you are unsure, then tick the box only when you can answer in your own words (not copy-paste from the text).
In plain terms
If you can teach a classmate the idea without opening the article, you know it. If you only recognise the title, read the article and try the lab step in Starting points.
How to use this checklist
- Work top to bottom once, or jump to weak areas.
- Do the Starting points in each article you fail.
- Ask a peer to quiz you on unchecked items.
- Revisit after each project block — hardware, firmware, connectivity.
Foundations
Introduction to computer systems
- Explain CPU, memory, and I/O in one sentence each.
- Why is digital storage more robust than analog over long distances?
Embedded systems overview
- Name three ways embedded systems differ from a laptop.
- List the typical blocks: MCU, sensor, actuator, communication, power, firmware.
Data representation
- Convert a small decimal number to binary and hex.
- Explain two's complement and why
uint8_twraps at 255.
Real-time systems
- Define hard vs soft real-time with an example each.
- Why is "fast" not the same as "real-time"?
Compilers and toolchains
- What is the difference between compile and interpret?
- What does cross-compilation mean for embedded?
Prototyping & electronics
Basics of electronics
- State Ohm's law and use it for an LED resistor.
- Why do inductive loads need a flyback diode?
- What happens if you connect 5 V to a 3.3 V GPIO?
Pulse width modulation
- Define duty cycle and frequency.
- Why use hardware timers instead of a busy loop?
Voltage level shifting
- When do you need a level shifter on I²C?
- Why is a resistor divider not enough for a bidirectional bus?
Motors and actuators
- Why can't GPIO drive a motor directly?
- Explain what an H-bridge does for direction.
- How does a hobby servo PWM pulse relate to angle?
Distance sensors
- How does HC-SR04 measure distance (trigger, echo, timing)?
- Name one limitation of ultrasonic vs ToF sensors.
Reading datasheets
- Find absolute maximum voltage and recommended operating conditions.
- Locate I²C address and timing for a sensor IC.
Lab tools for prototyping
- When do you use a multimeter vs logic analyzer vs scope?
- Why must the tool and device share ground?
Debouncing inputs
- What is contact bounce and why does it break edge counting?
- Describe one software debounce approach.
Soldering basics
- Describe a good through-hole joint vs a cold joint.
- Name one safe desoldering method.
System architecture
Embedded system architecture
- Draw the four layers: hardware, firmware, connectivity, documentation.
- Give an example of data flowing sensor → firmware → cloud.
Hardware architecture
- What belongs in a pin map table?
- Why use a separate supply for motors?
Firmware architecture
- Separate driver, sensor, actuator, and application responsibilities.
- Why avoid long
delay()in the main loop when Wi-Fi runs?
Connectivity architecture
- Compare HTTP POST vs MQTT publish for sensor data.
- What is network provisioning and why avoid hardcoded Wi-Fi passwords?
Documenting your design
- List block diagram, pin map, wiring diagram, BOM, requirements traceability.
- Name two common BOM mistakes.
C programming
Read C programming overview for order.
- C types and macros — fixed-width types; safe
#definevsconst - Pointers in C —
&,*, NULL, string aschar * - Pointers in depth — pass by pointer; function pointers (concept)
- Dynamic memory and I/O — stack vs heap risks on MCU
- Structures and user types — struct, union, enum use cases
- Data structures in C — list vs queue vs stack
- GCC toolchain in depth — compile, link, symbols
- Assembly language — why read asm; CISC vs RISC idea
C++ programming
Read C++ programming overview.
- Introduction to C++ — what C++ adds over C on embedded
- Classes and encapsulation —
public/private; interface vs implementation - Constructors, RAII, destructors — automatic cleanup
- References and const correctness —
conston methods and parameters - Namespaces and code organization — avoid name collisions; headers
- Templates — trade-off: flash size vs reuse
- Embedded C++ subset — what to avoid on small MCUs (exceptions, heavy STL)
Digital logic
- Digital logic fundamentals — AND/OR/NOT; flip-flop purpose
- Sequential logic design — state machine vs combinational logic
Hardware (theory)
- Computer architecture — von Neumann vs Harvard
- Microcontrollers overview — when ESP32 vs STM32 vs AVR
- Memory systems — memory map; ROM vs RAM roles
- Input/output and DMA — why DMA helps high-throughput I/O
- Sampling and A/D conversion — Nyquist; aliasing in one sentence
Software
- Operating systems — process vs thread; what an RTOS adds
- Virtualization — VM vs container (high level)
- Node-RED for IoT — MQTT in → transform → dashboard out
- Docker for edge and IoT — image, container, compose for a Pi gateway
Communication
- Data compression — lossless vs lossy example each
- Serial communication protocols — UART vs SPI vs I²C; pull-ups on I²C
- Computer networks — OSI layers you use when debugging Wi-Fi
- MQTT and IoT messaging — broker, topic, publish, subscribe
- Wireless for embedded — pick Wi-Fi vs BLE vs LoRa for a scenario
Advanced topics
- Cache and multiprocessing — why cache misses matter
- PLCs and industrial control — PLC vs general MCU in a factory cell
Focus points before you say "I'm ready"
- You can wire a safe prototype (power, level shifting, motor supply) without coaching.
- You can structure firmware so sensors and networking do not block each other.
- You can read a datasheet and document pin map + BOM that match the breadboard.
- You can debug buses with a multimeter or logic analyzer, not only
printf. - You can explain trade-offs when choosing protocol, MCU, or actuator type.
Key points
- This checklist covers all Knowledge articles in the profile — your single study map.
- Unchecked items → read the article → do Starting points → ask a peer to quiz you.
- Return here after each project milestone until every box is ticked.