A phone system that fits in your hand
It started as one ESP32 pretending to be a whole PBX. Then it needed something to call from. So it grew a handset. Three repos that only make sense together.
pocket-dialself-contained SIP PBX on one ESP32-S3. point any SIP phone at it and call.→ + handsetpush-to-talk SIP handset. registers to pocket-dial, so now you have a phone to call from.→ resiprocatethe SIP / ICE / TURN / STUN / RTP stack doing the actual work underneath. vendored→Radios that listen, and remember what they heard
Other people's radios are louder than mine. A police scanner spits out a serial firehose of P25 trunk traffic; on its own it's noise. So: write down what the bytes mean, then build the things that turn the firehose into something you can search, chart, and keep. Same move on the Meshtastic side: capture first, ask questions later.
bcd325p2-protocolthe serial command-protocol reference for the Uniden BCD325P2. everything below stands on this.→ + splunk-addoningest the serial RF telemetry, parse P25 / EDACS, into Splunk.→ + dashboarddecode, visualize, and persist BCD325P2 telemetry. the human-readable end.→ p25-trunk-loggerlog a P25 trunked control channel; spits out trunk-recorder configs.→ meshtapsame idea, mesh side: passive Meshtastic capture to BigQuery over cellular MQTT. capture now, query later.→Radios that don't just listen
Listening is half of it. The other half is making noise on purpose and seeing what flinches: deauth a 5 GHz network, then build the thing that notices someone doing exactly that. Wardrive the neighborhood. Reverse a LoRa chirp. Put voice on a frequency band that was never meant for it.
wifi-ble-marauderESP-IDF Wi-Fi/BLE security tool: 5 GHz deauth, Thread/Matter/Zigbee, BLE 5. no Arduino.→ deauth-detectorthe other side of marauder: a distributed 802.11 attack detector, with a LoRa back-haul.→ wigle-wardriverWi-Fi/BLE wardriver for Wigle.net, GPS-tagged to SD.→ esp32s3-mgmt-scannerpassive 802.11 management-frame scanner. quiet cousin of the loud ones.→ ble-sign-beaconbroadcast a short message as a BLE advertisement. deliberately visible, for once.→ lora-rf-toolkitLoRa reverse-engineering: sweep, I/Q capture, chirp and parameter analysis.→ fsk-walkie-talkievoice-over-FSK walkie-talkie (Codec2 + SX1262). a phone again, but over raw radio.→Comms that hide, or refuse to die
If you can listen to a radio, so can everyone else, which is the whole reason this part exists. Voice that goes out over Tor instead of the air. A tiny SSH server small enough to live on the chip itself. And meshes that route around the part of the world that's on fire. Two of these are upstreams I lean on, not mine. Said so.
tor-voiceencrypted voice over Tor: in-process Arti onion service + Opus + Noise. the opposite of broadcasting.→ glosshminimal SSH 2.0 server for ESP-IDF on PSA Crypto. a secure door on a $5 chip.→ esp-secure-transportMIT/PD secure-transport stack for ESP-IDF. on the shelf for now. paused→ reticulumcryptography-based mesh over LoRa, packet radio, serial, TCP. the won't-die layer. vendored→ rfpartywireless situational-awareness dashboard for BLE/Wi-Fi telemetry. vendored→Bits that make the rest bearable
None of the above is much fun without a screen to look at, an agent to run on the box when there's no network, and a way to ask the pile of captured data a plain-English question. The boring-but-load-bearing stuff.
jc3248-display-driverESP-IDF driver + bring-up for the Guition JC3248W535EN (AXS15231B QSPI). the screen.→ esp32-ai-agentESP32 AI agent with persistent memory and an offline rule engine. brains when there's no internet.→ ask-the-logsnatural-language queries over BigQuery (Google ADK + Gemini). this is what reads what meshtap wrote.→Two demos, made up so I don't have to use real ones
If you stack the listening tools, a picture falls out of them that's worth thinking about. These two say out loud what that looks like, built on synthetic data, not real captures, so nobody real is in them. The label is the point.
deanon-demowhat ~$900 of commodity hardware reconstructs about multi-channel pseudonymity. synthetic→ sentinel-node-demosecond- and third-order surveillance / counter-surveillance effects. synthetic→The odd one out
Has nothing to do with radios. Lived here before the rest did and I'm not going to pretend it belongs to a theme.
rdp-publisher-certprovisions a publisher certificate for .rdp files: self-signed, Group Policy, consent bypass.→