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
MICROPY_HW_USBHOST=1
to enable USB keyboard support.MICROPY_MOUNT_SD_CARD=1
to mount SD card on /sd in the boot sequence(default).
How to install
- download
bootcode.bin
andstart.elf
from https://github.com/raspberrypi/firmware/tree/master/boot - copy
bootcode.bin
andstart.elf
to the root of your microSD card - copy
build/firmware.img
to the root of your microSD card - copy build/config.txt to the root of your microSD card. (if
config.txt
already exists, edit it to add a linekernel=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)