Freematics ONE+ is a powerful Arduino programmable vehicle telematics prototyping platform in form of a OBD dongle that plugs into a vehicle’s OBD port and works as a standalone smart device which can communicate with vehicle’s ECU. It integrates motion sensor (accelerometer, gyroscope) and can extend with high-grade GNSS receiver or external sensors. Collected data can be processed in real-time with its dual-core CPU, stored in internal Flash or microSD card and transmitted via BLE, WiFi or cellular network. Freematics ONE+ comes with an actively maintained Arduino library and ready-to-go Arduino sketches and open-source telemtry server software.
- Dual-core fully programmable SoC
- Programmable WiFi and Bluetooth (BLE/SPP) communications
- G-force measurement and motion detection
- Geolocation with high accuracy and rate (requires external receiver)
- Access to all standard OBD-II PIDs, DTC, VIN from vehicle ECU
- CAN bus data sniffing
- Car battery voltage monitoring
- Data storage in internal Flash or microSD card (up to 64GB)
- Real-time data transmission over WiFi or cellular network
- Espressif ESP32 main controller (4MB Flash, fully programmable)
- Built-in 802.11 b/g/n Wi-Fi and dual mode Bluetooth (classic and BLE)
- STM32 protocol co-processor
- ICM20948 motion sensor (9-DOF)
- M8030 10Hz GNSS (external receiver, optional)
- xBee seat for 3G/4G cellular modules
- Enclosure dimensions: 60x48x20mm
- Typical power rating @80Mhz: 20mA (WiFi inactive) / 50mA (WiFi active)
- OBD-II male connector
- microUSB port
- microSD card slot
- SIM card slot (when cellular module is present)
- I/O socket (Molex)
- xBee socket (onboard)
Freematics ONE+ plugs into the OBD port usually located under the steering column. To check if your vehicle is OBD-II certified, open your hood and find the sticker that looks like this:
Vehicles using following vehicle protocols are supported.
- CAN 500Kbps/29bit
- CAN 250Kbps/29bit
- CAN 500Kbps/11bit
- CAN 250Kbps/11bit
- KWP2000 Fast
- KWP2000 5Kbps
Freematics ONE+ has an external I/O socket on its enclosure. The 4-pin socket contains of 2x GPIO (from ESP32), VCC (controllable by ESP32’s GPIO15) and GND. A 2.54 Molex connector is used for wiring. The line definition of the connector is as following.
- GPIO32 / Rx2 (ESP32)
- VCC (5V)
- GPIO33 / Tx2 (ESP32)
Freematics ONE+ supports high-accuracy geolocation positioning external GNSS receiver connected to the 4-pin I/O connector. The optional M8030 10Hz GNSS receiver provides high accuracy (up to 2 meters) and high update rate (10Hz). The receiver comes with a 1.5m long cable.
SIM7600 and SIM7070 cellular modules have built-in GNSS (1Hz update rate) which works with an optional external GPS antenna (SMA connector).
Cellular module is installed in Freematics ONE+ through onboard xBee socket. We provide several options for cellular modules. Following chart compares the 3 types currently available.
|Mobile Network Bands||LTE-TDD B38/B40/B41
|LTE-FDD B2/B4/B12||CAT-M B1/B2/B3/B4/B5/B8
|UMTS/HSPA+ B2/B5||CAT-NB B1/B2/B3/B4/B5/B8
|Data Transfer Speed||LTE CAT4: 50Mbps(UL) 150Mbps(DL)
HSPA+: 5.76Mbps(UL), 42Mbps(DL)
|LTE CAT4: 50Mbps(UL) 150Mbps(DL)
HSPA+: 5.76Mbps(UL), 42Mbps(DL)
|Regions||Europe, Asia, South America, Australia (Optus, Vodafone)||North America （AT&T Certified), Australia (Telstra)||Global|
A micro SIM card is needed for using cellular network and is inserted as shown below.
Freematics ONE+ has a microSD slot under the side cover which is connected to ESP32 via SPI. Standard Arduino SD library can be used for microSD card access.
Freematics ONE+ enters and leaves low power mode programmatically. In low power mode with all peripherals (GPS, GSM, WiFi) powered off, the power consumption is around 10mA. This prevents car battery from going flat while the main controller is still able to run code and perform low-power tasks like motion detection by MEMS sensor.
The schematic is here. It is subject to change and may not always be up-to-date.
Freematics ONE+ vs Freematics ONE
|Freematics ONE+||Freematics ONE|
|Programmable Processor||32-bit Dual-Core @ 240Mhz||8-bit AVR MCU @ 16Mhz|
|Real-time Operating System||FreeRTOS (multi-threading)||N/A|
|Development Environment||Platform IO, Arduino IDE etc.||Platform IO, Arduino IDE etc.|
|Arduino Library Features||OBD-II/GPS/MEMS access,
WiFi and cellular networking
|WiFi||Built-in 802.11 b/g/n (SDK)||N/A|
|Bluetooth||Built-in BLE+BT (SDK)||Optional BLE by CC2541 module (serial)|
|External I/O||2x 3.3V GPIO for digital I/O, analog input, serial UART||2x 5V digital I/O or analog input|
|Cellular Module||GSM/GPRS/WCDMA/LTE bee module, direct access (UART)||GSM/GPRS bee module|
|Program Space||4MB or 16MB Flash + 520KB RAM||32KB Flash + 2KB RAM|
|Data Storage||microSD or internal Flash||microSD|
|Device LED||GPIO controlled + communication indicator||Communication indicator|
|Suitable Applications||Real-time processing and logging for massive data sampled at high rate, low-latency data transmission with various protocols over BLE, WiFi or cellular network||Local data logging and simple data transmission over cellular network|
The most exciting thing about this product is that you can create your own unique product or solution on top of our massive accomplished work. We have been developing and maintaining a dedicated Arduino library for easy access to all hardware resources and a set of fully functional reference Arduino sketches for this product. So there is no need to start from scratch. As long as you have some basic knowledge about Arduino, you are good to go. Together with our Freematics Arduino Builder which allows configuring, compiling and uploading Arduino sketches in one simple GUI, we intend to bring the best out-of-box experience for non-professional developers. If you are a pro, we recommend PlatformIO IDE as development environment and our reference code is organized as PlatformIO projects as well, though you can still use Arduino IDE or Arduino makefile with ESP-IDF. For more information about development, please refer to the Developers Guide.
- Freematics ONE+ x 1
- Micro USB cable x 1
- M8030 10Hz GNSS Receiver x 1 (optional)
- Cellular Module x1 (optional, plugged-in)
- MicroSD card (optional, inserted)
- Arduino Library
- Sample Arduino Sketches
- Quick Start Guide
- Developers Guide
- Tutorial: Setting up a vehicle tracking system on Linux box with Freematics ONE+
- Telelogger with Arduino as ESP-IDF Component