Home
├ Intro — two sentences, no slogan
├ Map example — screenshot + legend, link to the live map
├ At a glance — 5.9 GHz (ITS-G5/802.11p) · ESP32-C5, ~20 EUR
│ · unencrypted but signable · MQTT · CC BY-SA 4.0
├ Data flow — receive → publish via MQTT → the map
├ Running a receiver — official node OR your own project → Receivers
├ Documentation — link list to all pages
└ Project — source (Codeberg) · talk (media.ccc.de/GLT26)
· non-profit · imprint
What is C-ITS? — conceptual only
├ How it works — 5.9 GHz, unencrypted but signable; vehicles <-> infrastructure
└ Message types — CAM · DENM · MAPEM · SPATEM · IVIM
Senders — who transmits C-ITS
├ Sender types — RSUs (traffic lights, roadworks signs, toll gantries)
│ · OBUs (trams, buses, cars, emergency vehicles)
├ Vehicles: Volkswagen group— Golf 8, ID.3/4/5/7, ID.Buzz, Multivan, Tiguan III,
│ Passat B9, Tayron, T-Roc II; >2.3M; changing pseudonyms
├ Vehicles: Cupra — Born (Tech Pack), Tavascan, Terramar
├ Not receivable — cloud "Car-to-X": Mercedes/BMW/Ford/Volvo/Audi/Skoda
├ Infrastructure — ASFINAG, Autobahn GmbH, Car2X traffic lights, transit OBUs
├ Outside Europe — USA DSRC (dead) · Japan ITS Connect 760 MHz
│ · China C-V2X (both incompatible)
└ In practice — what you actually receive around here
Coverage — where C-ITS is live (purely geographic)
├ How this list works — deployment vs. community sighting; how to add one
├ Legend — signed yes/no, OBU-only, ...
├ Austria — Graz · Klagenfurt (12 RSU / 74 bus OBU) · Vienna · ASFINAG
└ Germany — Autobahn · Aachen · Braunschweig · Hamburg (bus priority)
· Kassel · Munich
Receivers
├ The official receiver
│ ├ Get one — group order (Pretix, 20 EUR, pickup at realraum Graz,
│ │ shipping AT/DE/own label) · or have the PCB made
│ ├ Board reference — ESP32-C5-WROOM, revisions, jumpers, u.FL, schematics
│ ├ What's in the box — ASA enclosure, bottom seal (bottom.stl) + M4x12 TX20,
│ │ rubber plug for the LAN cable
│ ├ Power — USB (~1.7-2 W) vs. PoE; jumper table (802.3af /
│ │ passive 7-58 V); never USB and PoE at the same time
│ ├ Getting online — LAN/DHCP · no WiFi · mobile: repeater with LAN port
│ ├ Config — no local web UI; via the portal (MQTT) or via USB
│ ├ LEDs & troubleshooting — LED table (SYS/RCV/ETH/MQT/PKT), brightness
│ ├ Compliance & EMC — EMC test rev 2 (FH Villach), class B passed; CE path
│ └ Next steps — -> Placement · -> Your Node · -> Reporting to OTM
│
└ Other receiver projects — catalogue; fields: hardware · firmware · uplink · to OTM? · repo
├ DIY Ethernet — ESP32-C5 + W5500/ENC28J60, OTM firmware, wired
├ WiFi via SPI-EPPP — ESP32-C5-DevKitC-1 (N4R2) + companion ESP32-C3
├ USB -> Raspberry Pi — ESP32-C5 + Pi as gateway
├ USB -> Android — ESP32-C5 + phone as gateway (cits-to-go)
├ Mobile 5G setup — FireBeetle 2 ESP32-C5 + W5500 + power bank + ZTE MU5001
├ ESPHome firmware — official OR any C5 hardware; esphome-its-g5
├ FritzBox 3390 — AVM 3390 (AR9580/ath9k), OpenWrt + otm-bridge
└ v2x2map — Waveshare C5-WIFI6-KIT, fork with its own app and map;
standalone, OTM upload optional
Placement & Outdoor
├ Mounting & line of sight — higher is better; outdoor beats indoor; tinted windows reflect
├ Interference — nearby 5 GHz WiFi -> separate or disable the 5 GHz band
├ Antennas & polarization — internal PCB antenna is good; external (u.FL): vertical better
├ Temperature — typ. ~55 C, up to 83 C in the sun; dim the LEDs; use shade
├ Enclosure — ASA (UV-resistant, waterproof), bottom seal + LAN grommet
└ Surge protection — one arrester per outdoor run, inline before the switch, grounded
Your Node — Self-Service Portal; applies to EVERY node
├ Accessing your node — QR code on the case / link from the shipping mail
├ Password protection — set a user password, otherwise the portal is open
├ Friendly name — a readable name instead of the raw MAC
├ Show on map & coordinates — map visibility, setting the location
├ Node settings — LED brightness (0-255), reboot
├ View your messages — your own frames in the portal
└ Heatmap — reception heatmap of your node
Reporting to OTM — the MQTT broker; convergence point of ALL receivers
├ The central broker — every node publishes to one broker -> the map; publish without login
├ Wire format — raw 802.11p/C-ITS frames; one format for all projects
├ Connecting — host/port from the firmware config.c; node name = MAC by default
├ Topics — its/nodeXXX/packet/json · .../stats · wildcard its/nodeXXX/#
├ Subscribe to your node — credentials from the portal; MQTT client list
├ What is published — CAM/DENM/MAPEM/SPATEM/IVIM + telemetry; no offline buffer
└ Monitoring in Home Assistant — node publishes telemetry, HA reads along via MQTT
(HA *as a receiver* -> ESPHome in the catalogue)
Using the data — API (currently a stub)
└ Overview · Endpoints · Data formats (GeoJSON/JSON) · Access & limits
Community
├ Contributing — edit rights, style guide
├ Language policy — English
├ Non-profit & finances — OpenTrafficMap association, volunteer-run, donations
├ Related projects — Codeberg org, firmware repos, cits-to-go, EPPP server,
│ v2x2map, esphome-its-g5, FritzBox bridge
├ Further reading — external C-ITS resources
└ Imprint & license — CC BY-SA 4.0, imprint