PIKAwave
open-source handheld communicator
Pika is a handheld radio — somewhere between push-to-talk and voice messages. Radios reach each other directly: no towers, no network, no phone. Talk in near real time, or leave a message for later. Anything you receive can be played back as many times as you want.
It works on sub-1 GHz bands with LoRa modulation, uses MELPe for voice compression, and runs on an STM32H7. Traffic is end-to-end encrypted with X25519 and AES-256, and each radio only accepts messages from contacts you have added to it. A built-in GNSS receiver lets you share your position.
Two radios are planned. Pika Go is the full version: rugged and sealed against snow and water, for travel and outdoor sport. Pika Lina — from the Italian piccolina, little one — is for kids: smaller, lighter, cheaper and simpler.
Battery life is a target of its own: a few days of active use, or weeks on standby.
Sources
Everything is open and developed in the open:
- Firmware (C++)
- Hardware (KiCAD) - schematics and PCB layouts
- 3D (Onshape) - enclosure mechanical design
Updates
— Recording to RAM and playback with encoding/decoding in fly using MELPe 2400 works, AGC for microphone input also implemented.
— Firmware is in progress. A few hardware bugs have already turned up; they will be fixed in rev.B.
Plan and progress
- PCB design for the first prototype: Pika Go 0 (KiCAD 10)
- Enclosure design: Pika Go 0 enclosure (Onshape)
- Minimal UI: LCD driver and buttons
- GNSS module driver
- Microphone input (ADC) and speaker output (DAC)
- On-device MELPe voice encoding and decoding
- Full UI: screens, menus and settings
- LoRa modem driver
- Draft application protocol
- Message store and replay
- Low-power mode when idle
- Field test at real distances
- X25519 key exchange and AES-256 transport frames
- Contact management
- GNSS position sharing
- Contact sharing
- Group channels
Getting involved
Any help is welcome, hardware or software: boards, firmware, codecs, enclosures, or a second radio for field testing. Write to contribute@pikawave.org and say what you would like to work on.