Peripheral Interfacing and Hardware Abstraction Questions
Basic understanding of common peripherals: ADC (Analog-to-Digital Converter), DAC (Digital-to-Analog Converter), timers, PWM (Pulse-Width Modulation), UART, SPI, I2C, GPIO. Knowledge of how to interface with these peripherals using registers or hardware abstraction layers. Understanding of communication protocols at a basic level.
MediumSystem Design
75 practiced
Design how to put an MCU into a low-power sleep mode while allowing an external GPIO or a peripheral (e.g., RTC) to wake it. Describe what power domains to disable, how to shut down peripheral clocks safely, how to configure wake-up sources and debounce/false-trigger prevention, and the sequence to reinitialize peripherals on wake. Discuss trade-offs between wake latency and power consumption.
HardTechnical
85 practiced
Design a robust link-layer protocol over UART when hardware RTS/CTS flow control is unavailable. Requirements: maintain data integrity over a noisy link, prevent buffer overruns at receiver, support retransmission, and keep memory usage low for small microcontrollers. Describe framing, length fields, escaping rules, checksum/CRC choice, ACK/NACK or selective repeat strategy, simple software flow control options (XON/XOFF or credit-based), and expected trade-offs between throughput and reliability.
HardTechnical
73 practiced
Devise an I2C bus recovery procedure for when a slave device holds SDA low (bus stuck). Include firmware and hardware steps: toggling SCL as GPIO up to 9 clock pulses to complete a stuck transfer, issuing STOP, reinitializing the bus controller, optional resetting or power-cycling slaves that are hot-swapped, and logging/timeouts. Discuss how to detect a stuck bus programmatically and how to handle hot-plugged sensors without rebooting the system.
EasyTechnical
68 practiced
Explain hardware timers and counters in microcontrollers: common timer modes (up, down, up/down), prescalers, auto-reload/period registers, capture/compare channels, overflow/underflow interrupts, and typical uses such as event timing, input capture, PWM, and scheduling. Discuss how prescalers affect resolution and maximum measurable interval.
MediumTechnical
67 practiced
Explain the I2C sequence to write a register address on a slave device and then read multiple bytes starting from that register using a repeated START (no STOP between write and read). Provide a pseudo-transaction showing START, slave-address+W, register-byte(s), repeated START, slave-address+R, data bytes with ACK/NACK, and STOP. Also describe error handling when a NACK occurs after address or data bytes.
Unlock Full Question Bank
Get access to hundreds of Peripheral Interfacing and Hardware Abstraction interview questions and detailed answers.
Sign in to ContinueJoin thousands of developers preparing for their dream job.