The functionality of the U3 and U3S kits depends on the firmware in the microcontroller. Note:

  • Firmware versions v3.00 to v3.06 are for the U3 kit only
  • Firmware versions v3.07 to v3.09e work for both the U3 (AD9850 DDS) and U3S (Si5351A Synthesiser module).
  • Firmware versions v3.10 and above work for the U3S kit ONLY (these versions do NOT work with the AD9850 DDS).

Since the launch of the first version in November 2013, there have been a number of new versions providing more functionality and sometimes including bug fixes. Since v3.02c, the firmware requires an ATmega328 microcontroller (formerly the ATmega168 was used). The firmware version files are hosted by the QRP Labs groups.io forum. An inexpensive AVR programmer can be used to upgrade your firmware version, or you can buy the latest firmware chip from QRP Labs.

Download operating manual for your firmware version:

v3.12 click here!
v3.11 click here!
v3.10/v3.10a click here!
v3.09d/v3.09e/v3.09f click here! (last version for old U3 kit)
v3.09/v3.09a/v3.09c click here!
v3.08 click here! v3.08 Russian translation, click here!
v3.07 click here! v3.07 Japanese translation, click here!
v3.06 click here!
v3.05 click here!
v3.04 click here!
v3.03a/b click here!
v3.03 click here!
v3.02 click here!
v3.01 click here!
v3.00 click here!

Many thanks to Toru JG1EIQ for the Japanese operating manual translation. Many thanks to Andrey R1CAD for the Russian operation manual translation.

Version history

Version Date Features
v3.00 10.Nov.2013 - Original kit firmware version
v3.00a 20.Nov.2013 - Bug fix: Could not select FSKCW or QRSS modes, they just changed back to None
v3.00b 23.Nov.2013 - Bug fix: Corrected issue with the GPS calibration, preventing accumulated error
- Bug fix: Last character of transmitted message remained on the display row 2 during frame wait
v3.00c 26.Nov.2013 - Bug fix: Corrected real-time clock issue, where a calibration way off 20MHz was needed
v3.00d 27.Nov.2013 - Bug fix: Location and Time should not be set until GPS validity flag is 'A'.
v3.01 07.Dec.2013 - Huff Puff GPS calibration method. Two new parameters "Cal Time and Cal HP". Click HERE!
- Bug fix: Park Mode 1 (offset) now offers shifts up to 61kHz.
v3.01a 08.Dec.2013 - Bug fix: Cancel calibration if transmission frame starts while calibration still running
v3.02 14.Jan.2014 - Introduces 16 transmission settings, each with their own mode, frequency, power, band.
- Support for the relay-switched low pass filter board kit.
- Support for “auxiliary” outputs, to control other relays or external circuits e.g. switched attenuators.
- Several pairs of related configuration parameters are now shared into one screen.
- Added new animation that is displayed during frequency calibration.
- Bug fix: factory reset had moved to the left button. It is now correctly back on the right button.
- Bug fix: factory reset left all mode settings blank, rather than “None”.
v3.02b 29.Jan.2014 - Bug fix: clock ran slowly when not using GPS (workaround: set Sys Freq low).
- Bug fix: Calibration frequency was not accurately at 6.25MHz after cycling through the menu.
- Bug fix: Right button click during calibration caused inaccurate calibration.
v3.02c 01.Feb.2014 - Bug fix: calibration was inaccurate by a few Hz up and down randomly.
- Bug fix: calibration consistently resulted in too low transmission frequency.
- Bug fix: inconsistent heartbeat, some beats were missed.
- To fix bugs: flashing heart during Cal, Aux, and Cal animation, are temporarily disabled.
- NOTE: THIS VERSION USES ATMEGA328 CHIP, IT DOES NOT FIT IN AN ATMEGA168 ANY MORE!
v3.03 07.Mar.2014 - Each transmission mode setting can be toggled enable/disable (disable looks “crossed out”)
- Mode 0 no longer needs to be populated with valid data – disabled mode settings can be empty
- Heartbeat always flashes for 0.25s in sync with detected 1pps event, even during calibration
- Calibration progress is now indicated by a status bar animation
- The error check now checks all of the enabled mode settings [0] to [F]
- The Aux setting is now re-enabled
- Switch-on: when GPS is enabled, does not transmit until valid GPS time has been set
- Switch on: no calibration until after first transmission sequence (allows warm-up drift to subside)
- Bug fix: No Hell mode message error, if Hell modes are used in mode settings other than [0]
v3.03a 08.Mar.2014 - Bug fix: CW ID mode incorrectly validated the Message parameter, instead of Callsign
v3.03b 19.Mar.2014 - Bug fix: All WSPR messages were encoded with the same (last) power, not individually specified
v3.04 02.Jun.2014 - improve accuracy of wspr tone spacing: was 1.43, now 1.46Hz
- toggle back and forth between "WSPR" and locator, in WSPR mode run display; show each for 3 tones' duration
- Forces CalTime to 10 if in non-HP calibrate mode
- Limits CalTime at 250 seconds maximum
- WSPR freq is now the centre freq, not baseline (i.e. base frequency is 2.2Hz lower than U3 set/displayed frequency)
- Put back "relay chatter", i.e. don't lock relay closed, on "Tune" (leave lock-on feature for TX to stop relay chatter)
- Factory reset check, "Reset? Sure? Press left btn!" to prevent accidental reset
- Allow blank locator when GPS enabled; the sytem waits indefinitely for a valid locator to be set
- Bug fix: pressing left button in message edit, on the first blank character, entered a Null not a space
- Bug fix: if the callsign was incorrect for WSPR, it reported it as a frequency error
v3.05 27.Aug.2014 - Support for Extended WSPR (callsign prefix/suffix, 6-char locator)
- Change TX mode to TX CW and add new TX FSK mode
- Locator display in WSPR15 as well as WSPR
- Facility to tune the U3 using a potentiometer (requires hardware modification)
- Backlight control from configuration menu (requires simple hardware modification)
- Display the new calibrated reference frequency, and change from the old one, after a calibration
- Diagnostic mode on first startup, to help troubleshooting (1Hz and 2Hz signals on alternating pins)
- Bug fix: in some cases, time setting could allow incorrect characters e.g. letters etc
- Bug fix: aux functionality did not work; also, now allows setting Aux to full hex range i.e. 0-F
v3.06 28.Oct.2014 - Support for Opera modes (8 standard speeds, Opera 05 to Opera2H)
- Support for PI4 mode
- GPS information display (satellites tracked, signal strength fix type etc.) during wait display
- DDS tuning word calculation now uses 64-bit integers, removing floating point rounding error up to 2Hz on 10m band.
- Bug fix: Huff Puff mode calibration locked the reference frequency 10Hz high i.e. 125,000,010, not 125,000,000.
v3.07 19.Jan.2015 - Support for U3S (Si5351 synthesiser module) as well as AD9850 DDS module
- x2 feature, to drive LF PA's requiring double frequency drive
- Frequency fields have 9 digits, to allow 2m band operation (Si5351A)
- “EEPROM-saver”: only save calibrated frequency value if it has changed by more than a threshold
v3.08 24.Apr.2015 - Added support for JT9 modes (Si5351A only, not AD9850 DDS)
- Message parameter can now be divided into sub-messages using delimiter character
- Support various #-tags embedded in messages
- Added Park modes support for Si5351A, can significantly reduce frequency drift
- Speed parameter split into three, for CW, Slow modes (QRSS) and Slow-Hell
- All invalid message characters for a given mode, are now simply sent as a space
- Support for non-HP calibration method is discontinued
- Move x2 and Ext WSPR settings to a combined 5-setting configuration screen
- Configurable number of Mode screens appear in the menu now (default 3)
- Potentiometer tuning mod now needs to be enabled in configuration, if used
- Park mode 4, in Si5351A, now leaves the Park Freq permanently on Clk1 output
- Additional digit for Park Frequency, which in Si5351A can be 1-150MHz
- New flag “Invert” output, produces a 180-degree (inverse) output on Clk1 output
- Switch “S3” on pin 27 can now be used to create a shifted dah in CW mode, kind of manual DFCW
- Editing of messages improved, can now insert a character, and enter without going to end of msg
- Bug fix: PI4 mode was shifted 250Hz when using Si5351A, starting in v3.07
- 1Hz and WSPR DDS shifts now held in EEPROM, so non-125MHz DDS could be used
- An “Off” relay output is now tri-stated, not put into high (+5V) state – so 11-band mod works
- Added “Altitude” to GPS Info display
v3.09 21.Oct.2015 - Remove crystal frequency dependency, now U3 can work with any reasonable crystal
- Improve the speed of writing to the LCD
- Allow setting Iv flag to 2, means Clk1 = Clk0 but Clk1 is unkeyed (always on)
- Park mode 5 added: Clk1 frequency in park is 4 * (f - parkFreq)
- Add key-up pause at the start of CW ID (8 dit-lengths)
- Add #GS tag for GPS groundspeed in knots
- Removed GPS Mode 1. Now 1 means - edge, 2 means + edge PPS. There’s no 3.
- Bug fix: Clk1 when using INV Output (Iv = 1) didn't work until after first frame
- Bug fix: In park mode 4 (and other), did not switch on Clk1 for first transmit cycle
- Bug fix: S3 button press was not being detected
- Bug fix: first symbol of first CW character in message was being deleted
- Bug fix: first symbol of every CW character was a little shortened
- Bug fix: When GPS mode active, CW timing was slightly garbled
- Bug fix: custom FSK in messages wasn't working
- Bug fix: Hellshreiber mode timing is now correct (both fast and slow Hell)
- Bug fix: Long message strings, overwrite the top LCD line when looping through menu
- Bug fix: Incorrect 6th Maidenhead character in 10% of QTHs
- Bug fix: When Iv flag set to 1, it did not key Clk1 output in sync with Clk0
- Bug fix: Setting Cal Time to 000 caused strange behaviour. Now causes error message
- Bug fix: Left button press did not escape from TX_CW/FSK manually keyed modes
v3.09a 26.Nov.2015 - Bug fix: Custom messages: state variable not properly cleared on entering menu, could be stuck in custom etc
- Bug fix: Custom messages: after space (key-up) the next custom symbol does not key-down again
- Bug fix: Custom messages: the timing of the first custom symbol was wrong
- Bug fix: Message display in slow CW modes e.g. FSKCW does not display if Fast CW speed is 25wpm or more
- Bug fix: GPS mode 3 was still selectable when editing GPS mode(only 0, 1, 2 are valid)
- Bug fix: Manual TX could mistakenly transmit as another mode, because an internal state variable wasn't reset
- Bug fix: display during carrier part of PI4 kept the last character of the locator subsquare e.g. the G in "PI4  GCarrier"
- Bug fix: Factory reset did not properly reset the contents of the EEPROM in some cases
- Bug fix: Hell modes sent all punctuation messages as a space
v3.09b   There is no public v3.09b!
v3.09c 29.Jan.2016 - Bug fix: Message display in CW modes was incorrectly shown at CW speeds of 25wpm or more
- Bug fix: Custom message: spurious symbols could occur in FSKCW message right after ending a custom section
- Bug fix: Change how EEPROM storage is done, should resolve any remaining bugs in the factory reset facility
- Extends size of message string from 250 to 512 characters
- Adds checksum validation to GPS serial data NMEA sentences
v3.09d 19-Apr-2016 - Add configuration item to enable/disable GPS checksum validation ("GPS {Info Check}")
- Enable Park in the short gap between WSPR transmissions etc (not just at end of transmission cycle)
- Permits Si5351A operation above 150MHz. So now the U3S operates on US 222MHz band too (only CW tested so far)
- Bug fix: JT9 mode incorrectly did NOT check that message string is not empty!
v3.10 19-Apr-2016 - Remove support for AD9850 DDS (old U3 version)
- Add new modes: JT65A/JT65B/JT65C
- Add new modes: ISCAT-A, ISCAT-B
v3.09e 05-May-2016 - Bug fix: GPS Info setting was not being saved
v3.10a 05-May-2016 - Bug fix: GPS Info setting was not being saved
v3.09f 12-May-2016 - Bug fix: When using AD9850 DDS in U3, system locked when using more than 1 WSPR transmission
v3.11 11-Nov-2016 - New "RX" mode for using U3S with the Receiver kit; with IF offset
- New parameter "PTT Delay" with function to use "Key" output as a "PTT" with configurable delay
- Some text shortened to save space
- Removed "Time" configuration coming at the start of the menu list when WSPR is enabled (U2 legacy feature)
- Big fix: analogue value 1000 reported incorrectly by message tags e.g. #A1 etc
v3.12 03-Jan-2017 - new parameter "Shaping {ms Max}" to configure raised cosine generation when using PA kit (see AN004)
- Convert Si5351A configuration and tone step algorithms to integer only
- Changed Backlight parameter to {Bright Timeout}, timeout specified in seconds, 1..999 seconds (0 means no timeout)
- When in extended WSPR mode, send the two WSPR pieces sequentially, not one each alternate cycle
- Write EEPROM version ID last when doing a factoryReset, so that if interrupted it repair at next power up
- Removed flicker during GPS calibration when backlight control used and at full brightness
- Reference frequency defaults to 27,004,000 to be close to the usual crystal frequency