Whether you know or not, you can use Freematics ONE+ and Freematics ONE with our Android and iOS app named Freematics Controller. Freematics ONE+ has a BLE capable micro-controller ESP32 and Freematics ONE has a BLE module CC2541. Both of them are able to communicate with an Android or iOS mobile device wirelessly via BLE.

Freematics ONE+ and Freematics Controller App

A BLE SPP server is implemented in the Arduino library for Freematics ONE+. The datalogger code has demonstrated use of two APIs (ble_recv_command and ble_send_response) provided to perform BLE SPP communication with app. Follow the steps below to see them working.

Step 1

Get the latest source code from Freematics github repository. Load firmware_v5/datalogger folder into Visual Studio Code (with PlatformIO extension installed).

Step 2

Open config.h and change definition of ENABLE_BLE from 0 to 1. Compile and upload code to Freematics ONE+

Step 3

Open Freematics Controller app on mobile device and it will automatically start searching for nearby devices for several seconds. Scroll down the screen to start a new search. Tap Connect button once Freematics ONE+ appears.

Freematics ONE and Freematics Controller App

Freematics ONE has a CC2541 BLE UART module wired to the Rx/Tx pins of its ATmega328p controller. All USB serial traffic is echoed to a BLE connected device. No specific library is required and simply use Arduino’s Serial object to communicate with app. Follow the steps below to see them working.

Step 1

Get the latest source code from Freematics github repository. Load firmware_v4/datalogger folder into Visual Studio Code (with PlatformIO extension installed). Compile and upload code to Freematics ONE.

Step 2

Open Freematics Controller app on mobile device and it will automatically start searching for nearby devices for several seconds. Scroll down the screen to start a new search. Tap Connect button once Freematics ONE appears.