/micropython-raspberrypi

bare metal Raspberry Pi Zero / Zero W port of MicroPython

Primary LanguageCMIT LicenseMIT

micropython-raspberrypi

MicroPython on bare metal Raspberry Pi Zero / Zero W / 2

How to build

git clone https://github.com/boochow/micropython-raspberrypi.git
cd micropython-raspberrypi
git submodule update --init
cd micropython; git submodule update --init; cd ..
cd raspberrypi

for Raspberry Pi Zero/Zero W,

make BOARD=RPI1

for Raspberry Pi 2

make BOARD=RPI2

Options

  1. MICROPY_HW_USBHOST=1 to enable USB keyboard support.
  2. MICROPY_MOUNT_SD_CARD=1 to mount SD card on /sd in the boot sequence(default).

How to install

  1. download bootcode.bin and start.elf from https://github.com/raspberrypi/firmware/tree/master/boot
  2. copy bootcode.bin and start.elf to the root of your microSD card
  3. copy build/firmware.img to the root of your microSD card
  4. copy build/config.txt to the root of your microSD card. (if config.txt already exists, edit it to add a line kernel=firmware.img.)

Modules and Classes

See wiki.

References

The First bare metal Raspberry Pi port by Stefan Naumann. (Bare-Metal Raspberry Pi port by naums · Pull Request #3522 · micropython/micropython)

csud USB host driver by Alex Chadwick. (Chadderz121/csud: Chadderz's Simple USB Driver for Raspberry Pi I modified this to support RPi zero/zero W. The modified version is here).

sd.c SD card driver by Zoltan Baldaszti. (raspi3-tutorial/0B_readsector at master · bztsrc/raspi3-tutorial)

A lot of bare metal examples by David Welch. (dwelch67/raspberrypi: Raspberry Pi ARM based bare metal examples)