This open-source Telematic Platform for Robotics, EV, and IoT is designed for collecting, processing, and transmitting CAN bus data over multiple connectivity options. It enables real-time monitoring, remote control, and OTA updates for ECUs, making it ideal for robotics, electric vehicles, and IoT applications.
This project is open for contributions! If you're passionate about embedded systems, IoT, telematics, or robotics, we welcome you to collaborate, improve, and extend the platform.
- Key Features
- Hardware Overview
- Technical Specifications
- Project Architecture
- Getting Started
- Installation & Setup
- Community
- Contributing
- License
Feature | Description |
---|---|
๐ CAN Bus Integration | Collect and transmit CAN messages to cloud servers |
โ๏ธ Remote Configuration | Configure data rates, schedules, and commands remotely |
๐ก OTA Updates | Update firmware for ECUs wirelessly via CAN |
๐ GPS/GNSS Tracking | Real-time geolocation support |
๐ฎ Remote Command & Control | Manage ECUs from the cloud |
๐ถ Multi-Network Connectivity | Supports Wi-Fi, Bluetooth, and LTE |
๐ IMU Sensor Integration | Track vibration and environmental factors |
๐จ Safety Monitoring | Fall & crash detection for accidents and system failures |
๐ Remote Diagnostics | Remote fault analysis and debugging |

ESP32-C6 based hardware platform with CAN bus interface, multiple connectivity options, and sensor integrations
Core Capabilities | Technical Components |
---|---|
๐ก Multi-Network Connectivity | Wi-Fi 6, BLE 5.3, LTE-M via ESP32-C6 |
๐๏ธ CAN Bus Integration | ISO 15765-2 (CAN FD) with 5Mbps support |
๐ OTA Updates | Secure A/B partitioning with Mender.io |
๐ GNSS Tracking | Multi-constellation GPS/Galileo/GLONASS |
๐จ Safety Monitoring | IMU-based crash detection (MPU-6050) |
๐ Remote Diagnostics | J1939/OBD-II protocol decoding |
Root Directory
โโโ build.rs # Build script
โโโ Cargo.toml # Workspace manifest
โโโ README.md # Project documentation
โโโ cert/ # Certificates for secure communication
โโโ scripts/ # Utility scripts
โโโ src/ # Application source code
โ โโโ main.rs # Entry point (init hardware, start tasks)
โ โโโ cfg/ # Configuration modules
โ โโโ hal/ # Hardware abstraction layer
โ โโโ mem/ # Memory management modules
โ โโโ net/ # Networking modules
โ โโโ task/ # Async/concurrent tasks
โ โโโ util/ # Utility functions
โโโ tests/ # Test workspace
โ โโโ src/binaries # Test sources
- ๐ฆ Rust Toolchain (
rustup
) - ๐ ESP-IDF for Rust (
espup
) - ๐ ESP32 Development Board
- ๐ Mender Server Account (Hosted or Open Source)
Set the following environment variables (create a .env
file or export them in your shell):
WIFI_SSID=your_wifi_network
WIFI_PSWD=your_wifi_password
MENDER_CLIENT_URL=your_mender_url
MENDER_CLIENT_TENANT_TOKEN=your_token # optional
rustup install stable
cargo install espup
espup install
cargo install espflash
cargo run --release
cargo run --release --features ota
cargo build -p ut --bin <module_name>
# where <module_name> is the name of the test binary you want to run
Please join us on Discord: https://discord.gg/b7vk6fza
- Coming Soon
We welcome contributions! Please open issues or pull requests. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/YourFeature
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature/YourFeature
) - Open a pull request
This project is licensed under the MIT or Apache-2.0 License. See LICENSE-MIT and LICENSE-APACHE for details.