This project has gotten a lot bigger than I ever thought it would. What started almost as a dare has turned into something very real. There has been a steadily increasing demand for the STM32-DVM-MTR2K, and while I said I wasn’t going into wholesale production on them, it turns out that I pretty much have. Here’s the story behind the project.
One of the other principals in KS-DMR (Eric Sivertsen, KD0WWX) pretty much dared me, shamed me, and otherwise goaded me into doing this. It was all in good fun, really, and I’m quite happy Eric pushed me to build it.
We’d started messing with MMDVM and had replaced a couple of Motorola repeaters with it when we met the MTR2000. It was a match made in heaven, but the “clean” look of the install was trashed by the “umbilical” hanging off of the back of the MTR2000, the little plastic case with an MMDVM modem and host, another power supply, etc. Like many folks, most of our repeater sites are commercial locations and a lot of “ham radio” type installs don’t sit well with the site owner. We wanted a way to incorporate MMDVM completely inside the station.
We absolutely love Scott Zimmerman’s (N3XCC) STM32-DVM version 3 “blue board”, and we’re using the heck out of it. Yeah, I know, most of the MMDVM interface boards out there are pretty much the same, there’s not that much to do differently, but we just loved Scott’s professional packaging and approach – he paid a lot of attention to details that others did not. Anyway, back to the story.
Eric wanted to try and stuff a Pi/PiHat version of Scott’s board into the MTR2000 card cage, but it just didn’t fit worth a darn. In addition to physical space problems, insufficient power for the Pi from the MTR2000 backplane and cooling the Pi were issues. I started digging into this and found whole generations of small SBCs with “Pi” in the name that weren’t Raspberries. The most intriguing were the Orange Pi Zero and NanoPi NEO. They were built on a different SOC than the Raspberry Pi which, in addition to the removal of unnecessary peripherals, eliminated the power and cooling issues AND solved the physical space problem (note: OrangePI Zero has a hardware flaw that reports the CPU temperature about 10C higher than it really is). What came about was my first proof of concept (image at the top) to see if stuffing all of that stuff into the card cage would really work – making sure nothing interfered with anything else, etc.
As soon as the proof of concept was a success, I began working on the first prototype. I reached out to Scott to ask if he minded me “stealing” his schematic for the “blue board” as a basis for my own work. I know he openly published it, and there’s nothing there you can’t find in plenty of other projects, but it felt like the right thing to do – and boy was it! It turns out Scott and I use the same EDA (Electronic Design Automation) software, and Scott offered me his files, which gave me several hours’ head start thanks to a working schematic already drawn in the software! THANKS SCOTT! (I’ll never be able to say that enough). What came out of it was the first prototype SMT32-DVM-MTR2K. The original used 100% of Scott’s schematic, and served as a starting point to see how much circuitry could be eliminated. Since my version was to be used in one specific radio, variables became constants and parts could be eliminated. In addition to a few other things that weren’t required on a dedicated board, I was able to remove all of the pots from the board, relying on the soft pots in the MTR2000 RSS for all calibration. I built two of the prototype boards, and the one pictured above (cut up and hacked as you see it) is still in service on one of my brother’s (Gavin Buffington, N0ECQ) repeaters in Hays, KS.
I continued with Versions 1b and 1c-a of the STM32-DVM-MTR2K with gradual changes and improvements. The vast majority of those early boards are in service in KS-DMR and with a few close friends (shout out to Jon Andrews, K1IMD as the first long-distance adopter). While I was comfortable with the thermals of the OrangePi Zero (and still am), the NanoPI NEO is a slightly smaller board, and I was unable to get the OrangePI Zero without the pin-headers installed. This meant I had to remove the installed headers and install new ones facing the other direction; which took about 30-45 minutes per board!
This gave rise to the version 1c, which allows installation of either a NanoPI NEO or an an Orange PI Zero. At this point, I was considering supplying them to our group and affiliates as a partial kit, and letting the end-user add the SBC of their choice that would fit either footprint, but that idea didn’t last. I was already leaning towards the NanoPI NEO because FriendlyArm was willing to sell them to me without the pin headers soldered and because the board’s smaller size opened up real estate at the front end of the card, and then it hit me. Since the SOC (AllWinner H3) is installed on the bottom of the NanoPI NEO, I could thermally couple it to a copper plane on the PCB for a little added heat dissipation. But adding the pad would get in the way of routing the lines for the dual-footprint version, and at this point, v1c-a was produced that dropped support for the OrangePi Zero and added the PCB-based thermal dissipator for the NEO’s H3 chip. Interestingly, I’m not sure heat sinking to the copper ground plane on the PCB helps when the board is installed in the lower slot of the MTR2000. It’s right above the SCM, which generates more heat than the STM32-DVM-MTR2K… so really guys, install my board in the middle and move it away from the SCM.
The version 1c-a would be the last of the v1 designs, and one I sold openly for a while until version 2.0 came along – at which point, basically nobody wanted the V1c-a, even though it was $35 less expensive. Version 2, while it has some neat features, had one primary purpose: Allow use of station GPIO and wildcard programming so that MMDVM and the internal analog controller of the MTR2000 could peacefully coexist.
Version 2 has turned into something of a hit. In addition to adding an ATMega328P microcontroller that talks to the MTR2000 SCM over the station’s SPI bus (the station believes the STM32-DVM-MTR2K is a Motorola Auxiliary I/O card), there were a few more circuit optimizations. An additional display serial port header added, and the i2c busses for both the NanoPI NEO and the ATMega328P were brought to the station’s system connector (for further experimentation and expansion). The Version 2 currently in production also allows for the use of two variants of the STM32F4 modem processor, which allows some flexibility in sourcing parts.
What about the future? Folks ask me this a lot. I had no intentions of getting into the business of building and selling these (or anything else). I’ve made all of my design documents (CAD/CAM files, etc.) available to Scott, who has produced some of his own and sold them under the Repeater Builder brand name. I’m not doing this to make money, I sell the boards at a price that allows me to break even and recover development expenses (which is why prices drop when I reach a recovery point). It’s hard to appreciate the work that goes into a project like this unless you’ve done one. For example, it took about the same amount of time to write the 30+ page manual for V1c and V2 as it did to design, build and test the V2 prototypes. Also, those early prototypes cost hundreds of dollars each to build, and mostly ended up in the trash.
There are other things I’d like to do. I’d like to have time to further develop the firmware for the I/O processor so that it, in collaboration with the NanoPI NEO can do things like e-mail you if the MTR2000 experiences a module loss, high VSWR, etc. I’d like to see just how far I can go with that. But I also have a whole life that has nothing to do with ham radio, and I have a very patient family who’d like to get me back from my workbench in the basement at some point!
My intentions are to continue offering the V2 STM32-DVM-MTR2K in small batches (10 at a time). If Scott Zimmerman, N3XCC reaches a point of offering his own Repeater Builder branded V2 variation, I’ll probably stop production outside of the needs of KS-DMR and affiliates. I have had a few supply problems that have slowed me down, so I don’t always have boards sitting around ready to ship.
Most importantly, I don’t really want to be “in business” doing this… at least not yet. Retirement is a few years away, maybe then I’ll take this on full-time. But until then, if you don’t mind the occasional wait, and working with someone NOT in business, but rather helping friends equip their MTR2000s for MMDVM use, I’ll keep making them until Scott is ready with his.