MTR 2 firmware – new features

My MTR2 now with a touch paddle

My MTR2 (with a touch paddle)

My MTR 2 has been working well over the last few months. Steve KD1JV recently released a new firmware version with some improvements that I had been looking for (such as annunciation of the Low Battery Voltage set point). With the holidays here, I decided to delve into MSP430 assembly language and have a go at adding other features I was keen to see. It turned out not to be too difficult and so I thought I’d share my updated code for anyone else who was interested. I will try and keep the new features aligned with any further updates that Steve makes, but no guarantees that this will be possible!

Here are the new features implemented:

  • Display of kHz digit whilst in fast tune mode
  • Display and sounding of speed after making a change to the speed
  • Extended the time to make changes after entering the Speed set mode from 1s to 2s as I found it was a bit short
  • Display of a version number as a final Menu item (this release is version 02.07 for MTR V2 and the 7th modification after Steve’s initial release – This is my definition as Steve uses simply Rev B for the current release)
  • Band limits are set to 7.000 – 7.300, 10.100 – 10.150, 14.000 – 14.350 to reflect the bands in Australia.
  • Default power up frequencies are set to: 7.032, 10.116, 14.060 to reflect common usage in Australia for SOTA (note that these can be changed by using the save user configuration feature in the menu).
  • Fixed bug: Changing bands with RIT enabled ended up on wrong frequency. Now RIT is switched off before changing bands.
  • Implemented super fast tuning mode from MTR-5B (when fast tuning, hold down other tune button to tune at about 3kHz per second)
  • By WM4X: Removed spaces in DFE annunciation to speed entry for this method, changed default beacon delay to 10s

Here are links to the modified source code (which remains copyright Steve Weber KD1JV):
Australian band limits: Source code
USA band limits: Source code

For those that wish to use the MSPFET loader (see Yahoo files from KE7ER), here are the required binaries:
Australian band limits: Binary
USA band limits: Binary

I believe this is fully functional and that my mods have not broken anything, but no guarantees!

The source can be loaded to the MTR 2 using the standard TI IAR workbench (which you can find here:!?architecture=MSP430) and the LaunchPad programmer.

7 thoughts on “MTR 2 firmware – new features

  1. David,

    When you wrote this firmware update did you delay the frequency display after tuning is stopped. Right now it is very quick and does not give you a chance to change frequencies until the annunciation is finished.

    ken – wa4mnt

    • Hi Ken,

      The latest update from Steve removed the annunciation of the frequency after tuning is stopped, I think for the reason you note. My version is built on top of Steve’s latest version, so also does not annunciate the frequency after tuning stops. You now have to press the Fn key to get the actual frequency display – I think this works OK.


  2. David,
    Thank you for posting your FW updates. They look very useful and I’d like to try them but I can’t find a free version of the IAR embedded workbench to use as my compiler. I noticed Steve recommends v5.4 but it doesn’t seem to be available any longer. Which version are you using, where did you find it and is it free?

    • Hi Mike,

      I’m using IAR version 6.20.1. It is available from

      If you select the Kick-Start Size limited evaluation edition, then it’s free in perpetuity. The size is limited to 8 kB code, which happens to be the size of the flash in the chip used in the MTR 2, so no problems there!

      You need to register to get a license key, but it’s free.


      • David,
        Thank you for making the IAR config files available. I was able to load your FW into my MTR2 and here are my observations:
        -Display of kHz digit whilst in fast tune mode – I love this mod! Makes scanning the band so much easier.
        -Display and sounding of speed after making a change to the speed – Another great mod, I really like this one also.
        -Extended the time to make changes after entering the Speed set mode from 1s to 2s as I found it was a bit short – Yes, much better!
        -Display of a version number as a final Menu item (this release is version 02.03 for MTR V2 and the 3rd modification after Steve’s initial release – This is my definition as Steve uses simply Rev B for the current release) – This one didn’t work so well for me. My rig displayed 02-02? Consider not annunciating the dash, showing the version on the display silently seems sufficient. Might want to display a lower case u (close to a v) since all other “P” options display a character.
        -Band limits and Default power up frequencies. I changed these values back to US values and discovered that my IAR environment still has some configuration issues. It compiles my changed source but won’t generate a “d” output file for burning into my rig. I’ll keep trying/learning the IAR tool but it sure seems overly complex.
        Most importantly, thank you for these wonderful mods. My personnel opinion is that Steve should include them in his latest FW rev for all MTR2s. Great job!!!

        • David,
          I had some time off work today (snow storm) and I got my development environment fully functional. I added a lower case u (looks like a v) to your version menu option. This way the version menu option has a “label” that displays on the LED just like the other options. The two new statements are:

          #define LED_u 0ech,&P3OUT (preprocesser)
          mov.b #LED_u
          (In your new section just after you annunciation “v”

          Also, I think I found a bug. On my rig, when I exit from viewing the keyer speed, my receiver mute stays on almost like the mute flag is not cleared?

          By the way, your code does display the correct version, I must have been tired when I wrote my last entry.

          Thanks again for the nice firmware update. I really like the new functionality.

          • Mike,

            Thanks for this and the other comment. I agree with your improvement – provides consistency. I’ve updated the source code accordingly (links above will load the updated source code – now version 02.04). Thanks for the idea.

            I think you were correct on the bug on display of the version – it was displaying 02.02 for me too. I think I’ve fixed that properly now. I’ve also removed the display of the dash as I agree it was probably unnecessary. I’ve left the Morse sounding of the version for consistency with all the other functions and also for any sight impaired hams who may need it.

            On the mute bug, I haven’t been able to reproduce that on my unit. For me, the mute is switched off consistently at the end of the speed annunciation. I’m at a loss as to what’s doing that on yours as you’ll see the first instruction after the code to annunciate the speed is to switch the mute off!



Leave a Reply

Your email address will not be published. Required fields are marked *