$50 and four hours: an AI-built NMEA 2000 display

I’ve been trying to figure out how to write about artificial intelligence’s role in home-built marine electronics for the better part of a year, and I still don’t have a clean answer. I’m going to write it anyway. Here’s what I’ve learned about what AI can actually do for you, where it falls down, and what happens when it doesn’t. The opportunity is real; you can finally build your instrumentation and navigation electronics exactly the way you want it. But so are the potential pitfalls. AI will happily put someone with limited knowledge deep in the bowels of their own navigation electronics. On a boat, that can get dangerous.
I have a computer science degree and have been writing code for a (depressingly) long time. Over the last year I’ve gone from writing all my own code, to handing AI the repetitive parts, to nearly exclusively describing what I want and letting it run. My battery testing relies on a lot of automated data collection and analysis. Much of that data moves over CAN bus — the same technology that provides the foundation for NMEA 2000 — so the work looks a lot like what you’d do on a marine network. At this point, the majority of the code running my test rigs is written by AI. Ceding that has let me focus on the analysis and conclusions instead of the mechanics.
For years, one of the most common concerns I hear from boaters is the cost of marine electronics veruss broad market products. Narrowly focused marine electronics cost more than a smartphone or tablet, often several times more. Instrument displays like the Raymarine i70S, Garmin GMI20, Furuno FI70, and Simrad IS35 and IS42 all command at least $400. All these products use a few physical buttons located below the display. They also all use sunlight-viewable displays and excellent weather sealing. A large chunk of the cost of these gauges comes from the high-brightness displays and environmental hardening. That fortification may not be necessary for instruments that will live in a pilothouse or other enclosed environment.
What if you could make your own display? First, an acknowledgement that creating your own displays has been possible for some time using tools like Signal K server and a tablet. What if you could spend $50 on a display and a few hours with your friend Claude or ChatGPT and create your own? Well, you can. And I think that effort will both prove interesting to those of us who love to tinker, and also informative about the challenges of building solid, reliable equipment that is ready to go to sea with you. Everything above is genuinely impressive, but there are also significant reasons for caution. We will talk about those in a bit.
Create your own gauge / MFD


To write this article, I started with a blank sheet of paper. No code or existing system. Just an idea of what I wanted and a freshly delivered package from Amazon. First, I pulled a brand new Waveshare ESP32-S3-Touch-LCD-4.3B-BOX out of the box. Let’s break down what that means. Waveshare is a company that makes a huge variety of electronic modules for makers, engineers, and others. The ESP32-S3 in the product name indicates the unit contains an ESP32-S3 microcontroller. ESP32s are a family of microcontrollers or embedded computers with numerous interfaces capable of myriad tasks. Smartplugs, home alarms, and countless other products use ESP32s to deliver their functionality. This particular model has a 4.3-inch, IPS, touchscreen display in a box enclosure. Additionally, this model has WiFi, Bluetooth, a CAN bus interfac, I2C, RS485, and a few analog I/Os. Frankly, it’s a shockingly capable hardware for a hair over $50.
With my shiny new ESP32 out of the box, I plugged it into my computer and downloaded the Waveshare sample project for the display. The sample project provides a starting point for the libraries that interface with the hardware. With that in place, I pointed Claude Code at the directory on my computer with the sample project and entered my prompt:


This was a pretty big ask. With basically no discussion, I just asked Claude Code for an NMEA 2000 display to be created. Claude thought and output lots of status messages for about 30 minutes. I used Opus 5 rather than Fable 5, Claude’s most capable model. After waiting for Claude to do its thing, I finally got a message that the project was ready for compilation and uploading.

In a truly impressive development, the very first full compile of the application launched on the display and showed NMEA 2000 data. Claude decided not to tackle the ENC display in the first round and I quickly found several bugs in how it displayed data. However, within about four hours of starting my effort, I had good enough functionality to head to the boat and test it on the water. If you look closely at the screenshot above, you will see some issues. The tabs across the top are shifted to the left and slightly cut off, the gear text is truncated, and not all of the functionality is working. Fortunately, easy as this first version was to produce, revisions and improvements are just as easy.




I did my early testing in my lab with NMEA 2000 replays of previous trip recordings. After a couple of hours playing back previous trips and requesting tweaks, I was pretty happy with how everything looked on the display. I now had a fully working display pretty effectively blurring the lines between gauge and MFD. Plus, improved or additional functionality is readily available.
On the water


After my development with recorded data, the proof of my little display’s practicality is surely on the water. So, I headed down to Panboat, grabbed a little double-sided tape and affixed the display just to the right of my engine gauge. I was out between about 12:30pm and 2:00pm on a roasting hot Florida afternoon in very full sunlight. Panboat has a hardtop over the helm that surely helps with visibility, but I had no troubles seeing the display despite a less than torch-like brightness rating.
Making changes on the fly

Time on the water revealed a system I like, but I wanted a trip function along with the other tabs. Fortunately, I’d brought my laptop with me and have an internet connection on the boat. So, with the boat in neutral in a safe location, I prompted Claude for more functionality.

Claude took about five minutes to think about my requests. First, it determined that the complaints I had about batteries and tanks were because I failed to upload the most recent revision to the display. Second, it created the new tab I requested. With the code in place for the new tab, I connected the display to my laptop, compiled the code and uploaded it. Just like that, my display now includes a trips function. There is still work to do. Although Claude implemented an estimated range display, it doesn’t know the size of the fuel tanks. Without that information, the system can’t even guess at range.
The benefits of marinized hardware

A quick glance at the displays visible on the helm shows that the ESP32 just isn’t as bright as the others. The ESP32-S3-Touch-LCD-4.3B I am using has a relatively bright 550 nits IPS display. That’s a significant upgrade over the non-B variant with a 270 nit display. However, compared to the purpose-built marine displays it lags significantly. For example, the Simrad NSS 4 right below the ESP32 is rated at greater than 1,200 nits. As I mentioned, under Panboat’s hardtop, the 550 nits of the ESP32 showed up quite nicely.
Tradeoffs

So far, I’ve mostly covered the advantages and opportunities of a home-brew approach to marine electronics. But, make no mistake, there are downsides too and some of them are pretty big. First, and I think most importantly, this device is communicating on the NMEA 2000 bus. The National Marine Electronics Association (NMEA) has a well defined process for developers to build and certify their NMEA 2000 products. A home-built device like the one I’ve described bypasses the entirety of that process. Most critically, it bypasses the certification process designed to ensure each device on the NMEA 2000 network complies with the standard and doesn’t interfere with the operation of the bus or any devices on it.
I wanted to understand how the NMEA views projects like this as well as the evolving landscape of software development. I reached out to Mark Reedenauer, President and Executive Director of NMEA, for his thoughts. Here is what Mark shared, “NMEA well acknowledges the large DIY installer and DIY developer communities. Many of these individuals have taken our marine electronics installer and developer classes either in person or virtually. NMEA is aware of open source implementations readily available on the web, but we must caution that these implementations and source code should be used only for recreational and personal use cases. If devices that use these open source and publicly available resources become a commercial for sale product, it is expected that the entity comes to NMEA to fully certify the device(s). The same goes for hardware and software alike.”
I also asked Reedenauer how the NMEA is working to bring the DIY community into the NMEA fold and work with them. During my conversation I was pleased to hear that NMEA is actively working to provide opportunities for DIYers. In fact, Reedenauer covered ways the NMEA is embracing individual developers, providing options to spread out the cost of standards, and developing new standards that include a home for the DIY community. Here’s what he said, “Our Cloud Protocol Standard that is in development has already brought in some of the DIY community as there is vast knowledge with cloud protocols and cyber security. In fact several large contributing volunteers on the Cloud Committee work in the DIY and Conservation space. We expect this to grow as NMEA launches the Cloud standard in 2027, with the hopes to motivate independent developers to create applications (Apps) that can be used license free to the boating public.”
My AI developed tool bypassed all of those requirements. It uses manufacturer code 2046 which corresponds to unregistered, but the project hasn’t been tested or certified in any way. In my case, my testing was completed in waters I know very well, on a boat with multiple NMEA 2000 networks. Hence, the downsides aren’t too scary. But, I don’t think I would connect an untested device to my primary navigation network traveling in unfamiliar waters. The idea of asking an AI agent to write the firmware for navigation electronics is very appealing. The idea of heading out to sea with custom developed software written through a collaboration between a machine and a human with potentially zero development skill is… a bit terrifying. So, without getting too preachy, please carefully consider what you are developing and connecting to your boat and how to mitigate risk.
Marinization and broader support
I’ve touched on the fit of general purpose hardware on a boat. Brightness isn’t the only part of the story. The rest of the displays at the helm feature both mounting systems designed for a boat and environmental sealing that make them appropriate for use on a boat. I believe the first time the ESP32 gets a blast of water, either from a wave or a rinse, is likely to be the last. Even at only $50 a piece, replacing the display each time would get old quickly.

Fortunately for the tinkerers of the world, there is growing momentum for home-built integrations aboard our boats. I have been a member of the Raspberry Pi for Boats Facebook group for years. Recently, ESP32 for Boats popped up and I joined that as well. Both groups provide interesting views of projects in progress.

In the time I’ve been following ESP32 for Boats, I noticed consistent contributions from the admin that look a little more polished than most. The admin, Captain Shuki Binton, is a 73-year-old electronics engineer and lifelong sailor. As he said, “At an age when many people might be thinking about slowing down, I decided to do the opposite and build a new marine technology startup.” That startup is called NaviNet and it produces hardware and software that leverages open source projects to deliver low priced marine electronics. Most recently, NaviNet has started promoting both a tablet based MFD and an ESP32 development board with CAN bus, RS232, and SeaTalk-1.
Although ESP32 development for boats is a relatively small niche, in a recent conversation with Shuki he mentioned that in just over two months since it was established, ESP32 for Boats has gained over 4,000 members. In fact, as I checked today, I see that the group currently has 4,949 members and rising. I might be a geek, but at least I have some good company. If this type of tinkering interests you, the projects shown and discussions on the ESP32 for Boats group is a great view of what’s possible and coming.
Final thoughts
AI impacts everything, everywhere. It has changed the task of software development and made custom software development more accessible. But, this all feels like cliché. With great power comes great responsibility. In this case, I believe that responsibility is to make sure that whatever you do on your boat is safe for you and the boat. To me, that means understanding the application you’ve developed and testing carefully. During that testing, please mitigate your risk. Operate in familiar places, deploy test equipment on separate networks, and plan for a failure.
Alright, I’m done being the wet blanket of safety. I would love to hear from readers about what you’ve done on or off your boat with easier development. This article is all about on-boat electronics, but AI’s rapid coding also opens fascinating opportunities to analyze data. Imagine a racing sailor pulling a day’s data off a voyage recorder and going through every sensor input, every maneuver, and the result. The possibilities are nearly endless. So, let’s hear about your projects and what you’ve built!
Note: A note on the links: some of the product links above are Amazon affiliate links. If you buy something through them, Panbo gets a small cut. Following the links won’t cost you anything extra, and it doesn’t change what I recommend.










Recent Panbo Comments