Master core C++ concepts used in embedded firmware. Learn to write efficient, maintainable, scalable low-level programs with C++.
Pointer Reference Increment
Task
Pointer vs Reference Swap
Reference Alias Update
Reference Parameter Update
Read-Only SensorData Reference
Access Array Element
16-bit Sum Product
Print Sensor Value
Set Threshold
Temperature Unit Conversion
UART Write Overloading
Process Sensor Reading
Timer Prescaler Configuration
UART Initialization Defaults
Sensor Filter Selection
PWM Configuration Defaults
Log Message Timestamp
Square of a Number
GPIO Pin Toggle
Sensor Value Saturation
Dynamic Integer Allocation
Dynamic Sensor Buffer
Dynamic SensorData Allocation
Telemetry Packet Memory Cleanup
Reset Fault Buffer
Placement New Static Buffer
Reinitialize Object In-Place
Construct Sensor Packet Placement
Overload Resolution Trap
Safe Sensor nullptr Check
Select Driver Overload
Safe Callback Invocation
Simple Namespace with Variables
Namespace Variables Functions
Using Namespace Directive
Declaring Multiple Namespaces
Same-Named Variables
Nested Namespace Declaration
Aliasing Nested Namespace
Resolve Driver Collision
Namespace Alias Usage
Resolve UART Namespaces
Register Type Aliases
ISR Callback Alias
Packet Buffer Alias
GPIO State Enum
Mode Selection Enum
ADC Config Flags
Error Code Mapping
State Machine with Enums
Enum with Switch Dispatch
Compute ADC Voltage Scale
Constexpr ADC Temperature Table
Compile-Time Timer Reload
Compile-Time Constant Check
Validate Frame Size
Mutable Counter in Const
Register Callback Counter
unique_ptr RAII Basics
unique_ptr Ownership Transfer
unique_ptr Ownership Consume
Returning unique_ptr Ownership
Unique Pointer Custom Deleter
Shared Pointer Ownership
Breaking shared_ptr Cycles
GPIO Pin Class
Sensor Calibration Class
UART Config Class
LED Toggle Class
8-Bit Register Class
Sensor Packet Handling
SensorBuffer Fixed Storage
Hardware Timer Default Constructor
SensorConfig Initialization
Initialize Filter3 Class
PWM Constructor Modes
ADCChannel Constructor Validation
DataBuffer Fixed Buffer Init
CalibTable Constructor Copy
LED RAII Controller
BufferTracker Destructor Logging
Add Two Distances
Register Bitwise Operations
Register8 Equality Operator
GPIO Pin Operator Overload
Increment a Counter
Byte Buffer Indexing
Toggle Bitmask
UART Frame Builder
Deep Copy Constructor
Deep Copy Assignment Buffer
Non-Copyable UART Handle
SensorFrame Deep Copy Fix
Move Constructor Buffer Transfer
Move Assignment Ownership
Driver Owns Buffer
Driver Resource Composition
Clock-Dependent Peripheral Design
Refactor Driver–Bus Relationship
RAII Shutdown Ordering
Vehicle Inheritance Public
Protected Inheritance
Private Inheritance
Multiple Inheritance Sensor and Logger
Virtual Public Inheritance
Constructor Order Inheritance
Destructor Order Inheritance
Access Specifier Enforcement
Reusing Base Initialization
Name Hiding in Inheritance
Fix Lost Driver Data
Multilevel Driver Initialization
Multiple Inheritance Ambiguity
Diamond Inheritance Duplication Fix
Runtime Driver Selection
Slicing Breaks Polymorphism
Polymorphic Driver Shutdown
Heap-Free Polymorphic Driver
Borrowed Interface Lifetime Safety
Override Correctness Pitfalls
Mandatory Build-Time Timebase Selection
Compile-Time Overload Resolution
Register Operator Overloading
Abstract Sensor Debugging
Abstract Operation
Board-Independent Status Indicator
Runtime Logging Abstraction
Abstract Communication Driver
PWM Register Access Control
UART Baud Rate Validation
Write-1-to-Clear Flag Encapsulation
Circular Buffer Indexing
ADC Offset Calibration
Generic Range Clamping
Compile-Time Fixed Stack
Generic Moving Average Filter
Generic Sensor Pair
Compile-Time Power-of-Two Validator
Device Counter
Lazy Static Singleton
Static Driver Allocation
Static Object Pool
Sum of Two Objects
Hardware Monitor
Fast Buffer Access
Stream Operator Overloading
Method Chaining with this
Shadowing Resolution
Self-Assignment Check
Function Pointer apply
Button Press Callback
Command Dispatch Table
Configurable Math Engine
Lambda Square Operation
Basic Lambda Callback
Stateful Lambda Counter
Class Method Callback
Byte Splitter Union
Float to Bytes Type Punning
Register Overlay byte and bitfield
ADC Sample Union View