firmware | ||
hardware | ||
sdcard | ||
.gitignore | ||
.travis.yml | ||
CMakeLists.txt | ||
LICENSE | ||
README.md | ||
screenshots.png |
portapack-HAVOC
HAVOC is a fork of the PortaPack H1 firmware, a portability add-on for the HackRF One software-defined radio.
Hardware is available at ShareBrained Technology.
It is build on top of ShareBrained's firmware, meaning that the original functionalities are kept (except when I don't sync for 2 months).
As its name implies, HAVOC's functionalities can be fun (or mean). You shouldn't use them. We never did.
In most countries, radio transmissions are tightly regulated. Transmitting outside of free/public bands without a licence or authorization, even at very low power, is certainly forbidden where you live. Always bear that in mind. You're the ONLY ONE responsible for what you do with this software.
Fork features
- Frequency manager (save/load from SD card)
- "Soundboard" wave file player from SD card (put 8-bit mono files in /wav directory)
- POCSAG 1200 alphanumeric receiver/decoder
- Simulate OOK frames from PT2262 encoders and many others (doorbells, remote outlets, some garage doors, ...)
- Scheduled numbers station (for spies on a budget, alerts, LARP scenarios, fox hunts, ...)
- Nuoptix DTMF sync transmit (quite specific but can be useful in some theme parks :) )
- RDS (Radio Data System) PSN and RadioText groups transmit
- Fully configurable AFSK transmit (Bell202...)
- Virtual keyboard or Unistroke "handwriting" text input
- LCR (Language de Commande Routier) litteral message forming and transmit
- "Xy" and "EP" transmitter, street lighting control (CCIR tones)
- "Play Dead" in case of emergency
- PWM audio RSSI output (for crude direction finding)
Progress
Feature | Progress | Notes |
---|---|---|
Jammer | 90% | Need to update baseband code |
RDS TX | 90% | Needs testing for Radiotext and audio mux function |
POCSAG RX | 80% | Still misses some messages, needs 512 and 2400bps modes |
Close-Call™ | 70% | Needs adjustments and optimization for wider frequency range |
EPAR TX | 60% | Older Xy, low priority |
Sigfox RX | 40% | Left aside, needs updates and testing |
Morse TX | 30% | Needs UI and testing |
ADS-B TX | 20% | UI and frame gen stuff done |
Whistle | 20% | Easy |
Wave visualizer | 10% | High priority |
IQ replay | 0% | High priority |
ADS-B RX | 0% | Could be fun |
Search | 0% | Will be a special Close-Call mode |
Scanner | 0% | Easy |
Generic TXs | 0% | Raw AX.25, AFSK, FSK, CCIR, DTMF... |
PMR446 TX | 0% | Channel list, mic. in, PTT, CTCSS |
OOK RX | 0% | Mainly for 433MHz remotes |
POCSAG TX | 0% | Shouldn't be too tough, a real pager for testing would be nice |
AFSK RX | 0% | Shouldn't be too tough |
Analog TV TX | 0% | Could be fun |
Mic. TX | 0% | Need to find guard tones for various brands of wireless mics |
Painter | 0% | Spectrum painter, low priority |
Screenshots
Visit the wiki for more details.
PWM RSSI output
Huge kludge, wrote in a rush for direction finding. Audio frequency is 800Hz in NFM and 500Hz in WFM. The data path is very messy, the RSSI thread running on the baseband core sends groups of values to the application RSSI widget which computes the average value, which sends it back to the baseband module for audio output.
Getting out of Play Dead mode
Play Dead mode is a persistent fake error screen, which can be useful in case of situations where people become too curious. It's easily enabled, and disabled with a programmable key sequence (see Setup menu).
If no exit key sequence was set up, it defaults to up-down-left-right. Enter the sequence and press select, you should see "Please reset" appear. After reset, you should be able to go back to the main menu. If not, a sequence was probably entered already. Solution hint: remove the backup battery for a few minutes, or ui_navigation.cpp ctrl+F 0x8D1 ;)
This mode can also be used as a login screen, not requiring reset.
Thanks
- Sig and cLx for research on AFSK LCR, Xylos, and for lending remote-controlled outlets
- Rainer Matla for the donation :)
- Keld Norman for ideas and suggestions
License
Except where specified in subdirectories of this project, all work is offered under the following license:
Copyright (C) 2013-2015 Jared Boone, ShareBrained Technology, Inc.
Copyright (C) 2015-2016 Furrtek
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Contact
Original firmware and hardware
Jared Boone jared@sharebrained.com
ShareBrained Technology, Inc.
The latest version of this repository can be found at https://github.com/sharebrained/portapack-hackrf/
HAVOC specific things
Furrtek furrtek@gmail.com