Monitor live traffic from V2X signals with V2X2MAP open-source Android app and an ESP32-C5 development board
Publish Date: 2026-05-24 23:59:00
Source Domain: www.cnx-software.com
Yesterday, I wrote about the OpenTrafficMap ESP32-C5 C-ITS receiver board to monitor and potentially optimize traffic using 802.11p / ITS-G5 V2X communication over 5.9 GHz WiFi 6, and map all detected nodes on the OpenTrafficMap website.
Peter Holzhauser (Pit711) forked the ESP32-C5 C-ITS receiver firmware to port it to the Waveshare ESP32-C5-WIFI6-KIT development board and added BLE streaming. He also designed the V2X2MAP open-source Android app to interface with the board (since 5GHz WiFi on phones can’t usually handle 802.11p), and a Windows installer to flash the firmware.
While the ESP32-C5 C-ITS receiver board integrates an ESP32-C5-WROOM-1 module, a GPS module, and an Ethernet port with PoE, the V2X2MAP project leverages any recent Android smartphone with a USB OTG port and GPS, so you can simply connect most ESP32-C5 boards to monitor live traffic at proximity (a few hundred meters to several kilometers) on your phone including traffic lights, public transports, and other vehicles with 802.11p V2X communication enabled.
More specifically, it captures the signals from vehicles’ on-board units (OBUs) and roadside units (RSUs) broadcast on the dedicated 5.9 GHz V2X band:
- CAM (Cooperative Awareness) — GPS coordinates and speed
- DENM (Decentralised Environmental Notification) — For example, “hazard ahead!”
- SPATEM (Signal Phase + Timing) — Traffic-light countdowns
- MAPEM (Map Extended Message) – Intersection geometry.
This allows the app to update the map without any connection to the cloud once the offline map is downloaded. It can also optionally update the data through MQTT to cits1.opentrafficmap.org or your own server, and record data to open it in Wireshark.
V2X2MAP app – Left: Urban environment (Stuttgart), center: settings, right: highway (over Bluetooth)
The source code for the firmware, V2X2MAP Android app, and a Python bridge + local dashboard can be found on GitHub, along with documentation instructions to build everything from…