Additional Information

Site Information

 Loading... Please wait...

Blog

NMEA 2000 / SAE J1939 Data Scanner with BLE Interface for iOS Applications

Posted by Wilfried Voss on

CAN and SAE J1939 to Bluetooth Gateway

This post is a follow-up on NMEA 2000 Data Scanner with Bluetooth, BLE for Android, iOS, PC Applications. In this new post, I also include SAE J1939, since NMEA 2000 is based on J1939. 

Also, in this particular case, instead of the NMEA2000-compatible 5-pin M12 connector, I used a DSUB9 as it applies to the CAN Bus and SAE J1939. Nevertheless, the functionality is the same between the J1939 and N2K version.

JCOM.CAN.BT

In the above-mentioned post, I described the Bluetooth connection between the Copperhill JCOM gateway and a Windows PC. However, BLE is a requirement for communication with Apple's iOS. The testing environment is, of course, different, i.e., we are using an iMac, and an iPhone in combination with the BT Terminal app.

Software

We are using an ASCII protocol to transmit the CAN data frames. The module receives the CAN Bus data frames and processes it to provide readable information such as:

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

Under Bluetooth, all of the above listed data fits into one ASCII String. BLE, however, supports only 20 bytes per wireless data frame. Thus, we are using 2 BLE message frames:

Data Frame 1: Total Length = 13 bytes

Byte   Length Description

0      1      Data Page (DP) = 0/1

1…4    4      PGN

5      1      Priority

6…7    2      Destination Address (DA)

8…9    2      Source Address (SA)

10     1      DLC = Data Length Code

11…12  2      Checksum

Data Frame 2: Total Length = 18 bytes

Byte   Length Description

0…15   16     0…8 data bytes; unused data = 0x00

16…17  2      Checksum

Proof of Concept

I used our  JCOM1939Monitor software in combination with our SAE J1939 Simulator Board to set up three sample PGNs for transmission between the JCOM gateway and an iMac:

On the iMac, I use the BT Terminal app:

I connect to the JCOM-BLE-1001 device:

I click on the "Write" arrow to see the data received. In the JCOM1939Monitor software, I first initiate an address claim (first message as shown below, PGN 0xEE00, source address = 0x80), then I transmit three different PGNs (0xFF00, 0xFF08, 0xFF0D):

Status and Availability

Officially, both modules, NMEA 2000 and SAE J1939, are 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...

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

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 [...]

Read More »


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 »


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 »


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 »


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 »


Wireless IoT Project Development with the ESP32

The ESP32 represents a low-cost, low-power System-on-Chip (SoC) microcontroller with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series utilizes either a Tensilica Xtensa LX6 microprocessor in dual-core and single-core variations, Xtensa LX7 dual-core microprocessor, or a single-core RISC-V microprocessor and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power management [...]

Read More »


ESP32 Project: CAN Bus, SAE J1939, NMEA2000 Converter With IoT Functionality

It was just a few weeks ago that I received some bad news. Due to the worldwide shortage of electronic components, the NXP LPC1754 processor we use for our SAE J1939 ECU Simulator with USB Port will not be available for several months, maybe even well into 2022. Consequently, it was time to rethink the design, and [...]

Read More »


Multi-Functional Telematics Gateway Processes SAE J1939, ISOBUS Parameters For Predictive Maintenance

The  CANUp telematics gateway by Technoton represents a multi-functional telematics unit for use in advanced machinery telematics systems. Advanced machinery includes mobile and stationary objects, which have many operation monitoring parameters for engines, power generators, boilers, various additional equipment, and other assemblies. The core features of the CANUp telematics gateway include: Reading over 10,000 machine operation parameters, thus the [...]

Read More »


CAN Bus, SAE J1939, NMEA 2000 Programming With ESP32, Supporting USB, Bluetooth, BLE, And WiFi

The  ESP32 Series of modules by Espressif supports the integration of WiFi, Bluetooth, and Bluetooth LE for a wide range of applications, most prominently for IoT (Internet of Things). For instance, using WiFi ensures connectivity within a large radius. Using Bluetooth allows the user to easily detect (with low-energy beacons) a module and connect it to [...]

Read More »