Page People on the Go with This ATmega32U4-Powered Device
EverestX created a pocket-sized, Bluetooth-enabled device that uses an Adafruit Feather to wirelessly transmit messages.
Throughout the '80s and '90s, pagers were used if you wanted to send a quick message to someone else without needing to have a phone nearby. Nowadays, they're quite obsolete, but that didn't stop EverestX from creating a hacked down version that can send messages with the help of a smartphone.
The POCSAG protocol
Pagers can use one of several different protocols to send/receive messages, including TAP, FLEX, ReFLEX, and ERMES. For this project, EverestX chose to use POCSAG protocol, which was the de-facto standard until the '90s. It supports data transmission speeds at one of three rates: 512, 1200, or 2400 bits per second. Although it's quite slow, the amount of data being sent means the user still doesn't have to wait too long before getting their message.
Data is split up into 32-bit words called "codewords" and they consist of 21 bits of information, 10 bits for error correction, and a single parity bit. This means a message can have up to two errors and still have the ability to be corrected. The first information bit signals whether the message is an address or data, and is then followed by either the actual text or the desired address. Messages are sent in batches of 17 codewords with a sync codeword at the beginning. As for the physical signal itself, POCSAG signals are usually transmitted over 27.255MHz and at various frequencies between 433.5 and 467.925MHz. However, there is also a way to use the Ham radio band as well, but this requires extra licensing.
Designing the circuit and PCB
EverestX wanted to keep the footprint small and minimize power consumption, so his choices for components reflect this. The microcontroller is an ATmega32U4 mounted onto an Adafruit Feather Basic Proto. This is because the Feather contains useful circuitry such as a 3.3v regulator, LiPo battery charger, and much more- all in a tiny form-factor. As for transmitting the actual POCSAG signals, an RFM32BP module was selected because of its configurable radio and higher sensitivity from its onboard amplifier. And finally, the HC-05 Bluetooth module provides a way to send BT serial messages to the device. EverestX was able to make this device quite compact, with a radio module on each side and the Feather on the top.
Transmitting messages
When the device first initializes, it sets up the radio transmitter to send messages at the 512 bits per second rate. The user can choose between low, medium, and full power modes, although the higher the transmitting power, the faster the battery runs out. To send a message, the user can download and open any standard Bluetooth serial apps on their smartphone. Then after a message is entered in the correct format and sent to the HC-05 module, the ATmega32U4 forms a packet and redirects it to the RFM32BP board.
The mobile 32U4 POCSAG device is a nice throwback to the times where smartphones hadn't been invented yet and getting a hold of someone was a bit more difficult. You can view the code used in this project on Github here.