1. Introduction
  2. Background
  3. Hardware/knowledge requirements
  4. Setting up a development environment
    1. Linux
    2. Windows
    3. macOS
    4. Verify the installation
    5. Setting up your IDE
  5. Meet your hardware
    1. micro:bit v2
    2. micro:bit v1
    3. Rust Embedded terminology
  6. LED roulette
    1. Build it
    2. Flash it
    3. Debug it
    4. Light it up
    5. It blinks
    6. The challenge
    7. My solution
  7. Serial communication
    1. *nix tooling
    2. Windows tooling
  8. UART
    1. Send a single byte
    2. Send a string
    3. Naive approach and write!
    4. Receive a single byte
    5. Echo server
    6. Reverse a string
    7. My solution
  9. I2C
    1. The general protocol
    2. LSM303AGR
    3. Read a single register
    4. Using a driver
    5. The challenge
    6. My solution
  10. LED compass
    1. Calibration
    2. Take 1
    3. Solution 1
    4. Take 2
    5. Solution 2
    6. Magnitude
  11. Punch-o-meter
    1. Gravity is up?
    2. The challenge
    3. My solution
  12. Snake game
    1. Game logic
    2. Controls
    3. Non-blocking display
  13. What's left for you to explore
  14. General troubleshooting
  15. How to use GDB