I am lagging a bit behind on my projects these days, but good news is that another embedded engineer now will join + I am finally moving on the P&P machine because assembling these for hand is a bit limiting. The adapter below has only minor changes on the N2K power side from what you have seen before.
NMEA2000 is 12V and this design can handle 12V from the M12-5 side as an option. The regulator can handle up to 16V, but it is a SO23 package and a linear regulator more suited for 5V – it will get warm if feeded 12V I think – it also lack isolation on the 12V side so it is not really intended to be connected on 12V – it was just an option I added. The more important feature is the added USB because that enables it to be connected to a Rasberry PI or x86 based PC. I did see someone offering a NMEA2000 computer costing closer to 2000.- USD consisting of a small i3 PC + a NMEA2000/USB adapter – that is a lot considering that these industrial PC’s only cost ca 300.- USD + the cost on the module above is < 30.- USD.
Using a PC/Raspberry PI as a NMEA2000 signal Hub + display controller is a great idea assuming you have SW for it. You need to watch out for several bottlenecks:
- How is the PC/RPI Powered? The issue here is that you will mount the PC inside a boat hidden in wall, rooth, floor or maybe behind a screen on the dashboard. Power feed must be galvanic isolated and handle at lease 5A in peaks, maybe more. It is no way I can do that through the connector above. Also you want the option to switch the PC on/off and that requires a remote on/off switch that can be mounted on the dash-board on a boat. I will get back to that one later.
- What SW is you using? A PC/RPI is fine, but what SW will you use for the dashboard displays and NMEA2000 GW? Do you want one display or several displays? Do you want only NMEA2000 motor gadgets or do you want map system, sonar or even radar integrated? If your a boat owner you are probably aware that many solutions here can cost 50,000.- USD or more. My investigation into existing SW is that it is either DIY or very expensive.
- How will your PC interface with the USB in this case? NMEA2000 do not cover this part thought there are som de-facto standards that can be used.
Returning to the 2000.- USD PC it was not 100% water-/air-tight and only included some simple demo SW available as open source C#. A friend looking into buying that would have been very disapointed! And water-/air- tight is an absolute must unless you plan to replace the system with ca 2 years intervals. Humid sea-air is a killer for any electronics.
Moving on a bit I have started to use Linux as a desktop and HMI platform – Ubuntu (for now) on a PC and obviously Rasbian on RPI5. I added a M.2 Hat to a RPI5 and is very happy with this one on a 4K scree, but it was a bit slow on 2 x 4K screens. Adding M.2 SSD and removing the SD card really changes the RPI experience. That said some of the industrial PC’s I find on Aliexpress are probably a better choise and they don’t cost more if you include SSD. Also a i3 or i5 is x86 based while RPI is ARM based – you will find that a lot of SW is not available for ARM yet. But, RPI is a great choice for a Display Controller if you want multiple screens – in this case you connect RPI to Ethernet and use that as network to your NMEA2000, Radar, GPS/Map, Sonar etc. And this is basically what I want to do.
I attempted to use a 10.1 inch screen from a Chinese vendor and that was an absolute disaster – paying 100.- USD for a screen that was dead and a seller that just wasted my time. This is one of the few times I have been let down buying something through Aliexpress – been declined to send it back or getting a refund and left with a screen that don’t work. I spent almost a week working on this myself and following config advices from their site before I gave up – it is not worth my time. So I still have a job to do to find screens from small 7″ to larger 27″ versions that can be used. The idea is to box in a display controller on each screen connected to a wired Ethernet network. I will not prevent people from using Wifi, but I am not recomending radio usage on control systems because they can drop out in noisy situations and a few Ethernet cables and a Switch is plug & play, safe and low cost to cable up.
As for HMI software I will make my own package based on RPI as a display controller. I have not decided what to use as SDK, but I have a few options:
- Qt/QML is an option. It is on my skillset since I worked with it for years.
- Qt/Python is another option.
- Lazaruz (Pascal) is an option – I have coded in this as well and it was very straight forward.
- I am ruling out C# on RPI – to slow I think. I can give it a test, but that will be AvaloniaUI so lets see.
- wxWidgets is an option.
- A new C++ SDK based on Vulkan will be considered.
My favorite choise would be to wrap up a clean C++ Vulkan SDK and go from there – I have already put some testing into that, but Qt/QML is probably less work and this is still “kind-off” C++. The drawback with Qt is that I either have to work with a GPL license or pay 5000.- USD a year in license cost. But, Qt is a great start for a control system HMI if you don’t want to jump into making your own C++ SDK. That said – QT don’t have many ready made HMI gadgets so it is still a bit work, but I have a large library myself I can brush the dust off – lets see. I think I want to do a demo test with Vulkan and see how fast ChatGPT can assist me on the basics like drawing high performance precentation graphics etc – and then decide from there. I will be back on this.

















