Speedometer by reading OBD2 CAN-bus messages. The CAN message parser is generated by the dbc generator, written to obd.toit
.
Check out toit.io for more information about Toit.
You can see the code running on an ESP32 here, talking with my Toyota Yaris:
The DBC2 protocol is very broadly adopted and should work in most cars.