Ben's notes

Linux, Unix, network, radio...

User Tools

Site Tools


QRP Labs - QCX firmware upgrade with Raspberry Pi

I now use the: USBTinyISP method.

Using a Raspberry Pi board as AVR programmer to update the QRP Labs QCX transceiver's firmware. The power draw from the QCX to the RPi seemed a bit too much, so I did not use the RPi 5v output.

Photo of older version firmware, i'm now at v1.05.


  • Raspberry Pi (I used a 3 model B+ board from 2017).
  • Raspbian (based on Debian Buster). Using /boot/ssh and /boot/wpa_supplicant.conf for headless install.
  • A built and working QCX tranceiver. Website:
  • Jumper wires.
  • Connect a dummy load! I did see a unit going into transmit when connected to the RPi, during flashing transmit was off. I haven't investigated how and why this happens.

Configure raspbian

  • Enable spi in /boot/config.txt and reboot:
  • Install avrdude:
    sudo apt install avrdude


Raspberry Pi
            (Right board edge)
               1 oo|2
               3 oo|4
               5 oo|6
               7 oo|8
               9 oo|10
              11 oo|12
              13 oo|14
              15 oo|16
              17 oo|18
BCM 10 MOSI - 19 oo|20
BCM  9 MISO - 21 oo|22 BCM 25 RESET
BCM 11 SCLK - 23 oo|24
        GND - 25 oo|26


(left board edge)
      | V -
      | V +
  GND | o o RESET
 MOSI | o o SCK
   5V | o o MISO


  • Check connection:
    sudo avrdude -p atmega328p -c linuxspi -P /dev/spidev0.0 -v -b19200
  • Program latest firmware:
    sudo avrdude -p atmega328p -c linuxspi -P /dev/spidev0.0 -v -b19200 -U flash:w:T1.04.hex
qrp_labs_qcx_firmware.txt · Last modified: 2021/10/09 15:14 by