You must install the appropriate Rust target and tools:
```shell
$ rustup target install thumbv7m-none-eabi
$ cargo install probe-rs-tools
```
Then flash the executable using
```shell
$ cargo run --release-p dc-motor-driver-hat
```
## Raspberry Pi
On the Raspberry Pi, ensure that `boot/config.txt` contains the line `dtparam=i2c_arm=on,i2c_arm_baudrate=400000`. It is important not to let the default 100kHz speed which causes some bit flipping because of a hardware bug in the BCM2712 SOC with regard to clock stretching.
The Python module is located in `controller/python/controller.py`.
You must install the appropriate target: =rustup target install thumbv7m-none-eabi=.
Execute =cargo build --release -p dc-motor-driver-hat=. The flashable executable will be in =target/thumbv7m-none-eabi/release/dc-motor-driver-hat=.
* Raspberry Pi
On the Raspberry Pi, ensure that =boot/config.txt= contains the line ~dtparam=i2c_arm=on,i2c_arm_baudrate=400000~. It is important not to let the default =100kHz= speed which causes some bit flipping.
The Python module is located in =controller/python/controller.py=.