This repository demonstrates how to interface a 7-segment display with the STM32F446RET6 microcontroller using pure register-level programming (no HAL, no CubeMX logic).
-
Updated
Jan 3, 2026 - C
This repository demonstrates how to interface a 7-segment display with the STM32F446RET6 microcontroller using pure register-level programming (no HAL, no CubeMX logic).
This is a bare-metal STM32 DC motor control project using a register-level approach (no HAL drivers). You’ll control a DC motor’s direction and speed using an L293D motor driver and manually configured STM32 registers.
This project demonstrates interfacing a 128×64 OLED display (SSD1306) with STM32F446RE using pure register-level programming.
STM32F407 bare-metal CAN driver for MCP2515 over SPI. Direct register access, interrupt-driven, 125kbps
Portfolio overview of a register-level ATmega328P ADC prescaler study using interrupt-driven sampling, finite-state control, and repeatable experimental validation.
This bare-metal STM32F103C8 project demonstrates how to configure the 72MHz system clock from the 8MHz HSE crystal and PLL, and control the onboard LED on PC13, all with pure register-level code, no HAL, no LL, no CubeMX.
Register-level, HAL-free SG90 servo driver library for STM32F103. Generates 50Hz PWM via TIM2/TIM3 and controls each channel independently with a trapezoidal velocity profile through SysTick interrupt. Designed for joint motion control in small humanoid robot projects.
Register-level implementation of three-phase Sinusoidal PWM (SPWM) on the TI TMS320F280025C using ePWM. Covers PWM generation, sine lookup tables, carrier synchronization, phase shifting.
Add a description, image, and links to the register-level-programming topic page so that developers can more easily learn about it.
To associate your repository with the register-level-programming topic, visit your repo's landing page and select "manage topics."