Getting the Most out of ISM Transceivers Using Math
WiFi is an excellent protocol, but it certainly has its weaknesses. Its range in even a normal home is relatively limited, so you could imagine the sort of performance you’d expect through the hundred meters of dense woodland that [DO3RB] is trying to penetrate. So naturally the solution was to develop a new wireless transceiver for the ISM band.
Of course, getting reliable packet transmission is tough. In a building with brick walls, WiFi will get around five to ten percent packet loss. For TCP to remain reliable, one percent packet loss is the maximum designed loss of this wireless protocol. In reality, the transceiver achieves 0.075% packet loss real world.
The crux of the magic behind this excellent reliability is the extended binary Golay code. By halving the bitrate, the Golay code is able to correct for up to four errors per codeword. While a more complicated scheme could have been used, the Golay code allowed for easy porting to an MCU thus simplifying the project. All this is encoded with frequency shift keying in the ISM band.
This magic is tied up inside an tiny SAMD21 paired with a RFM12BP wireless front end. Using TinyUSB, the interface shows up to the host as a USB Ethernet adapter making for seamless networking setups. With reliable bi-directional communication, you could theoretically use this as a home networking solution. However, this is realistically best for IoT devices as the speeds are around 56 kbit/s.
While this is an incredibly simple system, harking back to 90s networking, it certainly gets the job done in a neat and tidy manner. And if you too wish hark back to 90s radio communications, make sure to check out this satellite imagery hack next!
Thanks [Bernerd] for the tip!