Note: This post was sponsored by Aisler by providing free PCBs and parts for a small amount of boards.
MotivationDECT is the de facto standard for cordless phone installations. It has been around for about 30 years, when it was first standardized by ETSI, and is now used alongside phones by other devices such as baby monitors, wireless microphones, smart home and Internet of Things devices. Despite widespread adoption and products using DECT from multiple manufacturers for nearly 3 decades, the technology has not really been accessible to hobbyists.
One effort in the past to change this situation was the DECT Forum's openD project. Its goal was to provide accessible DECT shields from two manufacturers, Dialog Semiconductor and DSP Group, along with the necessary source code to develop DECT applications. While the source code for these shields can still be found on Github, although it has not been maintained for 5 years at the time of this writing, the shields themselves are no longer easily available.
To change this situation and make DECT accessible to hobbyists again, this project created an open hardware DECT devboard based on the SC14CVMDECT module, which was also used on one of the openD shields and is freely available from electronics resellers like Mouser, Digikey and so on. At the same time, the redected.org project was started to document the features of this module and provide up-to-date code examples.
Design requirementsUnlike the shields from the openD project, our DECT devboard should not require any additional hardware, but should be compatible with most common computers out of the box. For this reason it was not designed as a shield for e.g. the Raspberry Pi. Instead, it should be powered and connected via a USB-C cable for easy connectivity. For flexibility, all relevant pins are also exposed on pin headers, so you can still interact with the DECT module using custom hardware and use functions not exposed via USB-C.
To be able to do automatic hardware-in-the-loop testing, the devboard should also provide a way to toggle the reset of the DECT module via software. To keep the devboard simple, it does not include any audio circuitry. For these, custom hardware can be used, or they could be added later as headers boards.
Designing the PCBsSince the main way of interfacing with the SC14CVMDECT module is UART, the design of this devboard borrowed a lot from my existing UART converter. It uses the FT230XQ, a USB to UART chip, because it has configurable I/O pins that can be used to trigger the reset pin of the DECT module via software. Since both the FT230XQ and the DECT module are powered by 3.3V, a voltage regulator from Texas Instruments was added to convert the voltage from the 5V provided by USB-C. A button to reset the DECT module was added and additionally the reset pin of the module can be connected to the FT230XQ via a jumper to enable the software reset functionality. The charging pins of the DECT module have been connected to either GND or 3.3V to allow the module to be powered by a constant current source instead of a battery. All I/O pins of the DECT module are exposed on pin headers and two SMD LEDs were connected to the LED pins of the module. The complete schematic of this board can be found at the end of this post or together with the KiCad project files of this board.
Since there were no symbols or footprints available for the SC14CVMDECT module in KiCad, I had to create them myself. For the symbol used in the schematic, I used a tool I wrote to generate it from a CSV file containing an annotated pin-out table of the module. The footprint, a 3D model of the copper pads used to place and connect the chip, was created by hand. Both are included in the project sources and it is planned to upstream them to KiCad for easier use in the future.
After the schematic was finished and both the symbol and the footprint of the DECT module were created, the parts had to be placed on the PCB and the connections between them had to be routed. Once everything was connected, labels were added to the PCB's silkscreen to explain the functionality of each pin. A final rendering of the PCB can be seen here:
Since I wanted to bring a batch of these boards to the 38C3 and had finished the design at the last minute, time was ticking for the assembly process. To make it in time, I used the newly announced "Blitz" option for 0.8mm 4-layer PCBs from PCB manufacturer Aisler. To get the necessary components for the assembly, I used their "Simple Supply" service to have them obtain the components for me. This way I had my PCBs and parts in less than a week and was able to start my assembly process right on time.
The first step in the assembly process was to apply solder paste to all of the copper pads on the PCBs. To do this, I used a stencil to cover all areas of the PCB where no solder paste was to be applied. I then aligned the PCBs and stencils perfectly using a stencil holder. This way I could apply solder paste only to the copper pads of the PCBs, as the stencil covered all other parts.
The next step after applying the solder paste was to place the parts. I went through all the parts in the interactive HTML Bill-Of-Materials from the project files and placed them one by one on the boards with a pair of tweezers. Since the DECT modules require precise placement, they were finally placed with a manual vacuum pick-and-place tool under a microscope.
Once all the parts were placed, they had to be soldered. To do this, the fully assembled PCBs were placed in a reflow oven. The reflow oven heats the PCBs and cools them down to melt the solder paste and solder the SMD components into place. Once the SMD assembly was complete, the final step was to solder the headers into place. This was done manually with a soldering iron on all 15 boards.
After all the boards were assembled, I tested them by checking if I could talk to the DECT module over USB. 14 out of 15 boards worked 🎉. While testing the boards I realized that I made a mistake during the design phase. The UART interface of the DECT modules is 1.8V, but the FTDI chip was configured for 3.3V :/ Luckily, this was easily fixed afterwards by changing the voltage on one pin of the FTDI from 3.3V to 1.8V by cutting the supply line to the FTDI pin and rewiring it with jumper wires over two diodes, each causing a voltage drop, to the 3.3V supply. To prevent this design issue from occurring in future production runs, this has also been fixed in the published PCB files.
Comments
Please log in or sign up to comment.