After verifying the hardware interface to the phones and reverse engineering how to control them using a single phone interface board, I designed a four phone switch. Four phones was chosen because it fit all the personal use cases I could imagine for these phones, and, more importantly, because of limitations of the RP2040 microcontroller on the Raspberry Pi Pico board. RP2040 has a unique PIO (Programmable Input Output) peripheral which has eight state machines that can be used to encode and decode Differential Manchester code. Each phone requires two of these state machines: one for receive and one for transmit.
V2 DNVT Switch
As implemented now, the switch supports calling any extension from any other extension and is able to play a few pre-recorded messages. The code that Nick Andre put together to make all of this happen can be found here. With a bit of software work, additional functionality could be added with no hardware changes by sending data over the USB port or the GPIO pins exposed on the front panel (there is also a DIP switch for configuration inside). With the right code additions, more than four phones could be supported. For example, multiple switches could connect as SPI slaves to a second board that handles call switching between slaves. Alternatively, the switch could connect over USB to software running on a PC to bridge the DNVTs to a VOIP system.
Back Side of V2R Switch
I ended up making a few versions of the switch:
V1 PCBA and Box Showing Test End Plate 3D Print
Selling assembled boards without having them tested for Part 15 compliance would violate FCC regulations, so I will only offer these switches for sale as kits that the end user must solder together and assemble. I also have little interest in manually assembling boards to sell for a hobby project. I didn't design these switches to make money, but I would like to help others use their DNVTs by making kits available.
The switch PCBA consists of fours instances of the interface circuit, A Raspberry Pi Pico, and a handful of connectors. from the All of this hardware is open source, so if you want to make your own modifications to the boards or just place your own orders for the PCB/As, have at it. All of the design files can be found here. I doubt any large market exists for these phones, but if some company would like to take over this project and get the boards certified, I would be happy to support them in doing so. For the time being, the boards will be available in kit form only.
Top (left) and Bottom (right) of V2 Switch PCBThe switch is designed around an extruded aluminum project box from MWRF Source. The main board slots into the card guides of the enclosure, and custom end plates keep the PCB in place. PCBs are so cheap these days that they are the best way of building professional looking instrument face plates in low volumes. PCBs come with precise panel cutouts, holes, and silkscreen text at no extra charge, and 1.6mm FR4 laminate is pretty strong. Ten FR4 PCBs with a lead free finish cost $6.10 from JLC PCB, and for $7.50, you can get ten made on an aluminum substrate. I've had black soldermask on the Aluminum boards get scuffed during shipping, and the option to have paper placed between PCBs is greyed out on JLCPCB's ordering page, so I've stuck with FR4 for these panels. I've also seen board routing defects on aluminum boards that I've never seen on aluminum.
Top: Front and Back Panel of V1 Switch. Bottom: Front and Back Panel of V2 RJ45 Switch
Back Side of V2 Switch
All of the PCBs for this project came from JLCPCB. They are incredibly cheap and have an interactive ordering interface that puts US fab houses (aside from OSHPark) to shame. Advanced Circuits could learn a thing or two from them (Advanced's ordering page is one step above faxing them an order form and supplying the Gerber files on microfilm). JLCPCB also offers an inexpensive assembly service that I tried out for the first time with this project. They provide scrips to run in EagleCAD to generate the placement and BOM files that you can directly upload to their website. I was blown away at how easy it was to place an assembly order, and will be having most of my personal PCBs assembled by them instead of hand assembling for now on. You are able to interactively confirm parts placement using a 3D rendering of your design and are able to fix any placement or rotation issues on the fly. You can also pay $0.45 for one of their engineers to confirm the parts placement which is a no-brainer.
JLCPCB Placement Confirmation Page
There are two types of parts in JLCPCB's library: basic and extended. With basic parts, you pay for the cost of the components and $0.0017 per joint. With extended parts, you also pay an additional $3 per BOM line (presumably because they have to swap in or load different feeders to their pick and place machine). This design has five extended parts (the TVS diodes, The polyfuses, the GDTs, the inductors, and the RS422 transceivers), so the additional fee was $15.65. I don't know where the additional $0.65 came from, but I'm not about to complain. There is also $8 setup fee and a $1.50 stencil fee. The parts for five boards cost $33.24, so the grand total for five boards (PCB + parts + assembly) was $68.33 (13.66 per board).
Partially Assembled V2R PCBA As Received from JLCPCB
JLCPCB's export scripts omit through hole parts entirely and they do not have an appropriate transformer in their library, so the only parts that I have to solder myself are the through hole connectors and the transformers. For resistors and capacitors, JLCPCB's BOM matching tool is able to pick out appropriate parts on its own based on the footprint and value, but for more specialized parts you can add the JLCPCB part number for the specific part that you desire to the BOM prior to uploading. There are a lot of parts in their extended library, but it takes some patience to find exactly what you're looking since you need to figure out what category the parts are in and then use the less-than-perfect parametric search tool. I didn't include the RS422 transceivers on the assembly order until the RJ45 version of the switch because they lumped RS422 and RS485 transceivers into the same category preventing me from finding an appropriate part. After searching through a dozen datasheets (most in Chinese), I found GB490H which has been working just fine.
GB490H RS422 Transceiver Datasheet
In addition to the assembly being cheap, the parts themselves are also cheap. Its actually cheaper to have JLCPCB assemble the board with their parts than it is to buy a bare PCB and assemble it with parts from Digi-key. For the through hole parts, I bought all that I could from LCSC due to the cost savings. For example, the headers for the Pico cost $2 each on Digikey and $0.17 each on LCSC.
The order of assembling the through hole parts doesn't matter nor does the orientation of the transformers. The only things to note are that you should make sure to keep the barrel jack straight while soldering since the holes are oversized and that it helps to plug the Pico into the headers prior to soldering the headers in so that the headers stay straight as they are soldered. Helping hands or a friend make assembly easier, but you can definitely assemble a board with just a stick iron and some rosin core solder.
DNVT Switch Assembly Kit
BOM: (LCSC, Digi-Key)
Bottom of Partially Assembled PCBA
Fully Assembled V2R PCBA