Additional Information

Site Information

 Loading... Please wait...

Blog

ESP32 Development Board with NMEA 2000 & NMEA 0183 HAT

Posted by Wilfried Voss on

The ESP32 processor, integrating peripherals such as UART, CAN Bus, WIFI, and Bluetooth, allows a wide range of applications, and the low price adds to its popularity. 

Teyleten Robot ESP32S ESP32 ESP-WROOM-32 Development Board 2.4GHz Dual-Core WiFi +Bluetooth 2 Function Microcontroller for Arduino

There are various ESP32 development boards available in the market, such as the ESP32-WROOM-32, as shown to the left. However, compared to popular systems like the Raspberry Pi or Arduino, the hardware resources, i.e., additional peripherals, are limited. 

Consequently, the thought of tapping into the vast resources of the Raspberry Pi or Arduino system makes sense. 

The above picture demonstrates the setup that I used to connect an NMEA 2000 and NMEA 0183 HAT with an ESP32 development board.

But, first of all, let me refer to two previous posts I wrote on the topic:

PICAN-M - NMEA 0183 & NMEA 2000 HAT For Raspberry Pi With SMPS

In the above setup, I am using our PICAN-M Board. The PICAN-M (M = Marine) is a  Raspberry Pi HAT with NMEA 0183 and NMEA 2000 connection. The NMEA 0183 (RS422) port is accessible via a 5-way screw terminal. The NMEA 2000 port is accessible via a Micro-C connector. The board comes with a 3A SMPS (Switch Mode Power Supply), allowing to power the Raspberry Pi plus HAT from an onboard power source (12 VDC).

The above referenced posts explain the SPI connection between the ESP32 and the HAT. So, please take your time to read them for more information.

The software I used is available at:
https://github.com/coryjfowler/MCP_CAN_lib...

Another helpful resource is the  PICAN-M schematics (PDF) as it shows the SPI connection plus the power sources for 5 VDC and 3.3 VDC. It also shows the serial connection (RX, TX) to connect to the NMEA 0183 port.

For more information on the NMEA 0183 port, see also my post:
Testing NMEA 0183 For The PICAN-M - NMEA 0183 & NMEA 2000 HAT For Raspberry Pi...

Last, but not least, I am adding the ESP32 Dev Kit Pinout. Naturally, you can use any other ESP32 system for the same application, but please assure that you have all necessary signals available.


Electronics Projects with the ESP8266 and ESP32: Building Web Pages, Applications, and WiFi Enabled DevicesElectronics Projects with the ESP8266 and ESP32: Building Web Pages, Applications, and WiFi Enabled Devices

Copperhill Technologies highly recommends using this book for your wireless application projects. Yes, many good books and free online resources are available these days, but this is the book we are using. It made our approach to Bluetooth, BLE, and WIFI a breeze. Programming wireless applications without hassles was fun, and we will share them on this web page.

Projects throughout the book utilize the wireless functionality and processing power of the ESP microcontrollers. Projects are built in the Arduino IDE, so you don't need to download other programming software. In addition, mobile apps are now ubiquitous, making the app build projects of the book very relevant, as are the web page design projects.

In Electronics Projects with the ESP8266 and ESP32, you'll see how easy and practical it is to access information over the internet, develop web pages, build mobile apps to remotely control devices with speech recognition, or incorporate Google Maps in a GPS route tracking app. More Information...

Thomson Electrac HD Linear Actuator - Fatal Error Flag at Low Speed

As part of a customer project, I was asked to develop a hardware system to control a linear actuator, specifically the Thomson Electrac HD model with SAE J1939 interface. The Electrac Linear Actuator is a great product, and it is always rewarding to see the application literally move. Yet, working on this application was at [...]

Read More »


Thomson Electrak HD Linear Actuator - Multiple Actuators in the Same Network Will Empty the Batteries

Back in April 2022, I published a post, Thomson Electrak Linear Actuator with SAE J1939 Interface for Railway and Industrial Applications with the intention to use the gained knowledge and publish it in form of an application report. However, after months of working with this product (time frame, not efforts), I still discovered what I call [...]

Read More »


SAE J1939 Diagnostic Device Includes a PGN, SPN Database

The handheld PCAN-Diag FD device from PEAK-System supports diagnosing communication on a CAN (FD) network. In addition, a separately available extends the functionality to analyze SAE J1939 data traffic. The SAE J1939 Standard describes communication in utility vehicles via CAN Bus. The standard specifies messages and data for transmitting diagnostic and control information using PGNs (Parameter Group Numbers) and SPNs [...]

Read More »


Extending ESP32 Functionality by Using Raspberry Pi HATs

The ESP32 processor, integrating peripherals such as UART, CAN Bus, WIFI, and Bluetooth, allows a wide range of applications, and the low price adds to its popularity.  There are various ESP32 development boards available in the market, such as the ESP32-WROOM-32, as shown to the left. However, compared to popular systems like the Raspberry Pi or [...]

Read More »


ESP32 Triple CAN Bus Application Through Adding Two MCP2515 Ports

The first question that may arise when talking about accessing the MCP2515 CAN Bus controller per ESP32 may be, "Why would you need an MCP2515 controller when the ESP32 comes with an internal CAN port?" Yes, I found this question in one of the online forums while researching this particular topic. The answer is easy: [...]

Read More »


SAE J1939 - Simulation of Request Message with J1939 to USB Gateway

The above image shows my SAE J1939 test setup with a total of three nodes, all connected through our CAN-Bus Hub with 7 Ports and DC Power Connection. They are: SAE J1939 to USB Gateway in Plastic Enclosure...  SAE J1939 ECU Simulator Board With USB Port... PEAK PCAN-USB Pro FD - CAN, CAN FD, and LIN Interface for [...]

Read More »


Quick Prototyping by Copperhill Technologies

As they say, a picture tells a thousand words. The above image demonstrates a predicament we encountered a few days ago. The enclosure we are using for our SAE J1939 Gateway And Data Logger With Real-Time Clock is not available at the moment, and it might take a few more months before new supplies arrive. At [...]

Read More »


SAE J1939: Simulation of Analog and Digital Signals with the JCOM1939 Monitor Software

The JCOM1939 Monitor Software is ideal for monitoring, recording, analyzing, and simulating SAE J1939 data traffic. The system works in combination with our SAE J1939 gateways. This comprehensive and easy-to-use, easy-to-understand Windows software displays not only SAE J1939 data traffic but also scans the network, simulates an ECU (incl. full node address negotiation features), and responds [...]

Read More »


Any CAN Bus, SAE J1939, NMEA 2000 Development Requires the Right Testing Tools

I want to reiterate a point made in a previous post ("A Beginner's Guide to SAE J1939 Embedded Software Development"): When developing and testing your CAN Bus application, may it be Classical CAN, CAN FD, CANopen, SAE J1939, or NMEA 2000, you need to connect your device to a functional network. One solitary node connected to your [...]

Read More »