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).

Singleton Design Pattern

The Singleton Design Pattern is a creational design pattern that ensures a class has only one instance and provides a global point of access to that instance. It is the most controversial Design Pattern because it is violating the “Single Responsibility Principle”. 🤔 Now you might be wondering: How does it violate the Single Responsibility […]

Singleton Design Pattern Read More »

Virtual Function in C++

In C++, virtual functions are a fundamental part of object-oriented programming that enable runtime polymorphism. This dynamic dispatch mechanism makes virtual functions essential for building flexible, extensible, and modular systems especially in large-scale or hardware-abstracted software architectures. In this article you will learn what is virtual function in C++ and when to use it.  I

Virtual Function in C++ Read More »

Deep Copy vs Shallow Copy in C++

When writing efficient and bug-free code in C++, especially in embedded or systems programming, understanding deep copy vs shallow copy is critical. Misunderstanding these concepts can lead to memory corruption, crashes, or data inconsistencies – issues no firmware engineer wants in a production device. This blog post will walk you through the fundamental difference between

Deep Copy vs Shallow Copy in C++ Read More »

Core Object-Oriented Concepts Every Developer Must Know- Part 2

Object-Oriented Design (OOD) is more than a coding technique — it’s a mindset that mirrors the real-world using software. In our previous blog post, we explored what Object-Oriented Design (OOD) is and why it’s essential in building maintainable, scalable software systems. Now, let’s go deeper into the core concepts of Object-Oriented Programming (OOP) — the

Core Object-Oriented Concepts Every Developer Must Know- Part 2 Read More »

WWDG vs IWDG in STM32: Why WWDG Is the Better Watchdog for Many Projects

After working on embedded systems over many years from 8-bit microcontrollers to today’s high-performance STM32 MCUs—one lesson remains constant: A system is only as reliable as its fault recovery strategy. In critical or unattended systems, watchdog timers play a vital role. The STM32H5xx Window Watchdog (WWDG) helps monitor system health. It resets the system if

WWDG vs IWDG in STM32: Why WWDG Is the Better Watchdog for Many Projects Read More »

System window watchdog (WWDG) in STM32

In real-time embedded systems—especially in safety-critical applications like automotive, industrial automation, medical devices, and smart metering—reliable fault detection and recovery mechanisms are critical to maintain system stability and safety. The Window Watchdog (WWDG), available in the STM32H5 series microcontrollers, plays a key role in this area. Unlike basic watchdog timers, the WWDG enforces precise timing

System window watchdog (WWDG) in STM32 Read More »