Ben's notes

Linux, Unix, network, radio...

User Tools

Site Tools


qcx_firmware_usbtinyisp

QRP Labs - QCX firmware upgrade with USBTinyISP

Using a USBTinyISP to update the QRP Labs QCX transceiver's firmware.

Requirements

USBTinyISP UDev rule

  • Add the following line into file: /etc/udev/rules.d/99-USBtiny
    SUBSYSTEM=="usb", ATTR{idVendor}=="1781", ATTR{idProduct}=="0c9f", GROUP="plugdev", MODE="0660"
  • Plug in the USBTinyISP (or reconnect).
  • Test the connection without connecting to the QCX yet:
    avrdude -c usbtiny -p atmega328p
    
    
    avrdude: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.
    
    
    avrdude done.  Thank you.

Connection diagram

  • Connect the transceiver using the pinout below:
    pinout USBTinyISP
    +------------+
    |  miso  vcc |
     ] sck   mosi|
    |  rst   gnd |
    +------------+
    
    pinout QCX
    (left board edge)
          | V -
          | V +
          |
      GND | o o RESET
     MOSI | o o SCK
       5V | o o MISO
    

Programming

  • Test connection:
    sudo avrdude -p atmega328p -c usbtiny -p atmega328p
    
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: Device signature = 0x1e950f (probably m328p)
    
    avrdude: safemode: Fuses OK (E:FC, H:D1, L:D7)
    
    avrdude done.  Thank you.
  • Program latest firmware:
    sudo avrdude -p atmega328p -c usbtiny -U flash:w:T1.07.hex
    
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: Device signature = 0x1e950f (probably m328p)
    avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
    avrdude: erasing chip
    avrdude: reading input file "T1.07.hex"
    avrdude: input file T1.07.hex auto detected as Intel Hex
    avrdude: writing flash (32760 bytes):
    
    Writing | ################################################## | 100% 39.15s
    
    avrdude: 32760 bytes of flash written
    avrdude: verifying flash memory against T1.07.hex:
    avrdude: load data flash data from input file T1.07.hex:
    avrdude: input file T1.07.hex auto detected as Intel Hex
    avrdude: input file T1.07.hex contains 32760 bytes
    avrdude: reading on-chip flash data:
    
    Reading | ################################################## | 100% 29.58s
    
    avrdude: verifying ...
    avrdude: 32760 bytes of flash verified
    
    avrdude: safemode: Fuses OK (E:FC, H:D1, L:D7)
    
    avrdude done.  Thank you.
    
qcx_firmware_usbtinyisp.txt · Last modified: 2021/10/09 15:14 by 127.0.0.1