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

STM32 GPIO Tutorial: Modes, Functions, and Pin Configuration Explained

I have worked with many microcontrollers, from the early 8051 and PIC devices to the more advanced STM32 family. Among all the peripherals, one that has always been essential is the General-Purpose Input/Output (GPIO). A GPIO (General-Purpose Input/Output) is a special pin on a microcontroller that you can control through software. Unlike fixed-function pins, which […]

STM32 GPIO Tutorial: Modes, Functions, and Pin Configuration Explained Read More »

Factory Design Pattern in C++

During software/firmware development, one of the most important principles to follow is loose coupling. It is keeping different parts of a system as independent as possible. This allows your codebase to evolve, scale, and adapt to new requirements with minimal friction. One effective way to achieve loose coupling is by abstracting the object creation process.

Factory Design Pattern in C++ Read More »

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 »