Knowledge
This section is the complete knowledge base for the Embedded & Robotica Engineer profile — theory, hands-on electronics, architecture, programming, and connectivity in one path. Pick a starting point that matches where you are; articles link forward and backward so you can move at your own pace.
Before an exam or project defence: work through the Knowledge self-test and tick off every item you can explain in your own words.
Learning paths
| You are… | Suggested path |
|---|---|
| New (year 2, little hardware background) | Introduction to computer systems → Embedded systems overview → Basics of electronics → Hardware architecture |
| Building a breadboard prototype | Lab tools → Reading datasheets → Microcontrollers overview → Serial protocols |
| Robotics / actuators | Pulse width modulation → Motors and actuators → Distance sensors → Firmware architecture |
| Comfortable with basics, learning C in depth | C types and macros → Pointers in C → Structures and user types |
| Know C, learning C++ for firmware | Introduction to C++ → Classes and encapsulation → Embedded C++ subset |
| Connected / IoT projects | Computer networks → MQTT → Connectivity architecture → Node-RED |
| Gateway on Raspberry Pi | Docker for edge and IoT → Node-RED for IoT |
| Year 3–4, more theory | Digital logic → Operating systems → GCC toolchain in depth → Assembly language |
Topic overview
Foundations
- Introduction to computer systems — CPU, memory, how a computer works
- Embedded systems overview — embedded vs general-purpose, constraints
- Data representation — binary, hex, two's complement, floating point
- Real-time systems — hard, firm, and soft real-time
- Compilers and toolchains — compile vs interpret, cross-compilation
Prototyping & electronics
Hands-on skills for breadboards, components, and lab work.
- Basics of electronics — voltage, current, resistors, LEDs, passives
- Pulse width modulation — duty cycle, timers, motors and LEDs
- Voltage level shifting — 3.3 V ↔ 5 V, I²C shifters
- Motors and actuators — DC, servo, stepper, H-bridge, relays
- Distance sensors — ultrasonic, IR, time-of-flight
- Reading datasheets — pinouts, limits, timing
- Lab tools for prototyping — multimeter, logic analyzer, scope
- Debouncing inputs — reliable buttons and switches
- Soldering basics — joints and desoldering
System architecture
How hardware, firmware, connectivity, and docs fit together.
- Embedded system architecture — layers and data flow
- Hardware architecture — MCU hub, pin map, power
- Firmware architecture — modules, state machines, timing
- Connectivity architecture — Wi-Fi, HTTP, MQTT
- Documenting your design — diagrams, BOM, traceability
C programming
- C programming index — reading order for all C articles
- C types and macros · Pointers · Pointers in depth
- Dynamic memory and I/O · Structures and user types
- Data structures in C · GCC toolchain in depth · Assembly language
C++ programming
- C++ programming index
- Introduction to C++ · Classes and encapsulation
- Constructors, RAII, and destructors · References and const correctness
- Namespaces and code organization · Templates · Embedded C++ subset
Digital logic
- Digital logic fundamentals — gates, flip-flops, adders
- Sequential logic design — state machines, Karnaugh maps
Hardware (theory)
- Computer architecture — von Neumann, Harvard, buses
- Microcontrollers overview — ESP32, STM32, AVR
- Memory systems — maps, ROM/RAM, decoding
- Input/output and DMA — ports, DMA, bus standards
- Sampling and A/D conversion — Nyquist, ADC/DAC
Software
- Operating systems — processes, scheduling, RTOS
- Virtualization — hypervisors
- Node-RED for IoT · Docker for edge and IoT
Communication
- Data compression · Serial communication protocols
- Computer networks · MQTT and IoT messaging · Wireless for embedded
Advanced topics
Self-test
- Knowledge self-test — checklist covering every article above; use before exams and portfolio reviews