If you want to contribute to the Particle on Raspberry Pi firmware here are some instructions to compile for the Raspberry Pi from your computer.
All the build tools needed are bundled in a Raspberry Pi buildpack. This buildpack runs on Docker. This is so we don’t need special instructions on how to get the right version of GCC and other tools for macOS, Windows and Linux.
Install Docker on your computer. These steps will vary depending on your OS.
Clone the Particle firmware at the Raspberry Pi branch. Later on we’ll merge this back to the firmware
git clone -b feature/raspberry-pi https://github.com/spark/firmware
Create a directory for your app with at least one
Compile your app to an executable.
In your app directory run:
docker run --rm -it -v ~/Programming/firmware:/firmware -v $PWD:/input -v $PWD:/output particle/buildpack-raspberrypi
You’ll need to change
~/Programming/firmware to where you cloned the firmware.
This will run
make from the
firmware/main directory which compiles the firmware and saves the output as
firmware.bin in your app directory.
To customize the build, write out the
make command at the end of the
docker run. For example, to rebuild from scratch you can do:
docker run --rm -it -v ~/Programming/firmware:/firmware -v $PWD:/input -v $PWD:/output particle/buildpack-raspberrypi make clean all
See the firmware build docs for info on various parameters that can be passed to the build. Not all of them are relevant for the Pi, for example, there are no system and user modules on the Pi, only a single executable.
If you’re on Linux or macOS, you can use this shell script as a shortcut:
On Windows, it’s best to clone the firmware and save your app in
C:\Users since this folder is available by default inside Docker. Other folders need some custom mapping.
docker run --rm -it -v /c/Users/%USERNAME%/rpi/firmware:/firmware -v /c/Users/%USERNAME%/rpi/my_app:/input -v /c/Users/%USERNAME%/rpi/my_app:/output particle/buildpack-raspberrypi
- Flash the firmware to your Pi
particle flash mypi firmware.bin