A comprehensive collection of ARM Cortex-M programming tutorials using Raspberry Pi Pico, designed for learning embedded systems from basics to advanced concepts with Wokwi simulations.
- Step-by-step tutorials for ARM Cortex-M microcontrollers
- Raspberry Pi Pico projects (RP2040/RP2350 ARM processors)
- Interactive simulations - No hardware required with Wokwi
- Progressive learning path from beginner to advanced ARM concepts
- Start with Project 01: Blink LED - Your first ARM project
- Follow the sequence: Each project builds on previous concepts
- Simulate online: Every project includes Wokwi simulation
- Build locally: All projects work with Pico SDK + ARM GCC
├── projects/
│ ├── 01-blink-led/ # GPIO control fundamentals ✅
│ ├── 02-button-input/ # Digital input handling (coming soon)
│ ├── 03-pwm-servo/ # PWM and servo control (coming soon)
│ ├── 04-adc-sensor/ # Analog input reading (coming soon)
│ └── 05-uart-communication/ # Serial protocols (coming soon)
├── docs/ # Setup guides and ARM concepts
├── media/ # Videos and demonstrations
├── README.md # This file
└── LICENSE # MIT License
- For Simulation: Web browser (Wokwi online simulator)
- For Hardware: Raspberry Pi Pico + Pico SDK + ARM GCC
- Development: VS Code with C/C++ extensions
- 01 - Blink LED - ARM GPIO control basics ✅
- 02 - Button Input - Digital input and pull-up resistors
- 03 - PWM Servo - Timer peripherals and PWM control
- 04 - ADC Sensor - Analog-to-Digital conversion
- 05 - UART Communication - Serial data protocols
- ARM GPIO peripherals and register control
- Timer and PWM hardware modules
- Interrupt handling and NVIC configuration
- Communication protocols (I2C, SPI, UART)
- Memory management and ARM architecture
- Performance optimization for ARM Cortex-M
- Dual-core programming (RP2040/RP2350 specific)
Every ARM tutorial includes:
- Live Wokwi simulation - Run in your browser
- Interactive circuit diagram - Visual learning
- Step-by-step explanations - ARM concepts explained
- Video demonstrations - Watch and learn
See CONTRIBUTING.md for guidelines on adding ARM Cortex-M tutorials or improving existing content.
- ARM Cortex-M Architecture Reference Manual - ARM Ltd.
- ARM Cortex-M0+ Technical Reference Manual - ARM Ltd.
- ARM Developer Documentation - ARM Ltd.
- RP2040 Microcontroller Datasheet - Raspberry Pi Foundation
- Raspberry Pi Pico Datasheet - Raspberry Pi Foundation
- Pico SDK Documentation - Raspberry Pi Foundation
- Getting Started with Pico - Raspberry Pi Foundation
- Wokwi Online Electronics Simulator - Wokwi Ltd.
- ARM GNU Toolchain - ARM Ltd.
- CMake Cross Platform Build System - Kitware Inc.
- Visual Studio Code - Microsoft Corporation
- I2C Bus Specification - NXP Semiconductors
- SPI Protocol Documentation - Analog Devices
- UART Communication Standard - IEEE Standards
All projects in this repository use official documentation and specifications as reference materials. Original code implementations, explanations, and educational content are created independently for learning purposes. Proper attribution is provided for all referenced materials and tools.
This project is licensed under the MIT License - see LICENSE file for details.
- ARM Cortex-M programming fundamentals
- Embedded systems development
- Microcontroller programming with ARM
- IoT and maker projects using ARM processors
- Technical interview preparation for embedded roles
ARM Cortex-M, Raspberry Pi Pico, RP2040, RP2350, embedded programming, microcontroller tutorials, ARM assembly, GPIO control, PWM, interrupts, embedded C, Wokwi simulation, ARM GCC
Master ARM Cortex-M programming step by step! 🚀