No more restrictions from high level software! Access the lowest level of digital radio transmission with this programmable sub-GHz wireless module.
Introducing “Pidgeon 1”
Have you ever needed a wireless datalink with longer range than wifi? Do you need a platform to test your new wireless protocol? Do you need a wireless controller for sensors in your greenhouse or lab? How about all of the above, plus custom functions? Pidgeon 1 can deliver it all.
Pidgeon 1 is a sub-GHz radio with 500 mW transmission power, an RS485 networking interface, and a STM32F0 microcontroller – all in a pocket-sized USB-stick form factor. Unlike other USB wireless modules, the microcontroller of Pidgeon 1 is fully programmable, which allows you to integrate RS485-based communications with the radio in any way you need. This means Pidgeon 1 can function as a communications node, sharing its functionality over a network. You can define your preferred routing, data format, encryption, protocol, compression, or other pre-processing. Pidgeon isn’t just a wireless module either; you can use it to control RS485 network systems – take readings from sensors, activate garden watering, open gates, etc.
The USB interface allows Pidgeon 1 to act as a virtual COM port on Windows, Linux, and Mac systems. This allows simple integration into existing, computer-side software on any major platform.
Pidgeon 1 is built from the following hardware:
- Radio – CC1120 + CC1190
- Controller – STM32F051K6
- FTDI USB interface – FT234XD-R
- RS485 interface – LTC2850IDD
- Buck converter – RT8010GQW
- SMA connector for antenna
Radio functionality is provided by a CC1120 transceiver with a CC1190 front-end that can operate in the 868 MHz band or 915 Mhz band. The radio is tested to reach 500 meters in line-of-sight at 4.8 kbps and 25 kHz bandwidth using a quarter-wave wire antenna. The range can be further improved by lowering bitrate or improving the antenna. The minimum bandwidth supported by the transceiver is 8 kHz, which has additional range-improving potential. The transceiver also supports 4-state modulations, allowing faster transmission with reduced range.
The device gets its power from the USB bus and uses a buck converter to create an operating voltage of 3.6 V with 1 amp maximum output current. However, current above 640mA may degrade performance of the radio. This is important if you power an external device from a pin header on the back of the device. Apart from power, this header also provides the programming interface and RS485 signals.
The Pidgeon 1 uses an energy efficient, 32-bit microcontroller that is fully open for programming.
Pidgeon 1 can be used in many applications. Let’s take a look at a few examples.
The USB interface circuit is compatible with all major operating systems. This includes the various Linux based systems that run on single-board computers like the Raspberry Pi. With SLIP and PPP protocols, you can easily use the device as a standard networking interface. Together with network address translation, you can use Pidgeon 1 to extend internet access with better range than Wi-Fi. Our testing has found that it works between Raspberry Pi 3 and A20-OlinuXino-LIME. Keep in mind that the network speed of this link is very low for long range. But sometimes a slow link is better than none at all, especially for remote systems running on solar power.
Wireless Sensor Networking
Pidgeon 1 offers 3 interfaces: radio, USB, and RS485. These can be conveniently integrated into your sensor network. Unlike closed wireless modules, Pidgeon 1 lets you define custom routing, data formatting, compression, and pre-processing.
You can use it to:
- read data from sensors on an RS485 bus in your greenhouse and send the data by radio to a receiver
- mount the device to a high-gain rooftop antenna and use RS485 to get data into your PC without radio signal degradation
- deploy a long range wireless doorbell, security sensor, or weather sensor
- interact with automated devices inside your house
Proprietary Software Distribution
You can use Pidgeon 1 to distribute your proprietary software (like an encryption algorithm or a protocol). Embedding your algorithms in low level hardware reduces their chances of being cracked compared to traditional distribution as computer software.
Apart from stand-alone applications, Pidgeon 1 can be used as a plain peripheral for a PC. This means configuring the device to allow full control from the attached computer. Computer-side software can then take advantage of the driver-friendly, virtual COM port and apply existing, verified (or even proprietary) protocols, encryption methods, routing, radio settings, etc. The computer can also be used to visualize and analyze radio traffic or received data. You could also utilize the module in your custom PC apps like instant messaging and multiplayer games in the immediate area, or even as a simple radio spectrum analyzer.
With Pidgeon 1, you hold the the potential of all these applications in your hands. Pidgeon 1 lets you control radio transmission down to single bit. However, the radio transceiver integrates some packet management features which can simplify your code and/or its execution. This image illustrates the packet fields processed by CC1120 transceiver.
More information about the CC1120 transceiver can be found at manufacturer’s website. This page also contains “user’s guide” document, which will be your best friend during programming.
Pidgeon 1 comes with an application that radio broadcasts ASCII characters received from PC. This way, you can easily verify correct function of received devices by typing characters into one device and watching them come out on the other.
The device can be programmed over ST-link. This module is present on many development kits of ST’s microcontrollers. The programming pins of Pidgeon 1 are on a standard male header with 2.54 mm / 0.1 inch pitch.
To help get you started with programming, we’ve created a GitHub repository (under construction) with examples in C that will take you through basic use of available peripherals. Examples start at a blinking LED, so even a novice programmer can get started.
The current Pidgeon 1 is the fourth iteration of the project. You can read about its development at Hackaday.io. The upcoming batch will be fabricated with black circuit boards. Both fabrication of the board and its assembly will take place in Central Europe by companies we’ve visited and worked with before. This should reduce delays and possible issues.
Assembled devices will be frequency calibrated to their respective band. Every device will ship with the value of their measured frequency offset, so you can easily use the exact calibration value in your code.
Backing the Pidgeon 1 Campaign
Choose the Correct Band
If you decide to back this project, please pay close attention to options of your pledge. You will need to choose the frequency band that is part of license-less ISM bands in your area. As a rough guide, the 915 MHz option is for the US while the 868 MHz option is for Europe. If you don’t know suitable band for your location you may need to check telecommunication regulations for your area, and even if you do it’s a good idea to confirm. Note that you can configure the transceiver to operate at frequencies other than the intended band. This will however severely degrade its performance and often violate radio regulations.
Add an Antenna
You can also order an antenna for your Pidgeon 1 device. The particular antenna you get with the device is intentionally not specified. Small ISM bands antennas with an SMA connector are rarely stocked in large quantities. And no one wants to wait for their transceiver because a specific antenna brand is out of stock. Instead, you’ll get a stub antenna that is available at the time of shipping with roughly 2 dBi gain, attachable directly to Pidgeon 1. Alternatively, you can solder a quarter-wave long wire to the SMA connector and voila an antenna. This has been tested to perform pretty decently.
If you do not have ST-link (or a development module with ST-link), you can choose the “Ready to Code Kit” pledge level that contains everything you need to get started. It comes with two Pidgeon 1 transceivers with antennas, a STM32F0-Discovery kit for programming, and all necessary wires.
Thank you for checking out our campaign. Share it with your friends and help the Pidgeon fly.