Ricardo Lima Caratti's Handy Arduino Library Delivers Easy QN8066-Powered FM Radio Projects
Put cheap FM transceivers under Arduino control quickly and easily with this handy permissively-licensed library.
Maker, computer scientist, and radio ham Ricardo Lima Caratti is aiming to make it easier for people to build projects around the QN8066 radio transceiver — by developing and releasing an open source Arduino library for ease of control.
"This library is intended to provide an easy-to-use interface for controlling the QN8066 FM transceiver," Caratti explains. "The primary goal of this Arduino library project for the QN8066 is to simplify the development of robust applications using this device. I hope that hobbyists, electronics technicians, radio amateurs, and others interested in this work will find success in their projects."
The QN8066 is a common part for devices needing to send and receive frequency modulated (FM) signals, offering a frequency range of 64MHz to 108MHz and an integrated digital signal processor (DSP) and stereo decoder. While it offers a powerful programmable interface, though, it can be tricky to get working owing to a paucity of public information — which is where Caratti's library comes in.
"It is possible to find transceivers based on the QN8066 in kit form," Caratti explains. "With this library, you will also be able to control this kit, thereby expanding its original functionalities. The Arduino Nano is used in some examples in this library because it's popular among hobbyists, many of whom already have one or an Arduino Uno with the same architecture."
While the quality of these kits may vary — Caratti warns of one that has issues with I2C communication which require the pulse-width modulation (PWM) output to be briefly disabled before sending a command, and of stability problems with another higher-power design — they provide a low-cost way to get started working with FM radio, with Caratti's library taking care of the software side of things.
The library has been published on GitHub under the permissive MIT license; it is also available in the Arduino IDE's Library Manager.