Embedded Developer

40+ Embedded Developer Interview Questions and Answers

Updated 13 Feb 2025
search-icon

Q1. What is the difference betwe en nill pointer and void pointer

Ans.

A null pointer points to nothing while a void pointer can point to any data type.

  • A null pointer is a pointer that has been explicitly set to a null value.

  • A void pointer is a pointer that has no type associated with it.

  • A null pointer is a subtype of a void pointer.

  • A null pointer is used to indicate that a pointer does not point to a valid object.

  • A void pointer is used to store a pointer to any type of object.

Q2. What are storage class specifiers in c?

Ans.

Storage class specifiers in C are used to define the scope and lifetime of variables.

  • There are four storage class specifiers in C: auto, register, static, and extern.

  • Auto variables are local to a block and have automatic storage duration.

  • Register variables are stored in CPU registers for faster access.

  • Static variables have a lifetime throughout the program and are initialized only once.

  • Extern variables are declared in one file and can be used in other files.

  • Storage class spec...read more

Embedded Developer Interview Questions and Answers for Freshers

illustration image

Q3. What difference between Microprocessor and Micro controller?

Ans.

Microprocessor is a standalone CPU while microcontroller has CPU, memory, and peripherals on a single chip.

  • Microprocessor is used in applications where processing power is the main requirement, like computers.

  • Microcontroller is used in embedded systems where space, power, and cost are constraints, like in IoT devices.

  • Microprocessors require external components like memory and peripherals, while microcontrollers have them integrated.

  • Examples of microprocessors include Intel Co...read more

Q4. What does preprocessor do in c?

Ans.

Preprocessor in C is a tool that processes source code before compilation.

  • It performs macro substitution

  • It includes header files

  • It conditionally compiles code

  • It defines constants and symbols

  • It removes comments

  • Examples of preprocessor directives are #include, #define, #ifdef, #ifndef, #endif

  • Preprocessor directives start with a # symbol

Are these interview questions helpful?

Q5. What is the difference between a microcontroller and a microprocessor?

Ans.

Microcontrollers are integrated circuits designed for specific tasks with built-in memory and peripherals, while microprocessors are general-purpose CPUs without built-in memory or peripherals.

  • Microcontrollers are typically used in embedded systems for specific tasks, such as controlling a motor or sensor.

  • Microcontrollers have built-in memory and peripherals, reducing the need for external components.

  • Microprocessors are more versatile and used in general-purpose computing dev...read more

Q6. What is kernel space and any experience in device drivers

Ans.

Kernel space is a protected area of memory where the core of the operating system resides. Device drivers are software that allows the operating system to communicate with hardware devices.

  • Kernel space is a privileged area of memory that is reserved for the core components of the operating system.

  • Device drivers are software modules that facilitate communication between the operating system and hardware devices.

  • Experience in device drivers may involve writing, debugging, or op...read more

Share interview questions and help millions of jobseekers 🌟

man-with-laptop

Q7. What is Function pointer and it's use

Ans.

Function pointer is a variable that stores the address of a function and can be used to call that function.

  • Function pointers are used to pass a function as an argument to another function.

  • They can be used to implement callbacks and event handlers.

  • Function pointers can be used to implement polymorphism in C.

  • They can be used to switch between different implementations of a function at runtime.

Q8. what is interrupt latency..? what is a function pointer....?

Ans.

Interrupt latency is the time delay between the occurrence of an interrupt and the start of the routine that services the interrupt. A function pointer is a variable that stores the address of a function.

  • Interrupt latency is critical in real-time systems where timely response to events is important.

  • Interrupt latency can be reduced by optimizing the interrupt service routine.

  • Function pointers are commonly used in C and C++ programming languages.

  • Function pointers can be used to...read more

Embedded Developer Jobs

Embedded Developer 5-9 years
Larsen & Toubro (L&T)
4.0
Pune
Embedded Developer 4-7 years
Applied Information Inc ( India )
4.8
Mohali
Embedded Developer 3-6 years
Larsen & Toubro (L&T)
4.0
₹ 1 L/yr - ₹ 1 L/yr
Hazira

Q9. What is Interrupt service routine?

Ans.

An Interrupt Service Routine (ISR) is a function that is executed in response to an interrupt signal.

  • ISR is a type of callback function that handles interrupts

  • It is a low-level function that runs in response to a hardware event

  • ISR must be short and fast to avoid blocking other interrupts

  • Examples of interrupts include keyboard input, timer events, and hardware errors

Q10. What are different interrupts?

Ans.

Interrupts are signals sent to the processor to temporarily halt its current task and execute a specific task.

  • Hardware interrupts - generated by external devices

  • Software interrupts - generated by software programs

  • Maskable interrupts - can be disabled by the processor

  • Non-maskable interrupts - cannot be disabled by the processor

  • Examples - keyboard input, mouse input, timer interrupts, etc.

Q11. Are you develpoed a software from scratch? Or not?

Ans.

Yes, I have developed software from scratch for various projects.

  • I have experience developing software from scratch for projects in the automotive industry.

  • I have created custom firmware for embedded systems starting from a blank slate.

  • I have built applications from the ground up using C/C++ and Python.

  • I have designed and implemented algorithms for real-time processing in embedded systems.

Q12. Explain about the communication serial Protocols like SPI,UART,I2c.

Ans.

SPI, UART, and I2C are communication serial protocols used in embedded systems to transfer data between devices.

  • SPI (Serial Peripheral Interface) is a full-duplex synchronous communication protocol commonly used for communication between microcontrollers and peripheral devices.

  • UART (Universal Asynchronous Receiver/Transmitter) is a serial communication protocol that uses two wires for data transmission and is commonly used for communication between devices over longer distanc...read more

Q13. Schematic Diagram construction and working explation

Ans.

Schematic diagrams are visual representations of a circuit's components and connections.

  • Schematic diagrams use symbols to represent components like resistors, capacitors, and transistors.

  • Lines connecting the symbols show how the components are connected in the circuit.

  • Schematic diagrams help engineers and developers understand and troubleshoot circuits.

  • Example: A schematic diagram of a simple LED circuit would show the LED symbol connected to a resistor and a power source.

Q14. What's use the use of Static keywords

Ans.

Static keyword is used to declare variables and functions that are only accessible within the file they are declared in.

  • Static variables retain their value between function calls

  • Static functions can only be called within the file they are declared in

  • Static variables in functions are initialized only once

Q15. Explain register level architecture of ARM cortex-M series controllers.

Ans.

ARM Cortex-M series controllers have a register level architecture for low-level programming and control.

  • ARM Cortex-M series controllers have multiple registers for controlling various functions such as GPIO, timers, and interrupts.

  • Registers are memory locations within the processor used for storing data and control information.

  • Programmers can directly access and manipulate these registers to configure the behavior of the controller.

  • For example, the GPIO registers can be used...read more

Q16. Write a program to implement matrix multiplication.

Ans.

Program to implement matrix multiplication in C++.

  • Declare two matrices A and B of appropriate dimensions.

  • Initialize the matrices with values.

  • Create a result matrix C with dimensions rows of A and columns of B.

  • Perform matrix multiplication using nested loops.

  • Print the result matrix C.

Q17. How to develop linux device driver

Ans.

Developing Linux device drivers involves understanding the Linux kernel, writing code to interact with hardware, and testing the driver.

  • Understand the Linux kernel architecture and device model

  • Write the driver code to interact with the hardware

  • Compile the driver code and load it into the kernel

  • Test the driver to ensure proper functionality

  • Handle errors and debug issues as needed

Q18. Microprocessor vs microcontrollers

Ans.

Microprocessors are general-purpose processors while microcontrollers are specialized processors for specific tasks.

  • Microprocessors are used in computers and smartphones, while microcontrollers are used in embedded systems like washing machines and traffic lights.

  • Microprocessors have separate memory and I/O devices, while microcontrollers have integrated memory, I/O ports, and peripherals.

  • Microprocessors require external components for operation, while microcontrollers are se...read more

Q19. Explain differences between protocols I2c and SPI

Ans.

I2C is a synchronous serial communication protocol that uses a master-slave architecture, while SPI is a full-duplex communication protocol with a master-slave relationship.

  • I2C uses two wires for communication (SDA and SCL), while SPI typically uses four wires (MISO, MOSI, SCK, and SS).

  • I2C supports multiple devices on the same bus with unique addresses, while SPI requires a separate SS line for each device.

  • I2C has a lower data transfer rate compared to SPI, but is more common...read more

Q20. What is Memory Layout in c?

Ans.

Memory layout in C refers to how variables are stored in memory, including stack, heap, and data segments.

  • Memory layout includes stack, heap, data segments

  • Variables stored in stack have limited scope and size

  • Dynamic memory allocation uses heap for storage

  • Global and static variables stored in data segment

Q21. Write a C program to convert binary to decimal.

Ans.

C program to convert binary to decimal

  • Use a loop to iterate through the binary number from right to left

  • For each digit, multiply it by 2 raised to the power of its position

  • Add the result to a variable to calculate the decimal equivalent

Q22. What is the ultrasonic sensor?

Ans.

An ultrasonic sensor is a device that uses sound waves to measure distance and detect objects.

  • Uses high frequency sound waves to bounce off objects and measure distance

  • Commonly used in robotics and automation for object detection and avoidance

  • Can also be used in parking sensors, security systems, and medical imaging

  • Works by emitting a sound wave and measuring the time it takes for the wave to bounce back

Q23. What is Startup code?

Ans.

Startup code is the code that initializes the hardware and software environment before the main application code runs.

  • Startup code sets up the stack, initializes memory, configures interrupts, and sets up the processor's initial state.

  • It is typically written in assembly language and is specific to the microcontroller or processor being used.

  • Examples of startup code include setting up the vector table, initializing the clock system, and configuring the memory map.

Q24. Explain about an os boot up sequence

Ans.

OS boot up sequence involves several steps such as BIOS initialization, bootloader loading, kernel loading, and initialization of system services.

  • BIOS (Basic Input/Output System) initialization

  • Bootloader loading (e.g. GRUB, LILO)

  • Kernel loading and initialization

  • Init process execution

  • System services initialization

Q25. How to drive TFT display??

Ans.

TFT displays can be driven using various interfaces like SPI, I2C, parallel, etc. and require specific initialization and configuration.

  • Choose the appropriate interface based on the display and microcontroller specifications.

  • Initialize the display controller and configure the required parameters like resolution, color depth, etc.

  • Send the display data using the chosen interface and the appropriate protocol.

  • Implement any required features like touch input, backlight control, et...read more

Q26. What is a Raspberry Pi?

Ans.

Raspberry Pi is a small, affordable computer that can be used for various projects and applications.

  • Single-board computer developed by the Raspberry Pi Foundation

  • Runs on Linux-based operating system

  • Used for educational purposes, DIY projects, IoT applications, etc.

  • Example: Raspberry Pi 4 Model B

Q27. Difference between Timer and counters?

Ans.

Timers are used to measure time intervals, while counters are used to count events or occurrences.

  • Timers are typically used for generating delays, measuring time intervals, or triggering events at specific times.

  • Counters are used to count external events, such as pulses or interrupts.

  • Timers can be used to implement software delays, while counters can be used for tasks like frequency measurement.

  • Examples: A timer can be used to generate a periodic interrupt every 1 millisecond...read more

Q28. Reverse a string RTOS Linux Os

Ans.

To reverse a string, iterate through the characters from the end to the beginning and build a new string.

  • Create a new string to store the reversed result.

  • Iterate through the original string from the end to the beginning.

  • Append each character to the new string.

  • Return the reversed string.

Q29. Stack memory in microcontroller

Ans.

Stack memory in microcontrollers is used for storing local variables, function parameters, return addresses, and other temporary data during program execution.

  • Stack memory is a limited resource in microcontrollers and is typically smaller than heap memory.

  • Stack memory is managed automatically by the compiler and is organized as a LIFO (Last In, First Out) data structure.

  • Accessing stack memory is faster than accessing heap memory due to its linear allocation and deallocation p...read more

Q30. Print a string without using a samicolon

Ans.

Use printf function to print a string without using a semicolon.

  • Use printf function with a newline character at the end to print the string without a semicolon.

  • Example: printf("Hello, World!\n") will print 'Hello, World!' without using a semicolon.

Q31. tell me something about ESP32

Ans.

ESP32 is a low-cost, low-power system on a chip (SoC) microcontroller with integrated Wi-Fi and dual-mode Bluetooth.

  • Dual-core Tensilica LX6 microprocessors

  • Integrated 2.4 GHz Wi-Fi and Bluetooth

  • Low power consumption

  • Rich peripheral set

  • Support for various communication protocols like SPI, I2C, UART, etc.

Q32. what is ic 8051?

Ans.

IC 8051 is a popular 8-bit microcontroller used in embedded systems.

  • IC 8051 is a family of 8-bit microcontrollers developed by Intel in the 1980s.

  • It is widely used in embedded systems for various applications such as automotive, industrial, and consumer electronics.

  • The IC 8051 has a Harvard architecture with separate program and data memory spaces.

  • It has a wide range of peripherals including timers, serial communication interfaces, and GPIO pins.

  • Examples of IC 8051 variants i...read more

Q33. Explain CAN arbitraion.

Ans.

CAN arbitration is the process by which multiple nodes on a CAN bus determine which message has the highest priority to be transmitted.

  • CAN arbitration is based on the identifier of the message, with lower values having higher priority.

  • When two nodes attempt to transmit at the same time, the one with the lower identifier wins and continues to transmit.

  • If two nodes start transmitting at the same time, a bit-wise arbitration process occurs until one node wins and the other backs...read more

Q34. Current ctc expected ctc

Ans.

I am expecting a competitive salary based on my skills and experience.

  • I am open to negotiation based on the job requirements and responsibilities.

  • I am looking for a salary that is in line with industry standards.

  • I am willing to discuss benefits and other compensation packages.

  • I am not comfortable sharing my current salary as it is confidential.

  • I am looking for a long-term career opportunity with growth potential.

Q35. Difference between macro and typedef

Ans.

Macro is a preprocessor directive that performs text replacement, while typedef creates an alias for data types.

  • Macro is resolved by the preprocessor before compilation, while typedef is resolved by the compiler during compilation.

  • Macros can be used for conditional compilation, while typedef is used to create new names for existing types.

  • Example: #define PI 3.14159 for macro, typedef int integer for typedef.

Q36. explain microcontroller

Ans.

A microcontroller is a small computer on a single integrated circuit that contains a processor core, memory, and programmable input/output peripherals.

  • Microcontrollers are used in embedded systems for controlling various devices and processes.

  • They are often programmed using C or assembly language.

  • Examples of microcontrollers include Arduino, Raspberry Pi, and PIC.

Q37. Memory allocation in c

Ans.

Memory allocation in C involves dynamically allocating and deallocating memory during program execution.

  • Memory allocation in C is done using functions like malloc, calloc, realloc, and free.

  • malloc function is used to allocate a block of memory of a specified size.

  • calloc function is used to allocate a block of memory for an array of elements, initializing all bytes to zero.

  • realloc function is used to resize a previously allocated block of memory.

  • free function is used to deallo...read more

Q38. Different types of sensors

Ans.

Sensors are devices that detect and respond to physical stimuli.

  • Temperature sensors (thermocouples, RTDs, thermistors)

  • Pressure sensors (piezoresistive, capacitive, piezoelectric)

  • Motion sensors (accelerometers, gyroscopes, magnetometers)

  • Light sensors (photodiodes, phototransistors, photovoltaic cells)

  • Gas sensors (carbon monoxide, oxygen, carbon dioxide)

  • Humidity sensors (capacitive, resistive)

  • Proximity sensors (inductive, capacitive, ultrasonic)

Q39. I2c vs spi different between

Ans.

I2C and SPI are two different communication protocols used in embedded systems.

  • I2C (Inter-Integrated Circuit) is a multi-master, multi-slave protocol with a slower data rate compared to SPI.

  • SPI (Serial Peripheral Interface) is a full-duplex, synchronous protocol with higher data rates but limited to one master device.

  • I2C uses two wires (SDA and SCL) for communication, while SPI typically uses four wires (MISO, MOSI, SCK, and SS).

  • I2C is more suitable for applications requiring...read more

Q40. Set and reset the bit

Ans.

Setting and resetting a bit involves changing the value of a specific bit in a binary number.

  • To set a bit, use bitwise OR operation with 1 at the desired position

  • To reset a bit, use bitwise AND operation with 0 at the desired position

  • Example: Set bit 3 in binary number 1010 (10 in decimal) -> 1010 | 0010 = 1010 (10)

  • Example: Reset bit 2 in binary number 1101 (13 in decimal) -> 1101 & 1011 = 1001 (9)

Q41. Bit manipulation in

Ans.

Bit manipulation involves operations on individual bits of binary numbers.

  • Bitwise AND, OR, XOR, and NOT operations are commonly used in bit manipulation.

  • Shifting bits left or right can be used to multiply or divide by powers of 2.

  • Setting or clearing specific bits using masks is another common technique.

  • Example: Setting the 3rd bit of a number to 1 - num |= (1 << 3);

Q42. Data Types in C

Ans.

Data types in C define the type of data that a variable can hold, such as int, float, char, etc.

  • Basic data types in C include int, float, char, double, and void.

  • Derived data types in C include arrays, pointers, structures, and unions.

  • Examples: int num = 10; float price = 25.50; char letter = 'A'; int arr[5];

Q43. Structures in C

Ans.

Structures in C are user-defined data types that allow for grouping different data types under a single name.

  • Structures can contain variables of different data types, allowing for more complex data organization.

  • They are defined using the 'struct' keyword.

  • Example: struct Person { char name[50]; int age; float salary; };

  • Individual members of a structure can be accessed using the dot operator (.)

  • Example: struct Person p1; p1.age = 30;

Q44. Code in c language

Ans.

The question is asking for code in the C language.

  • Use the 'C' programming language syntax to write the code.

  • Include necessary libraries and headers.

  • Provide a clear and concise solution to the problem.

  • Test the code thoroughly before submission.

Q45. Arbistration in CAN

Ans.

Arbitration in CAN refers to the process of determining which message gets transmitted on the bus when multiple nodes attempt to send messages simultaneously.

  • Arbitration is based on the priority of the message identifier, with lower values having higher priority.

  • CAN uses a bitwise arbitration process where nodes compare their message identifiers bit by bit.

  • The node with the lowest identifier value wins arbitration and gets to transmit its message.

  • If two nodes start transmitti...read more

Interview Tips & Stories
Ace your next interview with expert advice and inspiring stories

Top Interview Questions for Embedded Developer Related Skills

Interview experiences of popular companies

3.7
 • 10.5k Interviews
3.8
 • 5.6k Interviews
3.7
 • 4.8k Interviews
3.5
 • 3.8k Interviews
4.2
 • 334 Interviews
3.9
 • 296 Interviews
4.0
 • 88 Interviews
3.8
 • 79 Interviews
View all

Calculate your in-hand salary

Confused about how your in-hand salary is calculated? Enter your annual salary (CTC) and get your in-hand salary

Embedded Developer Interview Questions
Share an Interview
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter