- 1. Introduction
❱
- 1.1. Additional Hardware
❱
- 1.1.1. Breadboard
- 1.1.2. Components
- 1.2. Pinout
- 1.3. Dev Environment
- 1.4. Quick Start
- 1.5. Abstraction Layers
- 1.6. Project Template
- 1.7. Running the Program
- 1.8. Help & Troubleshooting
- 2. Debug Probe
❱
- 2.1. RTT
- 3. Async Embedded Rust
- 4. Using External LED
❱
- 4.1. Code
- 4.2. Using rp-hal
- 5. From std to no_std
❱
- 5.1. Cross Compilation
❱
- 5.1.1. For Microcontroller
- 5.2. no_std
- 5.3. Panic Handler
- 5.4. no_main
- 5.5. Peripherals
- 5.6. Embassy for Pico
- 5.7. Blinking LED
- 5.8. Flashing
- 5.9. Linker Script
- 6. Pico in VS Code
- 7. PWM
❱
- 7.1. Basic Concepts
- 7.2. Period and Frequency
- 7.3. Simulation
- 7.4. PWM in RP2350
- 8. Dimming LED
❱
- 8.1. Simulation
- 8.2. With Embassy
- 8.3. With RP HAL
- 9. Button
❱
- 9.1. Pull Up and Down
- 9.2. LED on Button Press
- 10. PWM Top and Divider
❱
- 10.1. Manually Calculate
- 10.2. TOP & Divider Finder
- 11. Servo Motor
❱
- 11.1. How it works
- 11.2. Circuit
- 11.3. Position and Duty Cycle
- 11.4. Code
- 11.5. Using rp-hal
- 12. Buzzinga
❱
- 12.1. Circuit
- 12.2. Beep
- 12.3. GOT Buzzer?
❱
- 12.3.1. Music notes
- 12.3.2. Music module
- 12.3.3. Song module
- 12.3.4. Code
- 12.4. Active Beep
- 13. Voltage Divider
- 14. Ultrasonic
❱
- 14.1. How it works?
- 14.2. HC-SR04 Circuit
- 14.3. HC-SR04+ Circuit
- 14.4. With Embasssy
- 14.5. With RP HAL
- 15. Interrupts
❱
- 15.1. In RP2350
- 15.2. In Embassy
- 16. I2C
❱
- 16.1. I2C in RP2350
- 16.2. I2C in Embedded Rust
- 16.3. I2C in Embassy RP
- 17. OLED Display
❱
- 17.1. How it works?
- 17.2. Circuit
- 17.3. Crates
- 17.4. Hello OLED
❱
- 17.4.1. With RP HAL
- 17.5. Draw Image
❱
- 17.5.1. Using Single Byte
- 17.5.2. Multi Byte
- 17.5.3. Using Multi Byte
- 17.5.4. Using BMP
- 18. LCD Display
❱
- 18.1. How it works?
- 18.2. Pin Layout
- 18.3. Circuit
- 18.4. Hello, Rust!
- 18.5. Supported Characters
- 18.6. Custom Characters
❱
- 18.6.1. Generator
- 18.6.2. Display on LCD
- 18.6.3. Multi Generator
- 18.6.4. Multi Custom
- 18.6.5. Symbols Index
- 19. ADC
❱
- 19.1. In RP2350
- 19.2. With Voltage Divider
- 20. LDR
❱
- 20.1. With Voltage Divider
- 20.2. LDR and LED
❱
- 20.2.1. Code
- 21. Thermistor
❱
- 21.1. NTC and Voltage Divider
- 21.2. ADC to Resistance
- 21.3. Non-Linear
❱
- 21.3.1. B Equation
- 21.3.2. Steinhart Equation
- 21.4. Temperature on OLED
❱
- 21.4.1. Code
- 22. USB Serial
❱
- 22.1. Embassy USB Logger
- 22.2. Code with rp-hal
- 23. SPI
❱
- 23.1. SPI in Rust Ecosystem
- 23.2. In RP2350
- 24. MAX7219 LED Matrix
❱
- 24.1. Circuit
- 24.2. Code
- 25. RFID
❱
- 25.1. Hardware
- 25.2. MIFARE
- 25.3. Flow
- 25.4. Circuit
- 25.5. Read UID
❱
- 25.5.1. UID over USB
- 25.5.2. LED on UID Match
- 25.6. Read Data
❱
- 25.6.1. Dump Memory
- 25.7. Write Data
❱
- 25.7.1. Change Auth Key
- 25.8. Access control
❱
- 25.8.1. AccessBits Calc
- 26. SD Card (MMC/SDC)
❱
- 26.1. Circuit
- 26.2. Read SD Card
- 26.3. Write Data
- 27. Joystick
❱
- 27.1. Movement and ADC
- 27.2. Pin layout
- 27.3. Circuit
- 27.4. Print ADC Values
❱
- 27.4.1. Using rp-hal
- 28. Debugging
❱
- 28.1. GDB
❱
- 28.1.1. Finding main
- 28.1.2. Breakpoints
- 28.1.3. Atomic Register
- 29. Watchdog
- 30. Projects
- 31. Resources