Freematics ONE is an Arduino compatible vehicle telematics prototyping platform. It is in form of a OBD-II dongle which plugs into a car’s OBD-II port. ATmega328 (same as Arduino UNO) works as main controller connected with various peripherals giving easy access to OBD-II, GPS, 9-DOF motion sensor data. A dedicated Arduino library makes its programming as easy as with Arduino.
- Based on original OBD-II solution from Freematics OBD-II Adapters
- Programmable as Arduino UNO with standard Arduino IDE
- Access to all standard OBD-II PIDs, DTC, VIN from vehicle ECU
- Measuring G-force, motion and orientation
- Measuring car battery voltage
- Pinouts for digital and analog I/O
- Data storage on microSD card up to 32GB)
- GPS/GLONASS geolocation (with optional GPS receiver)
- Working as WIFI station or AP (with optional WIFI bee)
- BLE transparent serial communication (with optional BLE module)
- Low power mode @10mA
- OBD-II/GPS data logger
- OBD-II data reader for mobile Apps (BLE/WIFI)
- Vehicle tracker/telemeter over cellular network
- Vehicle motion/orientation sensing
- ATmega328p main controller
- STM32 based OBD-II solution (CAN BUS, K-line, NMEA parsing)
- MPU-9250 MEMS motion sensor
- CC2541 BLE transparent serial module (optional)
- Self-popping microSD slot
- xBee socket for pluggable wireless communication modules
- Enclosure dimensions: 60x48x20mm
- OBD-II male connector
- microUSB port
- microSD card slot
- I/O socket (Molex)
- xBee socket
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 500Kbps/11bit
- CAN 250Kbps/29bit
- CAN 250Kbps/11bit
- KWP2000 Fast
- KWP2000 5Kbps
Freematics ONE supports geo-location positioning by external GPS receiver. GPS receiver is connected to Freematics ONE’s I/O socket by Molex connector.
Freematics ONE has a microSD slot under the side cover. The card reader is connected to ATmega328p through SPI. Standard Arduino SD library is used for microSD card access.
Freematics ONE has an xBee socket onboard which provides the possibility to extend its wireless communication capability with various xBee module. A ESP8266 WIFI bee adds WIFI connectivity (see this) or a SIM800L bee adds GSM/GPRS support. For 3G network connectivity, we recommend using Freematics ONE+.
Freematics ONE has an optional embedded BLE module (TI CC2541) which allows transparent serial data communication over BLE.
Freematics 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.
Following is the PCB layout of Freematics ONE. The schematic is here. We supply head-less (without OBD-II male connector) version. Please contact for details.
Two I/O pins (PC0, PC1 or A0, A1 in Arduino context) are led out to one corner of PCB. They can be used for digital I/O and analog input.
An Arduino sketch can be uploaded to Freematics ONE exactly the same way as for an Arduino UNO from standard Arduino IDE through USB port. Please refer to the Users Guide for more related information.
Datalogger sketch is pre-loaded before shipping, your Freematics ONE will work out-of-box as a vehicle data logger which performs following tasks:
- Connecting to vehicle via OBD-II port
- Connecting to GPS receiver (if available)
- Creating a new file on microSD card
- Logging OBD-II, GPS, MEMS sensor data to the file (file format)
- Freematics ONE x 1
- Micro USB cable x 1
- Wireless module x 1 (optional, plugged-in)
- GPS Receiver x 1 (optional)
- Freematics ONE Developers Guide
- Download Arduino library and example sketches
- Source code repository (Github)
- Tutorial: Setting up your own vehicle tracking system with Freematics ONE