(Editor’s note: This is the third installment of our series of posts on the Motorola MTR2000 repeater and MMDVM board. All articles in this series can be found by searching the “MTR2K” category.)— Justin, NV8Q
It’s something that I hear a lot. I just cannot bring up building MMDVM repeaters without being asked, “Can it still do analog too?” And the answer includes a caveat, “Yes, but what’s it worth to you? Because it’s not easy.”
In this, my third installment on the MTR2000 and our own STM32-DVM-MTR2K plug-in MODEM+Host combo, I’m going to cover a drop-dead simple way to have MMDVM and analog with a Motorola MTR2000. And the best part? It might not cost a thing. The only additional hardware required is an MTR2000 Auxiliary I/O card – many MTRs have this card already in them, and if they don’t, as of this writing, used cards are about $30 online.
To be fair, this article isn’t just about the STM32-DVM-MTR2K, but this handy board from WA0EDA makes it even easier to do. The same approach can be used with any MMDVM system and an MTR2000.
A bit of background on the MTR2000: Like any commercial repeater of this era and newer, it includes an internal control system adequate for basic analog repeater use. It has hangup, timeout and ID timers, CTCSS/DCS access (encode/decode), and even a ham-friendly 10 minute ID and the ability to use a “/” in the callsign. I’m going to discuss using the built-in analog controller because, typically, including analog is about providing a transition path for existing users of existing repeaters or a way to still allow emergency communications with analog – neither of which require a “fancy” analog system.
Contrary to some posts I’ve seen online, there’s no problem at all configuring an MTR2000 to use the built-in, internal analog controller while interfacing an MMDVM. The problem is that the transmit connection from the MMDVM will always take priority over the in-chassis repeat function. This means that MMDVM will take control in the middle of an analog transmission unless we do something additional to stop it. Enter: The “Wildcard” features that become available when you install an Auxiliary I/O card into the MTR2000.
I’ll need to do a little programming and utilize two hardware pins that the I/O card enables. GPO2 (General Purpose Output #2) will be connected to the “lockout” (COR) pin of the MMDVM Modem, and GPI3 (General Purpose Input #3) will be connected to the External PTT of the MTR2000. Ok, that second part sounds weird. Why am I connecting two MTR2000 inputs together? I need the Wildcard program to know when the MMDVM is keying the station, but the Wildcard doesn’t have the ability to poll the Ext. PTT input of the station. We’re going to use GPI3 to signal the MTR2000 wildcard that MMDVM is holding the PTT active.
I’m almost ready to write the wildcard program (known as “tables”) to make this work, but first, I’ll need to close 0.1″ jumpers JP5 and GP6 on the STM32-DVM-MTR2K. See the photos below:
Now all that is left is a little programming. If the station did not already have an Auxiliary I/O card installed, I will need to configure it in the RSS.
After reading the station, a “Station Configuration” window (see above) will automatically open. Click the “Edit Config” button to configure station options. Make sure to select “Wildcard enable” and select “CLN6698 Aux. I/O” from the “Option Board Type” drop-down. Note, there are two option board slots and one wireline board in the card cage. The option board slots are identical, the wireline board slot is different. Refer to the MTR2000 Installation and Operation Manual for more information.
After this is done, click the “OK” button and the Station Configuration window will close. As long as the Station Configuration window is active, there will be a “Personality” menu between “Edit” and “Service”. Click the “Personality” drop-down menu and select “Wildcard” as shown below.
Once selected, a new window for Wildcard table programming will appear. Select edit tables.
If the MTR already has existing Wildcard programming, there will be previously defined tables which need to be deleted. At this point the following window will appear:
This window is a bit confusing. Note that “Edit” is grayed out. I will first create two new Wildcard tables, typing the name in the single-line text box at the top of the window (above the window with <New> in it). Table #1 named “LOCKOUT” uses GPO2 to lockout the MMDVM during analog operation, and table #2 named “KNOCKDOWN” that uses the PTT signal from MMDVM to knockdown/setup the analog repeat function of the MTR2000 station.
Wildcard programming is hard to describe in text, so I will show the screens for each and explain what is happening. In each Wildcard table, I will select a single “System State” and then describe a group of actions, in order, that will take place when the System State becomes true (Action Table) and a separate list for when the state becomes false (In-Action Table).
For the LOCKOUT table, the system state I am setting “clearing” GPO2 (MMDVM lockout) when the in-chassis repeat PTT is active. Clearing it takes the output low, and since the lockout/COR input of the MMDVM is active low it locks out the MODEM. You will also notice a timer in the mix as well. If there were no timer, then as soon as an analog user unkeys, the repeater would again be available for MMDVM which would allow MMDVM to hijack the repeater in mid-QSO. Thus, I use a 10 second timer (10,000ms). This is an important part of action table programming: Items in any action table are executed sequentially and are fully blocking. That means that the in-action table item “SET OUTPUT GPIO2” does not happen until timer 1 is finished. This is also why the first action of the action table is “ABORT TIMER 1”. This ensures that timer 1 is aborted if there is a re-key in under 10s, otherwise, when timer 1 expired, GPO2 would be set high (unlocking the modem).
Ok, that’s a lot to take in. If you don’t want to reason it out, that’s cool, just duplicate what I put in above and you should be fine.
My KNOCKDOWN table is considerably simpler. I use a very long hangup time for MMDVM – on the order of 15s, so I don’t really need a timer in addition to the MMDVM PTT. In this case, when “INPUT GPI3” is “NOT” active, the in-chassis repeat function is put in knockdown (Motorola terminology for ‘disabled’). When the PTT goes back high (remember, it’s active low) the repeat function is enabled, or in Motorola speak, “setup”.
Thats it! It’s done. Just make sure and “OK” and/or “Save” out of each window when you close it, and make sure to remember to write the codeplug back into your radio so this changes are programmed in.
20 comments on “MTR2000 and STM32-DVM-MTR2K: Analog + Digital, Playing Nice Together”
AndrewMay 21, 2019 at 5:33 am
Is this board going to be for sale ?
Cort BuffingtonMay 21, 2019 at 7:38 am
It already is. Scott Zimmerman of Repeater Builder, N3XCC is selling and supporting them along with his other repeater builder branded products. I will be building them in more limited quantities for KS-DMR members and affiliates and a few friends. Please see Scott first. If he can’t help you, then contact me directly.
AndrewMay 22, 2019 at 5:20 am
OK thanks , I checked his web site but must have missed it. 73 VK3AS
Cort BuffingtonMay 22, 2019 at 11:09 pm
Scott doesn’t have the board listed on his site yet, just e-mail him.
Mike EssMay 21, 2019 at 10:21 am
Is there a link to N3XCC selling these? Not finding it?
Cort BuffingtonMay 21, 2019 at 10:26 am
The board itself is not on the page yet. He just started selling it at Dayton last week.
Mike EssMay 21, 2019 at 10:38 am
Got it. Just sent an email. Thanks again Cort!
Mike EssMay 26, 2019 at 12:35 pm
Board works GREAT! It is reporting a bit warm but a couple of computer case fans on top of the cage helped tame that.
Cort BuffingtonMay 26, 2019 at 7:48 pm
Interesting. I’m not having any issues with things running hot enough to warrant fans – but I’m also using my own image that’s got some stuff tweaked, and don’t have the extra overhead of PiStar. Glad it’s working for you! I’ve got 5 in service, 2 not environmentally controlled, 3 are. I’m also running testers in my basement with things like heat lamps aimed into the card cage 🙂
John KenneyJune 28, 2019 at 9:51 pm
Do you have a source for MTR2000 Auxiliary I/O Cards? The one’s I’m finding are $135 – $400 on eBay. Too much…
Cort BuffingtonJune 29, 2019 at 10:36 am
I have a few stored that I got in the $30-$50 range. Because of the volatility/availability of these cards, I’m working on a new version of the STM32-DVM-MTR2K that has most of the useful parts of the Aux I/O card integrated. You’ll get the useable I/O lines and wildcard features.
This is a hobby and something I do in my spare time. The answer to the next question (when will it be ready?) is “when I get it done”. I have the GPO part working, and now I’m working on the GPI. With a little luck it’ll be available by the end of the summer.
JohnJune 29, 2019 at 3:26 pm
Thanks for the info, Cort. I’m not in a big hurry – but should you get your project to a point where you are willing to part with one of the I/O boards, I would be interested in providing it new home. I’ll also keep watching here for your progress on the” latest and greatest” version of the STM32-DVM-MTR2K boards as well. Thank you for your willingness to share your expertise with the ham radio community and your patience while the rest of us try to catch up….
Dennis KimreyDecember 6, 2019 at 5:15 pm
Any info for doing this on an MSF5000? We are interested in doing this to our 444.225 analog system here in Nevada. Just can’t seem to find to any info on it.
Cort BuffingtonDecember 6, 2019 at 6:04 pm
The STM32-DVM-MTR2K is specifically built for the MTR2000 and is not compatible with other repeaters. For the MSF5000, I strongly recommend the STM32-DVM from Scott Zimmerman, N3XCC at Repeater Builder. It is a more generic implementation that can be adapted to nearly any radio. I’ve gone so far as to set one up on an MSR2000 and I know of people who have used them (successfully) on Micors. I believe Justin has interfaced one to an MSF5000, but that’s probably the topic for a blog post or a direct conversation with you.
nv8qDecember 7, 2019 at 11:02 am
Dennis, I have used one of the N3XCC STM-32 boards on an MSF5000. It works well. It requires soldering directly to specific test points on the 5000’s control board. The downside is that the MSF5000’s are reaching an age of mass extinction. The PA’s are getting old and failing at a high rate, and the control boards are full of electrolytic capacitors that are drying up. This is one of the many reasons why the MTR2K board used in an MTR2000 is so popular – because these decks are still fairly fresh and they are solid repeaters.
I didn’t take any notes on what I did to setup the MSF5000 at Logan. It’s just a matter of finding a test point to inject the data directly into the modulator, and finding PTT and RX discriminator audio.
Chris HillDecember 24, 2019 at 9:38 am
I am interested in retrofitting a UHF MTR2000 for both DMR and AllStar RTCM interfaces. Has anyone been down this route before? I have built several MMDVM Pi-Star DMR repeaters and very happy with their performance. Looking for a 40W UHF MTR2000 for an off-grid solar powered site. Thank you! K7AZ
Cort BuffingtonDecember 30, 2019 at 8:59 am
KS-DMR is pretty much exactly what the name implies, so we haven’t focused a lot on the analog side beyond what you see here. I’d look to using the wireline card and an Aux I/O card so you can use a GPI to “key from wireline”. Use the wireline interface for AllStar and retain the ext. PTT and direct TX input for digital.
NickJanuary 16, 2021 at 7:29 pm
I’m in need of some help. I’ve followed the steps you’ve outlined but I don’t have the GPO or GPIO settings you’ve shown above. Any help would be appreciated.
Luc BodsonDecember 2, 2021 at 3:04 pm
Just copied your configuration of the Wildcard, does the job suberp, without any issues 😉
Thanks for the information !
Next I will try to install the MMDVM STM32 with a Raspberry and Pi-star, and try that out.
Antwerp Repeater Club
[…] this time, it looks like they are (like most everything MMDVM-based) digital-only, though there are workarounds. A future version of the board is being discussed that could allow mixed-mode […]