Bare Metal micro:bit
Twenty experiments in low-level programming
This book describes a series of experiments in programming the BBC micro:bit at a low level.
Chapters will appear one-by-one in coming weeks, starting with some experiments with programming the micro:bit in machine code. If you want to follow along as the book grows, you should get a micro:bit and either a Raspberry Pi or a Linux laptop, and begin with the appendices about hardware and software setup. The hardware setup instructions include some modifications to the micro:bit that will come in handy later, but you don't have to do them before beginning with the first experiment.
Feedback is very welcome, and you can send me e-mail to firstname.lastname@example.org, or raise issues on the github page if you prefer: http://github.com/Spivoxity/baremetal.
Part 1: Machine code programming
- Introducing the micro:bit.
- X1000 – Building a program. Check you can build and upload a simple program (written in pure C) that echoes lines typed on the terminal.
- X1100 – Machine instructions. Investigate the effect of single machine instructions using an interactive program.
Part 2: Input/output devices
- X2400 – Neopixels. Use assembly language to make a bit-banged implementation of the protocol for WS2812 'NeoPixel' LEDs.
Part 3: Embedded operating system
Copyright © 2019–21 J. M. Spivey. All rights reserved.