Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Embedded Systems Situational MCQs - Basic to Intermediate

Total questions: 40

Worksheet time: 20mins

Name
Class
Date
1.

A temperature sensor connected to a microcontroller gives fluctuating values. What’s the first step to stabilize readings?

a)

Reduce microcontroller speed

b)

Add a capacitor and apply software filtering

c)

Use a smaller sensor

d)

Change baud rate

2.

Your LED connected to a GPIO pin stays ON after turning OFF in code. What might be wrong?

a)

GPIO pin configured as input

b)

Using pull-down resistor

c)

Delay function missing

d)

LED polarity reversed

3.

The microcontroller resets unexpectedly after uploading code. What might be the issue?

a)

Too many print statements

b)

Watchdog timer not reset properly

c)

Code size too small

d)

ADC not used

4.

Your embedded system fails to boot with an SD card inserted. What’s the probable reason?

a)

SD card uses too much power during startup

b)

Sensor interference

c)

Weak GPIO drive

d)

No Wi-Fi available

5.

A sensor connected to an analog input shows incorrect values. What should you check first?

a)

Change to digital pin

b)

ADC resolution and voltage reference

c)

Increase sensor range

d)

Use PWM

6.

UART communication between two devices fails intermittently. What’s a common cause?

a)

GPIO mode

b)

Baud rate mismatch

c)

Too many interrupts

d)

SPI interference

7.

A user presses a button and the LED toggles multiple times. What’s likely the issue?

a)

Overvoltage

b)

Button debounce not handled

c)

Delay too long

d)

LED wattage

8.

You're using an 8-bit microcontroller for a large sensor matrix. It runs slowly. What can you do?

a)

Change to SPI display

b)

Optimize ISR and use port-level operations

c)

Reduce sensor count

d)

Use larger wires

9.

The PWM fan in your embedded device spins at full speed regardless of code. What could be wrong?

a)

Frequency mismatch

b)

Incorrect PWM duty cycle or configuration

c)

Fan is digital

d)

Too much delay in loop

10.

The microcontroller behaves erratically near high-current motors. Why?

a)

Wrong code

b)

Electromagnetic interference; needs shielding or snubber

c)

Wi-Fi channel conflict

d)

ADC overflow

11.

Which memory is used to store the bootloader in most microcontrollers?

a)

EEPROM

b)

Flash memory

c)

RAM

d)

Cache

12.

You want to store user preferences in a system that persists even after power is lost. Where should you store it?

a)

SRAM

b)

DRAM

c)

EEPROM or Flash

d)

UART buffer

13.

A timer-based interrupt routine sometimes delays output generation. What may help?

a)

Increase baud rate

b)

Reduce ISR code length and prioritize interrupts

c)

Add pull-up resistor

d)

Use higher ADC resolution

14.

You detect overheating in your microcontroller during operation. What is the best remedy?

a)

Increase program memory

b)

Use power-saving sleep modes and reduce clock speed

c)

Remove bypass capacitor

d)

Switch to USB power

15.

Which tool is best suited for debugging embedded software?

a)

Logic gate

b)

IDE with built-in debugger or JTAG

c)

Multimeter

d)

Compiler

16.

You want to update firmware on your microcontroller remotely. What method is ideal?

a)

Serial cable

b)

ISP only

c)

OTA (Over-the-Air) update

d)

Reprogram EEPROM manually

17.

What’s the typical use of the watchdog timer in microcontrollers?

a)

Reduce speed

b)

Prevent brownout

c)

Reset system in case of software hang

d)

Log errors

18.

What happens if your ISR takes too long to execute?

a)

Program speeds up

b)

Timer accuracy improves

c)

Other interrupts may be missed or system may hang

d)

Code runs twice

19.

Which communication protocol is best suited for short-distance, low-speed, multi-device communication?

a)

SPI

b)

I2C

c)

UART

d)

Bluetooth

20.

An LED controlled via PWM flickers visibly. What can be the cause?

a)

PWM duty cycle too high

b)

PWM frequency too low

c)

LED polarity wrong

d)

Resistor too large

21.

You’re experiencing missed UART data when your embedded system is multitasking. What is the optimal remedy?

a)

Disable interrupts

b)

Increase baud rate

c)

Use DMA for UART data handling

d)

Increase buffer size only

22.

A sensor gives correct readings when tested alone but fails when combined with other sensors. Likely cause?

a)

Wrong baud rate

b)

Improper power supply decoupling and ground bounce

c)

ADC bit mismatch

d)

Incorrect for-loop

23.

Your embedded Linux device hangs after extended runtime. Which diagnostic tool is most helpful?

a)

Ping

b)

dmesg and top

c)

GPIO scope

d)

EEPROM viewer

24.

During interrupt execution, the system behaves unpredictably. What is likely missing?

a)

Global variable usage

b)

Interrupt flag clearing or context preservation

c)

Correct loop syntax

d)

SPI clock sync

25.

You want your embedded system to perform periodic tasks accurately over time. What mechanism do you use?

a)

delay() in main loop

b)

Polling sensors manually

c)

Hardware timer interrupt

d)

printf statements

26.

In a real-time application, the use of floating-point arithmetic slows your system. What should you do?

a)

Replace float with integer math using fixed-point representation

b)

Use delayMicroseconds

c)

Reduce baud rate

d)

Switch to 64-bit processor

27.

An embedded system must react to an external pulse within 5μs. What’s the most reliable strategy?

a)

Use main loop polling

b)

GPIO input

c)

External interrupt and inline ISR

d)

printf debugging

28.

You want to reduce power in a battery-operated microcontroller. What approach helps most?

a)

Increase clock speed

b)

Run infinite loop

c)

Enter sleep modes and reduce peripheral usage

d)

Use watchdog reset

29.

A real-time sensor array occasionally reports zero. What could improve stability?

a)

Reduce I2C clock

b)

Use averaging/filtering and FIFO buffer

c)

Disable ADC

d)

Increase EEPROM writes

30.

You’re using FreeRTOS and two tasks are accessing the same variable. What’s the correct solution?

a)

Disable one task

b)

Add semaphores or mutexes to protect shared resources

c)

Run tasks in parallel

d)

Use larger stacks

31.

Your system communicates with multiple SPI devices. The second device malfunctions. Likely issue?

a)

Shared MISO line

b)

Incorrect slave select pin handling

c)

Incorrect baud rate

d)

ADC conflict

32.

Why is cooperative multitasking often preferred in small embedded RTOS environments?

a)

Better speed

b)

Reduced memory and control overhead compared to preemptive scheduling

c)

Better sensor accuracy

d)

No need for interrupts

33.

An embedded device fails at certain environmental conditions. What testing is recommended?

a)

Regression testing

b)

HAL testing

c)

Environmental Stress Testing (thermal, vibration, EMI)

d)

EEPROM loop test

34.

Your code behaves differently in debug mode. What might be the cause?

a)

Compiler version

b)

Optimizations disabled or interrupts masked differently

c)

RAM overflow

d)

GPIO swapped

35.

A microcontroller peripheral seems unresponsive after a power event. What's the design improvement?

a)

Add delay

b)

Implement brown-out reset or power-on-reset circuitry

c)

Enable UART

d)

Switch to SPI

36.

An ISR triggers too frequently, starving other processes. What can you adjust?

a)

Increase loop speed

b)

Use GPIO toggle

c)

Adjust timer prescaler or reduce interrupt priority

d)

Disable sensor

37.

You're building a wearable device with data logging. What memory type fits best?

a)

DRAM

b)

NOR Flash

c)

EEPROM

d)

SRAM

38.

A shared resource accessed in ISR and main loop corrupts data. What’s the fix?

a)

Use delay()

b)

Use critical section protection or disable interrupts during access

c)

Use UART print

d)

Increase heap size

39.

A new microcontroller does not support floating point unit (FPU). What’s the workaround?

a)

Add external FPU chip

b)

Use fixed-point arithmetic for efficiency

c)

Use SPI for math

d)

Reduce code size

40.

Two peripherals using the same timer conflict. How to resolve?

a)

Use different pins

b)

Disable one peripheral

c)

Use separate timers or virtualize timer via software

d)

Shift to higher clock