Author name: Amlendra

I am an embedded c software engineer and a corporate trainer, currently, I am working as senior software engineer in a largest Software consulting company . I have working experience of different microcontrollers (stm32, LPC, PIC AVR and 8051), drivers (USB and virtual com-port), POS device (VeriFone) and payment gateway (global and first data).

When UART Talks to Itself: The Optical Probe Loopback Bug Nobody Expects

During the development of optical communication firmware for smart meters, a strange field issue was reported: “Communication randomly drops. Works perfectly on the bench. Fails in the field.” To investigate the issue, I swapped cables, verified baud rates, and analyzed logic analyzer captures frame by frame. Everything appeared correct until I noticed that the optical […]

When UART Talks to Itself: The Optical Probe Loopback Bug Nobody Expects Read More »

C Macro Override Bug: When #define Breaks Build System Configuration

In embedded firmware development, configuration is often controlled through compiler macros passed from the build system. This keeps the codebase flexible and allows easy customization for different products or hardware variants. In this blog post, we will explore how a macro can introduce a subtle bug, often referred to as a C macro override bug

C Macro Override Bug: When #define Breaks Build System Configuration Read More »

How to Detect Bit Changes in C/C++ Using the XOR Operator and Bit Masking

When working with C or C++, particularly in embedded systems and firmware development, the ability to detect bit changes in C/C++ is essential. Because instead of writing: bool flag1; bool flag2; bool flag3; bool flag4; bool flag5; bool flag6; In embedded systems, we often store multiple related status flags inside a single variable. Generally, we

How to Detect Bit Changes in C/C++ Using the XOR Operator and Bit Masking Read More »

Arduino Button Piezo Buzzer

In the previous blog post, we learned how to control a relay using a push button and an Arduino. Now, let’s build another practical Arduino project using a push button and a piezo buzzer. In this tutorial, we will program the Arduino to buzz when a button is pressed. You will also learn how to

Arduino Button Piezo Buzzer Read More »

Arduino Button Relay

In the previous post, we learned how to control an LED using a push button and an Arduino. Now, let’s take the next step by building a simple yet practical Arduino project that uses a push button to control a relay. Relays allow low-voltage microcontrollers like Arduino to safely control high-voltage or high-current devices such

Arduino Button Relay Read More »

Arduino Button Led

In the previous post, we learned how to blink an LED using an Arduino. Now, we are taking the next step by building a simple and interactive Arduino project. In this project, we will control an LED using a push button. It helps you understand how to work with digital inputs (push buttons) and digital

Arduino Button Led Read More »