Search topics...

All Topics

69 in-depth articles across 12 embedded systems domains.

Category

C/C++ Programming & Low-Level Foundations (12)
Build Systems (6)
MCU & System Architecture (5)
Peripherals (10)
Hardware & Power Design (3)
RTOS & Real-Time (4)
State Machines (4)
Networking & Protocols (5)
Wireless Technologies (7)
Embedded Linux Essentials (6)
Debugging, Testing & Tools (3)
Safety, Security & Reliability (4)

Difficulty

foundational
intermediate
advanced

Tags

.bss
.data
802.15.4
802.15.4z
LMA
Reset_Handler
VMA
a-b-partitioning
abstraction
active-object
adc
addr2line
addressing
aes
ahb
alignment
analog
apb
api
arbitration
Showing 69 of 69 topics
Build Systems
foundational

Compilation Pipeline

Understand what 'press Build' actually does: preprocessor, compiler, assembler, and linker — and what each stage produces.

build-systems
gcc
preprocessor
compiler
+2
Interview Weight: 5/10
C/C++ Programming & Low-Level Foundations
foundational

Data Types & Memory Layout

C data types, memory sections (.text, .data, .bss, stack, heap), storage duration, fixed-width integers, and memory-aware programming for embedded systems.

c
memory
data-types
stack
+1
Interview Weight: 5/10
State Machines
foundational

FSM Fundamentals

States, events, transitions, and actions: the mental model for finite state machines, plus Mealy vs Moore and why FSMs beat nested if/switch.

state-machines
fsm
mealy
moore
+2
Interview Weight: 5/10
MCU & System Architecture
intermediate

Interrupts and priorities

Master interrupt service routine design, NVIC priority schemes, nested interrupts, and latency optimization for real-time embedded systems.

mcu
interrupts
isr
priorities
+3
Interview Weight: 5/10
Build Systems
advanced

Memory Layout & Startup

How VMA/LMA, .data copy, .bss zero, and the C runtime preparation chain make C code work — Reset_Handler from Flash to main().

build-systems
memory-layout
startup-code
Reset_Handler
+4
Interview Weight: 5/10
C/C++ Programming & Low-Level Foundations
foundational

Pointers, Arrays & Pointer Arithmetic

Pointer fundamentals, pointer arithmetic, array decay, void pointers, and common interview traps — the building blocks of every embedded C program.

c
pointers
arrays
memory
Interview Weight: 5/10
RTOS & Real-Time
intermediate

RTOS fundamentals

Understand real-time operating systems: hard vs soft real-time, task states, RTOS vs bare-metal tradeoffs, memory model, and FreeRTOS vs Zephyr comparison.

rtos
real-time
freertos
zephyr
+3
Interview Weight: 5/10
RTOS & Real-Time
intermediate

RTOS Scheduling and Timing

Understand preemptive vs cooperative scheduling, context switching mechanics and cost, rate monotonic analysis, timing analysis, and tickless idle for power-efficient RTOS systems.

rtos
scheduling
context-switch
preemptive
+3
Interview Weight: 5/10
RTOS & Real-Time
intermediate

RTOS Synchronization Primitives

Compare mutex vs semaphore, message queues, event flags, and understand priority inversion and deadlock prevention in RTOS-based embedded systems.

rtos
mutex
semaphore
queue
+4
Interview Weight: 5/10
C/C++ Programming & Low-Level Foundations
foundational

volatile and const

Master the volatile and const type qualifiers — what the compiler does differently, hardware register access, ISR-shared variables, const with pointers, volatile const for read-only hardware, and MISRA C implications.

c
volatile
const
hardware
+1
Interview Weight: 5/10
Peripherals
intermediate

ADC

ADC (Analog-to-Digital Converter) fundamentals including resolution, sampling theory, SNR, oversampling, and DMA integration for embedded systems.

peripherals
adc
analog
sampling
+1
Interview Weight: 4/10
Wireless Technologies
intermediate

BLE Basics

Bluetooth Low Energy fundamentals: BLE vs Classic Bluetooth, GAP advertising and connections, GATT services and characteristics, connection parameters, BLE 5.0 features, security, and power optimization for embedded systems.

wireless
ble
bluetooth-low-energy
gap
+1
Interview Weight: 4/10
MCU & System Architecture
intermediate

Boot, vector table, and clock bring-up

Understand the hardware-side boot sequence on a Cortex-M MCU: reset sources, vector table, clock tree bring-up, and peripheral initialization order.

mcu
boot
vector-table
reset
+2
Interview Weight: 4/10
C/C++ Programming & Low-Level Foundations
foundational

C++ Classes & OOP for Embedded

C++ classes in embedded systems — encapsulating hardware registers, constructors/destructors for init/deinit, inheritance for device hierarchies, the cost of virtual functions and vtables in ROM, CRTP as a zero-cost polymorphism alternative, and when to prefer composition over inheritance.

c++
oop
classes
embedded
+1
Interview Weight: 4/10
C/C++ Programming & Low-Level Foundations
intermediate

C++ Embedded Constraints & STL

Navigate C++ in resource-constrained embedded systems — disabled exceptions and RTTI, heap-free programming, safe STL subsets, compiler flags, C/C++ interop with extern C, and industry guidelines (MISRA C++, AUTOSAR C++14).

c++
embedded
constraints
stl
+2
Interview Weight: 4/10
Peripherals
intermediate

CAN

CAN (Controller Area Network) communication including classic vs FD, arbitration, bit timing, and error handling for embedded systems.

peripherals
can
communication
arbitration
+1
Interview Weight: 4/10
Peripherals
intermediate

DMA

DMA (Direct Memory Access) fundamentals including transfer modes, channel configuration, circular buffers, and cache coherency for embedded systems.

peripherals
dma
memory
transfer
+1
Interview Weight: 4/10
MCU & System Architecture
intermediate

Driver design: HAL vs bare metal

Understand HAL vs bare-metal driver design tradeoffs, abstraction layer architecture, register-level access patterns, and when to use each approach in embedded systems.

mcu
drivers
hal
bare-metal
+3
Interview Weight: 4/10
C/C++ Programming & Low-Level Foundations
intermediate

Embedded C Code Patterns

State machines, ring buffers, bit manipulation, error handling, memory-mapped I/O, volatile-safe patterns, and guard clauses -- the embedded C patterns interviewers expect you to write from memory.

c
patterns
state-machines
ring-buffers
+1
Interview Weight: 4/10
State Machines
intermediate

Event-Driven State Machines

Move from polling to event-driven FSMs: RTOS queue dispatch, run-to-completion, ISR safety, and the active-object pattern.

state-machines
fsm
event-driven
rtos
+2
Interview Weight: 4/10
State Machines
intermediate

FSM Patterns in C

Three implementation patterns for FSMs in C — switch-case, table-driven, function-pointer table — with trade-offs and a folded-in section on testing FSMs.

state-machines
fsm
c-patterns
table-driven
+2
Interview Weight: 4/10
C/C++ Programming & Low-Level Foundations
intermediate

Function Pointers & Callbacks

Function pointer syntax and typedef, callback patterns (event handlers, dispatch tables, state machines), qsort as a classic example, HAL abstraction via function pointers, vtable-style polymorphism in C, and safety considerations for embedded systems.

c
function-pointers
callbacks
dispatch-tables
+1
Interview Weight: 4/10
Peripherals
foundational

GPIO

GPIO (General Purpose Input/Output) fundamentals including pin modes, push-pull vs open-drain, pull-up/pull-down resistors, interrupts, debouncing, and atomic port operations for embedded systems.

peripherals
gpio
interrupts
polling
+1
Interview Weight: 4/10
Peripherals
intermediate

I2C

Master I2C (Inter-Integrated Circuit) communication including addressing, repeated start, clock stretching, and error recovery for embedded systems.

peripherals
i2c
communication
addressing
+1
Interview Weight: 4/10
RTOS & Real-Time
intermediate

ISR-to-task patterns

Master the deferred processing pattern: how ISRs signal RTOS tasks using semaphores, queues, and task notifications, with FromISR API rules and double-buffering techniques.

rtos
isr
deferred-processing
bottom-half
+3
Interview Weight: 4/10
Build Systems
advanced

Linker Scripts

Master the linker script: MEMORY and SECTIONS blocks, the location counter, KEEP/ALIGN, and how to place code and data exactly where you want it.

build-systems
linker
linker-script
memory
+2
Interview Weight: 4/10
Embedded Linux Essentials
intermediate

Linux boot process

Understand the embedded Linux boot sequence from power-on through U-Boot, kernel initialization, initramfs, and rootfs mounting to the first userspace process.

embedded-linux
boot
u-boot
kernel
+3
Interview Weight: 4/10
Embedded Linux Essentials
intermediate

Linux build systems

Compare Yocto, Buildroot, and OpenWrt for building embedded Linux images. Understand layers, recipes, cross-compilation toolchains, and image generation.

embedded-linux
yocto
buildroot
openwrt
+3
Interview Weight: 4/10
Embedded Linux Essentials
intermediate

Linux device tree

Understand device tree syntax, node structure, compatible strings, overlays, and how the kernel uses DTB to discover and configure hardware on embedded Linux systems.

embedded-linux
device-tree
dts
dtb
+3
Interview Weight: 4/10
Embedded Linux Essentials
intermediate

Linux drivers and kernel modules

Understand Linux kernel modules, the driver model, character devices, platform drivers, and the probe/remove lifecycle for embedded Linux driver development.

embedded-linux
drivers
kernel-modules
char-device
+3
Interview Weight: 4/10
Embedded Linux Essentials
intermediate

Linux IPC mechanisms

Compare Linux inter-process communication mechanisms — pipes, shared memory, Unix sockets, message queues, signals, and D-Bus — and know when to use each in embedded systems.

embedded-linux
ipc
pipes
shared-memory
+3
Interview Weight: 4/10
MCU & System Architecture
intermediate

MCU cores and clocking

Understand ARM Cortex-M core families, RISC-V in embedded, clock tree architecture, PLL configuration, and power modes for optimal embedded system design.

mcu
arm
risc-v
clocking
+3
Interview Weight: 4/10
C/C++ Programming & Low-Level Foundations
intermediate

Memory Alignment & Endianness

Memory alignment rules, struct padding and reordering, endianness (big vs little), network byte order, byte swapping, and portable serialization for cross-architecture embedded systems.

c
alignment
endianness
memory
+1
Interview Weight: 4/10
Networking & Protocols
intermediate

MQTT

MQTT protocol for IoT: publish/subscribe model, topic hierarchy and wildcards, QoS levels (0/1/2), retained messages, last will and testament, persistent sessions, MQTT 5.0, broker selection, and embedded client considerations.

networking
mqtt
publish-subscribe
qos
+1
Interview Weight: 4/10
C/C++ Programming & Low-Level Foundations
intermediate

RAII & Smart Pointers

Master RAII (Resource Acquisition Is Initialization) and smart pointers for embedded C++ — deterministic cleanup, lock guards, DMA buffer ownership, unique_ptr with custom deleters, and heap-free RAII patterns.

c++
raii
smart-pointers
resource-management
+1
Interview Weight: 4/10
Networking & Protocols
intermediate

Sockets API Basics

Sockets API lifecycle for embedded systems: socket/bind/listen/accept/connect/send/recv/close, TCP vs UDP patterns, blocking vs non-blocking I/O, select/poll/epoll multiplexing, socket options, error handling, and lwIP vs Linux sockets.

networking
sockets
tcp
udp
+5
Interview Weight: 4/10
Peripherals
intermediate

SPI

Master SPI (Serial Peripheral Interface) communication including modes, CS handling, multi-slave timing, and throughput optimization for embedded systems.

peripherals
spi
communication
modes
+1
Interview Weight: 4/10
C/C++ Programming & Low-Level Foundations
foundational

Structs, Unions & Bitfields

Structure layout and padding, packed structs, unions for type punning and register overlays, bitfields for hardware register mapping, and portability pitfalls — all through the lens of embedded systems interviews.

c
structs
unions
bitfields
+1
Interview Weight: 4/10
Networking & Protocols
intermediate

TCP/IP Fundamentals

TCP/IP protocol stack for embedded systems: layers, TCP vs UDP, three-way handshake, flow control, congestion control, sockets API, and lightweight stacks (lwIP).

networking
tcp-ip
tcp
udp
+2
Interview Weight: 4/10
C/C++ Programming & Low-Level Foundations
intermediate

Templates & Constexpr

Zero-cost abstractions with C++ templates and constexpr — compile-time register maps, type-safe units, static polymorphism via CRTP, constexpr lookup tables, and managing template bloat on flash-constrained MCUs.

c++
templates
constexpr
metaprogramming
+1
Interview Weight: 4/10
Peripherals
intermediate

Timers and PWM

Master timer peripherals and PWM generation including counting modes, prescaler configuration, input capture, output compare, and dead-time insertion for embedded systems.

peripherals
timers
pwm
capture
+1
Interview Weight: 4/10
Networking & Protocols
intermediate

TLS for Embedded Systems

TLS in embedded systems: TLS 1.2 vs 1.3 handshake, certificate vs PSK authentication, RAM/flash costs on Cortex-M, hardware crypto acceleration, DTLS for UDP protocols, certificate management in the field, and embedded TLS library comparison (mbedTLS, wolfSSL, BearSSL).

networking
tls
security
dtls
+2
Interview Weight: 4/10
Peripherals
intermediate

UART

Master UART (Universal Asynchronous Receiver-Transmitter) communication including baud rate configuration, framing, DMA, flow control, and common pitfalls in embedded systems.

peripherals
uart
serial
communication
+2
Interview Weight: 4/10
Wireless Technologies
intermediate

WiFi for Embedded

WiFi for embedded systems: station vs AP mode, provisioning methods, power management (DTIM, light/deep sleep), WPA2/WPA3 security, embedded WiFi modules, and decision matrix for choosing WiFi vs BLE vs cellular.

wireless
wifi
embedded-wifi
power-management
+1
Interview Weight: 4/10
Wireless Technologies
foundational

Wireless Technology Selection Guide

Decision matrix for choosing the right wireless technology for embedded IoT: BLE vs WiFi vs LoRa vs Cellular vs Zigbee/Thread vs UWB compared across range, data rate, power, topology, cost, and use case. Includes a decision flowchart and common multi-radio combinations.

wireless
decision-matrix
iot
comparison
+1
Interview Weight: 4/10
Wireless Technologies
intermediate

Cellular IoT: NB-IoT & LTE-M

Cellular IoT for embedded systems: NB-IoT vs LTE-M (Cat-M1) comparison, PSM and eDRX power saving, AT command modem control, SIM/eSIM provisioning, cellular module integration, data plan considerations, and 5G RedCap for IoT.

wireless
cellular
nb-iot
lte-m
+3
Interview Weight: 3/10
MCU & System Architecture
intermediate

CPU fundamentals for embedded

Understand CPU pipeline, cache coherency with DMA, memory barriers, bus architecture (AHB/APB), and memory types (SRAM, TCM, CCM) — the computer architecture concepts embedded interviewers actually test.

cpu
cache
pipeline
bus
+5
Interview Weight: 3/10
Debugging, Testing & Tools
intermediate

Debugging embedded systems

Master embedded debugging: JTAG/SWD, GDB remote debugging, hard fault analysis, printf vs trace, logic analyzers, and systematic debugging methodology.

debugging
jtag
swd
gdb
+3
Interview Weight: 3/10
Build Systems
intermediate

ELF, Map & Binary Inspection

Read ELF files and linker map files to debug binary-size, symbol-resolution, and unexpected-bloat issues using objdump, nm, size, readelf, strip, and addr2line.

build-systems
elf
map-file
objdump
+5
Interview Weight: 3/10
Hardware & Power Design
intermediate

Hardware fundamentals for firmware engineers

Essential EE concepts for embedded interviews: reading schematics, pull-up resistors, LDO vs switching regulators, decoupling caps, voltage levels, and power sequencing.

electronics
hardware
schematics
ldo
+3
Interview Weight: 3/10
State Machines
advanced

Hierarchical State Machines

How nested states + behavioral inheritance solve the state-explosion problem; UML statecharts, the QP framework, and when an HSM is justified over a flat FSM.

state-machines
hsm
hierarchical
uml-statechart
+2
Interview Weight: 3/10
Networking & Protocols
intermediate

HTTP REST for IoT

HTTP and REST for embedded/IoT: REST principles, HTTP/1.1 vs HTTP/2, API design for embedded devices, JSON vs CBOR, authentication (API keys, OAuth, JWT), TLS overhead on constrained devices, CoAP for constrained networks, and when REST is appropriate versus lightweight protocols.

networking
http
rest
api
+3
Interview Weight: 3/10
Safety, Security & Reliability
intermediate

Industry safety and security standards

Overview of embedded industry standards: IEC 61508, ISO 26262, IEC 62304, DO-178C, and MISRA C — what firmware engineers need to know for interviews.

safety
standards
iso-26262
iec-61508
+2
Interview Weight: 3/10
C/C++ Programming & Low-Level Foundations
intermediate

Inline Functions & Macros

#define macros (object-like, function-like, pitfalls), inline functions (type safety, debugging advantages), preprocessor directives (include guards, #pragma once, #ifdef), MISRA C guidelines, X-macros, and static inline for header-file functions.

c
macros
inline
preprocessor
+1
Interview Weight: 3/10
Embedded Linux Essentials
intermediate

Linux userspace basics

Understand the embedded Linux userspace environment: root filesystem layout, filesystem types for Flash, init systems, BusyBox, process model, and debugging tools.

embedded-linux
userspace
rootfs
busybox
+3
Interview Weight: 3/10
Wireless Technologies
intermediate

LoRa & LoRaWAN

LoRa and LoRaWAN for embedded IoT: PHY vs protocol stack, spreading factor/bandwidth/coding rate trade-offs, LoRaWAN architecture, device classes (A/B/C), OTAA vs ABP activation, ADR, duty cycle restrictions, and comparison with NB-IoT and Sigfox.

wireless
lora
lorawan
lpwan
+1
Interview Weight: 3/10
Hardware & Power Design
intermediate

Low-power design techniques

System-level power optimization for embedded: battery budgeting, duty cycling, peripheral power management, wake-up strategies, and sleep current auditing.

power
low-power
battery
duty-cycle
+2
Interview Weight: 3/10
Build Systems
intermediate

Make & CMake for Embedded

Compare Make and CMake for embedded projects: rules, targets, toolchain files, and when to use each.

build-systems
make
cmake
build-tools
+1
Interview Weight: 3/10
Wireless Technologies
intermediate

Mesh Networking: Zigbee, Thread & Matter

Mesh networking for embedded IoT: why mesh matters (self-healing, range extension), Zigbee architecture and ZCL, Thread's IP-native mesh over 802.15.4, Matter as the unifying application layer, and choosing mesh vs star topology.

wireless
mesh
zigbee
thread
+3
Interview Weight: 3/10
Safety, Security & Reliability
intermediate

OTA updates and rollback

Design reliable over-the-air firmware updates: A/B partitioning, delta updates, rollback strategies, update security, and power-fail safety.

ota
firmware-update
rollback
a-b-partitioning
+2
Interview Weight: 3/10
Debugging, Testing & Tools
intermediate

Power profiling and measurement

Measure and optimize embedded power consumption: current probes, power analyzers (PPK2, Joulescope), software estimation, and profiling methodology.

power-profiling
current-measurement
joulescope
ppk2
+1
Interview Weight: 3/10
Safety, Security & Reliability
intermediate

Safety mechanisms for embedded systems

Implement safety mechanisms: defensive programming, watchdog strategies, memory integrity checks, redundancy patterns, and fail-safe vs fail-operational design.

safety
watchdog
redundancy
defensive-programming
+2
Interview Weight: 3/10
Safety, Security & Reliability
intermediate

Secure boot and cryptography

Understand secure boot chains, hardware crypto accelerators, TLS for embedded, key management, and common embedded security attacks.

security
secure-boot
crypto
tls
+3
Interview Weight: 3/10
Hardware & Power Design
intermediate

Signal integrity and EMC

Understand signal integrity and electromagnetic compatibility: rise times, reflections, EMC compliance, grounding strategies, and PCB layout awareness for firmware engineers.

electronics
signal-integrity
emc
grounding
+2
Interview Weight: 3/10
Debugging, Testing & Tools
intermediate

Testing and code coverage

Embedded testing strategies: unit testing with Unity/CppUTest, HIL testing, code coverage with gcov, static analysis, and CI/CD for embedded.

testing
unit-testing
coverage
hil
+2
Interview Weight: 3/10
Build Systems
intermediate

Toolchains & Cross-Compilation

Understand cross-compilation: gcc + binutils + libc components, sysroot, target triplets, and the float-ABI/CPU flags that pin a build to specific hardware.

build-systems
toolchain
cross-compilation
gcc
+3
Interview Weight: 3/10
Wireless Technologies
intermediate

Ultra-Wideband (UWB)

Ultra-Wideband for embedded systems: short-pulse wideband radio for precise ranging, IEEE 802.15.4z, TWR vs TDoA ranging methods, UWB vs BLE positioning comparison, digital car keys, indoor positioning, and embedded UWB chips.

wireless
uwb
ultra-wideband
ranging
+3
Interview Weight: 3/10
Peripherals
intermediate

USB

USB (Universal Serial Bus) fundamentals including device architecture, transfer types, enumeration, descriptors, and common device classes for embedded systems.

peripherals
usb
communication
endpoints
+1
Interview Weight: 3/10
Peripherals
intermediate

Watchdog Timer

Watchdog timer fundamentals including IWDG vs WWDG, windowed mode, feeding strategies, and system recovery for reliable embedded systems.

peripherals
watchdog
safety
reliability
+1
Interview Weight: 3/10