๐Ÿงช nrf52833 BBC micro:bit

Experiments, Prototypes & Notes with the micro:bit v2.21

This repository contains my projects, experiments, and notes using the micro:bit v2.21, built on the nrf52833 microcontroller.
It serves as a playground for testing ideas, learning embedded concepts, and building small prototypes.

Read more  ↩︎

MCU Synchronization

๐ŸŸ  Synchronization is a fundamental concept that ensures that the processor, peripherals, timers, and interrupts operate in a consistent and accurate manner based on a common clock source.

Read more  ↩︎

MCU Clock System

๐ŸŸ  Clock is the basis for timers and interrupts The clock system sets the pace of all digital components of the microcontroller. Timers use its signals to generate interrupts and perform tasks with precise time control.

Read more  ↩︎

Interrupts (ISR, IVT, NVIC)

๐ŸŸ  Interrupts allow the microcontroller to instantly respond to important events without wasting resources on constantly polling the peripherals.

When an interrupt occurs, the CPU suspends the current task, goes to the Interrupt Service Routine (ISR), performs the required action, and returns back.

Read more  ↩︎

Timers

๐ŸŸ  Timers are hardware modules of the microcontroller for actions with time counting and event generation without the participation of the main code.
The accuracy of the timer and its maximum time range depends on its bit depth, the clock frequency to which it is connected and the value of the divider.

Read more  ↩︎

TinyML

TinyML essentials and modern challenges

Read more  ↩︎

PWM (Pulse Width Modulation)

๐ŸŸ  How to handle pulse width modulation

Read more  ↩︎

MCU Peripherals

Microcontroller peripherals are functional blocks integrated into the chip that enable it to interact with the outside world or carry out specific tasks โ€” often without involving the processor core.

๐ŸŸ  When selecting a microcontroller, your choice should depend on the required peripherals, not the other way around.

Read more  ↩︎

MCU Registers

A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only.
Its used to store data, operands, calculation results, memory addressing, peripheral control, and microcontroller operation during instruction execution.

Each register has a specific function and bit capacity.
๐ŸŸ  When performing an arithmetic operation, the processor may load the operands into general-purpose registers, perform the operation, and then store the result in another register or in memory.

Read more  ↩︎

Basic Embedded Rust Flow (Cortex-M)

๐ŸŸ  A must-have template for creating a Rust project for microcontrollers.

Read more  ↩︎