This repository includes firmware and a launcher for the 32Blit that lets you manage games on SD card, and copy or flash games via USB serial.
Unless you want to work on the firmware, you can install the latest pre-built firmware/launcher:
- Go here: https://github.com/32blit/32blit-sdk/releases/latest
- Download
32blit-sdk-[version]-STM32.zip
from the assets at the bottom - Install
firmware-update-[version].blit
- Install
launcher.blit
Both files can be installed using 32blit install [file].blit
or by copying to the SD card. You should rename the firmware update to firmware-update.blit
if copying to the SD card as this will cause it to automatically install.
The rest of these instructions cover building the firmware from source.
In order to use the 32blit firmware, you will need to:
- Build and install the 32Blit firmware (if you don't have it already)
- Install the 32blit tools
pip install 32blit
- Flash the firmware and a launcher to your 32Blit
You must make sure you have an ARM GCC cross-compile environment set up on your computer, refer to the relevant documentation below:
These instructions assume that you will create build directories in the root of this repository.
From the root of the repository prepare cmake to target 32Blit if you haven't already:
mkdir build.stm32
cd build.stm32
cmake .. -DCMAKE_TOOLCHAIN_FILE=../32blit.toolchain
Now build the firmware binary and dfu files (for Linux/macOS and Windows flashing respectively):
make firmware
If you currently have a working firmware, you can flash a new firmware without using DFU mode by running:
make firmware-update.flash
Alternatively, you can run make firmware-update
and install the resulting firmware-update/firmware-update.blit
with any of the methods described here.
To enter DFU mode either hold the X & Y buttons and press the reset button or select dfu mode
from the on device menu. The screen will go dark, this is normal.
Install dfu-util
from your package manager then enter:
sudo dfu-util -a 0 -s 0x08000000 -D firmware/firmware.bin
You will need DfuSe Demonstration from st.com) to flash firmware.dfu
to your device.
Once installed you should be able, from the build.stm32
directory you created earlier, to flash 32Blit's firmware by running:
../tools/wsl-flash firmware/firmware.dfu
Note: wsl-flash
uses a hard-coded path to DfuSe 3.0.6 in c:\Program Files (x86)
If this fails you can run the DfusSeDemo
application and pick your 32Blit (it should be "STM Device in DFU Mode") from the "Available USB Devices" drop down.
In the "Upload Action" section hit "Choose" and select the firmware.dfu
file you built earlier. (It should be in build.stm32/firmware/firmware.dfu
) and finally hit "Upgrade" to flash the file.
Flashing a launcher is similar to flashing a game/example, run make launcher
and the output is launcher/launcher.blit
. launcher.blit
is automatically flashed from the SD card if it exists.
If you have more than one device in DFU mode connected to your computer then find the 32blit using lsusb
and add -d vid:pid
to the dfu-util command. Replace vid:pid
with the 4 character ID strings to target the correct device.
If you have put the device into DFU mode, but the DfuSe tool refuses to recognize it, you might need to update the DFU driver by hand.
- First, check your device manager while the 32blit is connected in DFU mode. If there is a new device called DFU in FS Mode under the "Other devices" category, with a possible exclamation mark over it, you will need to update the driver.
- Right click on this device, and select Update driver. You will want to look for a driver on your computer.
- Select the following folder:
C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.6\Bin\Driver\Win10\
This folder contains the driver. - After the driver has been updated, the DfuSe tools should now see the 32blit as a DFU device and you can go ahead with the firmware update.