Additional Information

Site Information

 Loading... Please wait...

Blog

NMEA 2000 Data Scanner with Bluetooth, BLE for Android, iOS, PC Applications

Posted by Wilfried Voss on

NMEA 2000 to Bluetooth Gateway

Our N2K-BT gateway functions as a NMEA 2000 to Bluetooth data scanner for any host device with a Bluetooth or BLE (Bluetooth Low Energy) port, such as PCs, phones, or tablets. Therefore, it supports operating systems such as Windows, Linux, iOS, Android, and more. In addition, the wireless communication protocol employs easy-to-read and easy-to-process ASCII data strings, making it easy for iOS and Android developers to interpret the data stream. 

NMEA 2000 Data Scanner Test Environment

Hardware

The data scanner hardware utilizes the ESP32 processor with Bluetooth, BLE, and WiFi capabilities and a CAN Bus port with a transceiver. 

The ESP32 series employs a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power management modules. 

The module accepts an external power supply between 7 and 36 VDC with reverse polarity protection. It operates safely within a temperature range of -40C to +85C. The NMEA 2000 port is accessible via a Micro-C connector (M12 5Pin Male Socket). 

Software

It is important to emphasize that the module merely transmits processed CAN data frames as they appear in the network, i.e., it does not support NMEA 2000 protocol management features. 

However, it allows the user to monitor and filter PGNs needed for their application.

The ASCII data string includes: 

  • Data Page 
  • PGN 
  • Priority 
  • Destination Address 
  • Source Address 
  • DLC (Data Length Code)
  • Data 
  • Checksum

Bluetooth Test

We used a Windows PC with terminal software to test the Bluetooth communication. The terminal software connects to the Bluetooth COM port. Our test device connects to a NMEA 2000 simulation network based on our SAE J1939 to USB Gateway (NMEA 2000 is a derivative of SAE J1939). In addition, we monitor the CAN Bus data traffic with a separate CAN Bus monitor system.

The below screen shot shows the received data traffic on the Windows PC:

However, let's have a look at a single data frame. In the following example, we are using PGN 65336 (0xFF38, broadcast message) with a source address of 34 (0x22) and priority = 6.

The BT scanner converts the CAN data into the ASCCI string as shown below:

0 - Data Page

FF38 - PGN

6 - Priority

FF - Destination Address (Global Address)

20 - Source Address

8 - Data Length

8877665544332211 - Data

67 - Checksum

We are working on a documentation of our testing with an Android phone, and we will follow up with another post.

BLE (Bluetooth Low Energy)

BLE is a requirement for communication with Apple's iOS. At this point, we have a working version and will also introduce it in another post. The testing environment is, of course, different, i.e., we are using an iMac, and an iPhone in combination with the nRF Connect app.

Status and Availability

Officially, the N2K-BT module is still under development, and we target a release in October 2022. We consider the software development as finished regarding the mere data scanning capabilities, but we are considering, among others, the implementation of PGN filters to reduce the wireless data traffic.

Please feel free to contact us in case you need further information. We are also available to develop customized hardware and software to meet your requirements.


Getting Started with Bluetooth Low Energy: Tools and Techniques for Low-Power NetworkingGetting Started with Bluetooth Low Energy: Tools and Techniques for Low-Power Networking

With Bluetooth Low Energy (BLE), smart devices are about to become even smarter. This useful guide shows how this impressive wireless technology helps developers create mobile applications that share data with external hardware and how hardware engineers can obtain easy and reliable access to mobile operating systems.

This book renders a reliable, high-level overview of how devices use BLE to communicate with each other. You learn about valuable low-cost tools for developing and testing BLE-enabled mobile apps and embedded firmware and get examples using various development platforms, including iOS and Android for app developers and embedded platforms for product designers and hardware engineers.

  • Understand how data is organized and transferred by BLE devices
  • Explore BLE’s concepts, key limitations, and network topology
  • Dig into the protocol stack to grasp how and why BLE operates
  • Learn how BLE devices discover each other and establish secure connections
  • Set up the tools and infrastructure for BLE application development
  • Get examples for connecting BLE to iPhones, iPads, Android devices, and sensors
  • Develop code for a simple device that transmits heart rate data to a mobile device

More Information...

ESP32 Project: USB to Bluetooth Gateway

The ESP32 processor allows the integration of Wi-Fi, Bluetooth, and Bluetooth LE (BLE) for a wide range of IoT (Internet of Things) applications. Using Wi-Fi ensures connectivity within a large radius. At the same time, Bluetooth allows the user to easily detect (with low-energy beacons) a module and connect it to an Android/iOS smartphone or [...]

Read More »


IoT-Enabled Control, Data Logger, and Data Transmission Platform with CAN Bus Interface

The RapidM2M C3 by Microtronics represents a control, data logger, and data transmission platform with IoT capabilities, suitable for remote control, automation, and control tasks in industrial automation. The device includes a PLC (Programmable Logic Controller), router, firewall, and data transmission to a web platform. Process-related requirements are pre-configured, minimizing the solution integration effort. Data from analog sensors [...]

Read More »


Arduino-Compatible Microsoft Azure Certified IoT Development Kit with Visual Studio Code Support

This Microsoft Azure Certified IoT DevKit (IOT-AZ3166) is an all-in-one kit optimized for prototyping and developing Internet of Things (IoT) applications leveraging Microsoft Azure services. It supplies an Arduino-compatible board with multiple peripherals such as an OLED display, sensors, hardware debugging chip (ST-Link), and security chip. The project collection offers creative examples for learning and reference, plus [...]

Read More »


Controller Area Network (CAN), SAE J1939, NMEA 2000 Wireless Module for IoT and ELD Applications

Due to the global shortage of electronic components, we at Copperhill Technologies began rethinking our strategy regarding new developments. Luckily, that change turned out to be a blessing in disguise because the transition from NXP LPC to the ESP32 processor opened the door to more industrial and automotive applications, especially those involving wireless transmissions for [...]

Read More »


Raspberry Pi Compute Module With CAN FD for Automation and IoT Applications

Kontron announced the release of their Pi-Tron CM4 computer with Linux OS, which utilizes the fourth-generation Raspberry Pi compute module with the 1,5-GHz, 64-bit Broadcom BCM2711 chip and four Arm Cortex-A72 processors. The computer’s steel housing allows for universal use, e.g., for automation and IoT (Internet of Things) applications. Depending on the variant, it provides a 1-GiB, 2-GB, [...]

Read More »


A New Generation of SAE J1939 Gateway, ECU Simulator, and Starter Kit

Like many other businesses, we have to deal with the global shortage of electronic components. For instance, the NXP LPC 17xx processors we used for our SAE J1939 gateways and the starter kit are not available at this time. Even worse, there is no reliable information if/when production resumes. This situation forced us to rethink [...]

Read More »


ESP32 Starter and Development Kits for Building Bluetooth and WiFi Enabled IoT Devices

The integration of Wi-Fi, Bluetooth, and Bluetooth LE allow a wide range of applications with ESP32 modules. Using Wi-Fi ensures connectivity within a large radius, while using Bluetooth allows the user to easily detect (with low-energy beacons) a module and connect it to a smartphone. The chips add priceless functionality and versatility to your applications [...]

Read More »


Arduino Portenta H7 - Dual-Core STM32 Processor Board with Two CAN FD Ports and Support for Arduino IoT Cloud

The Portenta H7's central processor is represented by the dual-core STM32H747, including a Cortex M7 at 480 MHz and a Cortex M4 at 240 MHz. The two cores intercommunicate through a Remote Procedure Call mechanism that seamlessly enables calling functions on the other processor. Both processors share on-chip peripherals and can run Arduino Sketches on the Arm [...]

Read More »


CAN Bus Development with ESP32-WROOM32 Development Board

This post will demonstrate how to add a CAN Bus port to the ESP32-WROOM32 development board, i.e., regarding hardware and software. Download this post as PDF... As a matter of fact, we already offer a hardware utilizing the ESP32 processor and an onboard CAN Bus transceiver as shown in the image to the left. The ESP32 WiFi, Bluetooth [...]

Read More »