diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index deead844c8227ec726f7d57a0a5e87b21c945599..2b624ce25b82fb2ac389a3412999e66d6af9f2db 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,9 +6,10 @@ stages:
   - build-flasher
 
 before_script:
-  - apt update && apt install -y binutils-arm-none-eabi gcc-mingw-w64-x86-64-win32
+  - apt update && apt install -y binutils-arm-none-eabi binutils-arm-linux-gnueabihf gcc-mingw-w64-x86-64-win32
   - rustup target add thumbv7em-none-eabihf
-  - rustup target add x86_64-pc-windows-gnu
+  - rustup target add arm-unknown-linux-gnueabihf # Raspberry Pi
+  - rustup target add x86_64-pc-windows-gnu # Windows PC
   - rustup component add rustfmt
   - rustup component add clippy
   - cargo install flip-link
@@ -37,10 +38,10 @@ build-flasher:
     - git clone https://gitlab.scd31.com/cats/firmware-flasher
     - cd firmware-flasher
     - cp ../mobile-transceiver-software/firmware.bin firmware.bin
-    - cargo build --release
+    - cargo build --release --target arm-unknown-linux-gnueabihf
     - cargo build --release --target x86_64-pc-windows-gnu
-    - cp target/release/stm32-firmware-flasher ../mobile-transceiver-software/flasher/flasher-linux
-    - strip ../mobile-transceiver-software/flasher/flasher-linux
+    - cp target/arm-unknown-linux-gnueabihf/release/stm32-firmware-flasher ../mobile-transceiver-software/flasher/flasher-linux
+    - arm-linux-gnueabihf-strip ../mobile-transceiver-software/flasher/flasher-linux
     - cp target/x86_64-pc-windows-gnu/release/stm32-firmware-flasher.exe ../mobile-transceiver-software/flasher/flasher-windows.exe
   artifacts:
     paths: