5 exercises — vocabulary every embedded and IoT engineer needs in English: bare metal vs RTOS, MQTT messaging, volatile and ISRs, edge computing, and hardware communication protocols.
Core embedded & IoT vocabulary clusters
System types: bare metal, RTOS (FreeRTOS, Zephyr), bootloader, HAL, BSP, microcontroller (MCU)
A firmware engineer explains a system design: "We don't use an RTOS — the timing requirements are hard enough that we run on bare metal and handle everything in interrupt service routines directly." What is bare metal programming in embedded systems?
Bare metal programming means running code directly on the microcontroller without any operating system — no RTOS, no Linux, no scheduler. The firmware is the only software running on the hardware. Bare metal vs RTOS: Bare metal — you write your own main loop and interrupt handlers; full control, lowest latency, no OS overhead. Suitable for simple devices with deterministic timing. RTOS (Real-Time Operating System) — provides task scheduling, timing, IPC (semaphores, mutexes, queues). Examples: FreeRTOS, Zephyr, RTEMS. Suitable for complex firmware with multiple concurrent tasks. Key embedded vocabulary: HAL (Hardware Abstraction Layer) — a library (e.g., STM32 HAL) that wraps register access in functions. BSP (Board Support Package) — hardware-specific code for a particular board. Peripheral — on-chip hardware modules (GPIO, UART, SPI, I2C, timers, ADC). Register — memory-mapped hardware control locations. Bootloader — code that runs at power-on before the main firmware, often handling firmware updates. In conversation: "We kept it bare metal — the device only does one thing and the latency requirements are under 10 microseconds."
2 / 10
An IoT architect says: "Every sensor publishes its readings to an MQTT broker. The processing service subscribes to the temperature and pressure topics and stores the data in a time-series database." What is MQTT and why is it used in IoT?
MQTT (Message Queuing Telemetry Transport) is a publish-subscribe protocol designed for constrained environments: low bandwidth, high latency, or unreliable networks. Originally developed by IBM for monitoring oil pipelines via satellite. MQTT vocabulary: Broker — the central server that receives and routes messages (Mosquitto, EMQX, HiveMQ, AWS IoT). Publisher — a device that sends messages to topics. Subscriber — a client that receives messages on topics it subscribed to. Topic — a hierarchical string identifier (e.g., "sensors/floor2/temperature"). QoS (Quality of Service) — 0 = at most once (fire and forget), 1 = at least once, 2 = exactly once. Retain — the broker stores the last message on a topic for new subscribers. LWT (Last Will and Testament) — a pre-configured message the broker sends if a device disconnects unexpectedly. Why MQTT over HTTP for IoT: smaller packet overhead (2-byte header vs HTTP headers), persistent connections, push model vs polling, QoS guarantees. CoAP is another IoT protocol (UDP-based, even lighter). In conversation: "We use MQTT QoS 1 for sensor data — some duplicates are acceptable, but we can't afford to lose readings in the database."
3 / 10
A firmware developer writes in a code review: "You need to declare this variable as volatile — the compiler is optimising it out because it doesn't see any writes to it in the main loop, but the ISR modifies it." What does volatile do, and what is an ISR?
volatile in C/C++ instructs the compiler: "do not optimise, cache, or reorder accesses to this variable — always read it from memory." Without volatile, the compiler may cache the variable in a register and never re-read it from memory, missing updates made by an ISR. ISR (Interrupt Service Routine) is a function that runs asynchronously when a hardware interrupt fires — timer overflow, GPIO edge, UART receive complete, etc. ISR best practices: keep ISRs extremely short (set a flag, copy data to a buffer); never do heavy computation, blocking calls, or dynamic memory allocation in an ISR; variables shared between ISR and main code must be declared volatile. Atomic access: on 32-bit systems reading a 32-bit variable is atomic; reading a 64-bit variable in two instructions is not — an ISR could fire between the two reads. Solution: disable interrupts around multi-byte reads, or use atomic types. In conversation: "The bug was a race condition — the main loop read the ring buffer head pointer between the ISR's two writes, seeing a partially-updated index."
4 / 10
An IoT engineer discusses a connectivity architecture: "Edge devices don't have direct internet access — they send sensor data to local gateways over BLE or Zigbee. The gateway aggregates the data and forwards it securely to the cloud over MQTT. This reduces latency for local decisions." What is edge computing in this context?
Edge computing is processing data at or near the source of generation — on the device, gateway, or a local server — rather than sending everything to the cloud. Benefits: Low latency — local decisions (e.g., stopping a machine) don't depend on round-trip to the cloud. Bandwidth reduction — only relevant/aggregated data is sent to cloud. Offline resilience — the system works even when cloud connectivity is lost. Privacy — sensitive data can be processed locally without leaving the premises. Edge computing vocabulary: Edge device — a sensor, camera, or controller at the data source. Edge gateway — a more powerful device that aggregates and pre-processes data from multiple edge devices. Fog computing — Cisco's term for a hierarchy of edge nodes between devices and cloud. Inference at the edge — running ML models locally (e.g., on-device image recognition). In contrast, cloud computing centralises processing. The architecture: Device (sensor) → Gateway (edge) → Cloud (long-term storage, analytics). In conversation: "We run ONNX models on the gateway for real-time defect detection; only anomalies are uploaded to the cloud for human review."
5 / 10
A hardware engineer says: "We're using I2C to connect multiple sensors to the MCU on a shared bus. Each device has a unique 7-bit address, and the master initiates every transaction." What is I2C, and what does master/slave mean in this context?
I2C (Inter-Integrated Circuit) is a synchronous, 2-wire serial protocol: SDA (data) and SCL (clock). A single master can communicate with multiple slaves on the same bus, each identified by a unique 7-bit address. I2C characteristics: Speed — Standard (100 kHz), Fast (400 kHz), Fast-Plus (1 MHz). Multi-master — multiple masters possible but requires arbitration. Open-drain — both lines require pull-up resistors. Common I2C devices: temperature sensors (LM75), IMUs (MPU-6050), OLEDs (SSD1306), EEPROMs, RTC chips. Comparison with other embedded protocols: SPI (Serial Peripheral Interface) — 4-wire, faster (MHz), full-duplex, hardware select per device. Better for high-speed peripherals (displays, SD cards). UART — asynchronous, 2-wire, point-to-point only. Used for GPS, Bluetooth modules, debug output. CAN bus — used in automotive and industrial, robust noise immunity, multi-master, long cables. Note: "master/slave" terminology is being replaced in some communities with "controller/responder" or "host/peripheral." In conversation: "We had I2C address conflicts — two sensors had the same default address, so we had to pull the ADDR pin low on one to change its address to 0x49."
6 / 10
Alex (a Senior IoT Engineer) sends this Slack message to the team: 'Just deployed a new firmware update for the sensors. They're now reporting their data via CoAP over UDP.' What is CoAP, and why was UDP chosen in this scenario?
CoAP (Constrained Application Protocol) is a specialized application layer protocol designed for resource-constrained devices in IoT environments. UDP (User Datagram Protocol), being connectionless and offering lower overhead than TCP, is often preferred when speed and minimal latency are critical, even at the expense of guaranteed delivery – crucial for sensor data transmission.
7 / 10
Ben (a DevOps Engineer) is reviewing a pull request for a new smart thermostat. The PR includes this commit message: 'Added device shadow to the cloud platform using gRPC.' What does 'device shadow' refer to, and why might gRPC be suitable here?
In IoT, a 'device shadow' represents the current state (temperature, humidity, etc.) of a physical smart thermostat as reflected in a cloud-based data model. gRPC (Google Remote Procedure Call) is a high-performance RPC framework optimized for efficient communication between services – ideal for exchanging this real-time device state data.
8 / 10
Chloe (a Firmware Developer) is explaining a design choice in a code review comment: 'We're using a DMA controller to transfer data from the sensor directly to RAM. This avoids CPU overhead and improves responsiveness.' What does DMA stand for, and why is it beneficial in this context?
DMA (Direct Memory Access) is a hardware feature that allows peripherals like sensors to directly transfer data to and from system memory without the constant involvement of the CPU. This significantly reduces CPU load, improves responsiveness, and enables faster data acquisition – crucial for real-time sensor applications.
9 / 10
David (a Technical Lead) is presenting a project update in a standup meeting: 'We're implementing a local compute node on the edge to pre-process sensor data before sending it to the cloud. This reduces bandwidth usage and latency.' What does 'edge computing' refer to in this scenario?
In IoT, 'edge computing' describes a paradigm where data processing is performed closer to the source of that data – in this case, on a local compute node near the sensors themselves. This reduces latency (the delay between sensing and action), minimizes bandwidth usage by filtering raw data before sending it to the cloud, and enables faster decision-making at the edge.
10 / 10
Emily (an IoT Architect) describes a system design: 'We're using Zigbee to connect the sensors. The network is self-healing and mesh-based.' What are the key characteristics of Zigbee, and why is a mesh topology suitable for this application?
Zigbee is a low-power wireless communication protocol often used in IoT applications. Its mesh topology means that devices can communicate with each other directly, or relay messages through multiple hops – providing redundancy and extending the network's range while ensuring reliable connectivity even if some devices fail.
What does the "Embedded & IoT Vocabulary" vocabulary exercise cover?
This exercise tests real IT vocabulary related to embedded & iot vocabulary through 10 multiple-choice questions, each built from realistic workplace sentences rather than abstract definitions.
Is this vocabulary exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is completely free — no account, sign-up, or payment required.
How many questions does this exercise have?
This exercise has 10 questions. Each one shows a real-world sentence or scenario with multiple-choice options and an explanation once you answer.
What happens after I answer a question?
You'll see immediate feedback showing whether your answer was correct, along with a short explanation of why — then a button to move to the next question, and a full results screen at the end.
Can I retry the exercise if I get questions wrong?
Yes. Once you reach the results screen, click "Try again" to reset your answers and go through the exercise from the start as many times as you like.
Do I need to create an account to take this exercise?
No account is needed. Your answers are scored in your browser during the session — nothing is saved to a server, so you can jump straight in.
Is my progress saved if I leave the page?
No — progress within an exercise resets if you navigate away or reload. Each exercise is short enough to complete in a few minutes in one sitting.
Are these vocabulary exercises connected to other topics?
Yes — browse the full vocabulary exercises hub to find related modules covering adjacent IT topics and roles.
How is this different from reading a glossary or blog article?
Exercises like this one are active recall drills — you have to choose the correct term or phrasing yourself, which builds retention faster than passively reading a definition.
Where can I find more vocabulary exercises?
Browse the full Vocabulary exercises hub for hundreds of modules covering Agile, DevOps, security, databases, architecture, and more — organised by IT role and skill.