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

7805 Voltage Regulator IC Pinout, Circuit, and Applications

The 7805-voltage regulator has been the silent hero behind countless reliable electronic designs for decades. Despite today’s advanced switching regulators and low-dropout designs, the 7805 remains a benchmark of simplicity, stability, and durability. In this blog post, we will explore how the 7805-voltage regulator works, the real-world issues engineers often encounter, and some field-proven solutions that […]

7805 Voltage Regulator IC Pinout, Circuit, and Applications Read More »

STM32 Clock Configuration Guide: Understanding the Clock System Step-by-Step

Clock configuration is one of the most critical aspects of any firmware design. A stable and well-optimized clock tree ensures accurate timing, reliable peripheral communication, and consistent real-time performance across the system. In embedded systems, clock instability can directly lead to system failure. In this article, I will explain the clock system and its configuration

STM32 Clock Configuration Guide: Understanding the Clock System Step-by-Step Read More »

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 »