{"id":2166,"date":"2021-11-26T10:42:41","date_gmt":"2021-11-26T10:42:41","guid":{"rendered":"https:\/\/open-boat-projects.org\/?page_id=2166"},"modified":"2024-01-02T15:43:32","modified_gmt":"2024-01-02T15:43:32","slug":"nmea2000-gateway-mit-m5stack-atom","status":"publish","type":"page","link":"https:\/\/open-boat-projects.org\/en\/nmea2000-gateway-mit-m5stack-atom\/","title":{"rendered":"NMEA2000 gateway with M5Stack Atom"},"content":{"rendered":"<p><span style=\"color: #ff0000;\"><a href=\"https:\/\/open-boat-projects.org\/en\/wichtige-hinweise\/\" target=\"_blank\" rel=\"noopener\"><em><strong>First, a few important notes that you should definitely observe.<\/strong><\/em><\/a><\/span><\/p>\n<p>Often the task with older boats is to connect different sensor networks with each other and to exchange data between the buses such as NMEA0183 and NMEA2000. In addition, you would like to transfer the data via WiFi and see it on a tablet or make it available to a navigation app. For this purpose, there are so-called gateways or WiFi gateways in the commercial sector that solve such tasks. There is now one free <a href=\"https:\/\/github.com\/ttlappalainen\" target=\"_blank\" rel=\"noopener\">OpenSource implementation for the NMEA2000 bus by Timo Lappaleinen<\/a> that you can use in your own projects. Andreas Koritnik has worked in several <a href=\"https:\/\/github.com\/AK-Homberger\/NMEA2000-Workshop\" target=\"_blank\" rel=\"noopener\">Workshops<\/a> in different <a href=\"https:\/\/github.com\/AK-Homberger\" target=\"_blank\" rel=\"noopener\">Projects<\/a> shown how to read and feed data on a NMEA2000 data bus. In his workshop, small electronic modules with an ESP32 and CAN line driver are used which have to be soldered in order to obtain a functioning overall circuit. The projects are not complex. But if you have no soldering experience, you hardly dare to undertake such a project.<\/p>\n<p>The Chinese company <a href=\"https:\/\/m5stack.com\/\" target=\"_blank\" rel=\"noopener\">M5Stack<\/a> sells small, ready-made and inexpensive electronic modules for the learning area that can be connected to one another by plugging them together and are mechanically compatible with the Lego world. The M5Stack modules are, so to speak, the electronic counterpart to the mechanical building blocks from Lego. So even people without soldering skills can set up individual electronic circuits and make them usable for themselves. You can get a good overview of all the possibilities of the modular system on the M5Stack website.<\/p>\n<h2>Universal WiFi NMEA gateway<\/h2>\n<p>Andreas Wellenvogel took up Andreas Koritnik&#039;s idea and developed it further with these finished modules <a href=\"https:\/\/github.com\/wellenvogel\/esp32-nmea2000\" target=\"_blank\" rel=\"noopener\">Software project on GitHub<\/a> started aiming at a universal WiFi NMEA gateway. The gateway consists of the following basic components:<\/p>\n<ul>\n<li>Basic components\n<ul>\n<li><a href=\"https:\/\/www.espressif.com\/sites\/default\/files\/documentation\/esp32_datasheet_en.pdf\" target=\"_blank\" rel=\"noopener\">ESP32<\/a> (WiFi-capable, USB)<\/li>\n<li>CAN bus driver (NMEA2000)<\/li>\n<li>Power supply<\/li>\n<\/ul>\n<\/li>\n<li>optional additional modules\n<ul>\n<li>RS485 (NMEA0183)<\/li>\n<li>RS232 (NMEA0183)<\/li>\n<li>I2C<\/li>\n<li>1Wire<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>The gateway supports the following protocols:<\/p>\n<ul>\n<li>NMEA2000<\/li>\n<li>NMEA1083<\/li>\n<li>SeaSmart (NMEA2000 over TCP)<\/li>\n<li>Customer-specific data packets via NMEA0183 with XDR Sentences<\/li>\n<\/ul>\n<h2>ATOM CANBus Kit<\/h2>\n<p>All 3 basic components are e.g. <a href=\"https:\/\/docs.m5stack.com\/en\/atom\/atom_can\" target=\"_blank\" rel=\"noopener\">ATOM CANBus Kit<\/a> from <a href=\"https:\/\/m5stack.com\/\" target=\"_blank\" rel=\"noopener\">M5Stack<\/a> contain.<\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit_2.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2204\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CAN3-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CAN3-300x300.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CAN3-150x150.png 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CAN3-12x12.png 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CAN3.png 405w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Fig .: ATOM CANBus Kit<\/p>\n<p>The kit consists of two parts. The CAN bus driver as a basic module and the <a href=\"https:\/\/docs.m5stack.com\/en\/core\/atom_lite\" target=\"_blank\" rel=\"noopener\">ATOM lite 32<\/a> (ESP32 CPU) with the power supply as a small plug-in module. Both parts are put on top of each other and form a unit. This unit is the simplest version of a WiFi NMEA 2000 gateway. With optional additional modules, the basic system can be expanded to include additional interfaces to other bus systems.<\/p>\n<p>Andreas Vogel has developed a firmware that supports a wide variety of hardware combinations of M5Stack modules. Other hardware combinations will certainly be added in the future. The source code of the firmware is designed in such a way that further combinations can be inserted.<\/p>\n<p>Different hardware combinations can be used depending on the application. The combinations differ in terms of the power supply and the additional buses that are available. The additional modules are attached directly to the ATOM light (tail) or connected via a small connection cable (units). The ATOM light is only delivered ex works with hardware diagnostic software and has to be programmed with the respective firmware. You have to be careful to load the correct firmware for the correct hardware combination. All possible hardware combinations are listed in the table. In the last column you can find the associated firmware.<\/p>\n<p class=\"translation-block\">For flashing you can directly use the <a href=\"https:\/\/wellenvogel.github.io\/esp32-nmea2000\/install.html\" target=\"_self\">browser based installer<\/a> (if your browser supports this).\nWindows users must install the <a href=\"https:\/\/github.com\/wellenvogel\/esp32-nmea2000\/tree\/master#windows\" target=\"_self\" class=\"__mPS2id\">correct drivers<\/a> for the serial port.<\/p>\n<h2><strong>Hardware combinations<\/strong><\/h2>\n<table style=\"border-collapse: collapse; width: 100%; height: 1392px;\">\n<tbody>\n<tr style=\"height: 24px;\">\n<td style=\"width: 30.4121%; height: 24px; background-color: #273bba;\"><span style=\"color: #ffffff; font-size: 10pt;\"><strong>Type of gateway<\/strong><\/span><\/td>\n<td style=\"width: 24.8445%; height: 24px; background-color: #273bba;\"><span style=\"color: #ffffff; font-size: 10pt;\"><strong>Basic module<\/strong><\/span><\/td>\n<td style=\"width: 18.4093%; height: 24px; background-color: #273bba;\"><span style=\"color: #ffffff; font-size: 10pt;\"><strong>Additional modules<\/strong><\/span><\/td>\n<td style=\"width: 13.4202%; height: 24px; background-color: #273bba;\"><span style=\"color: #ffffff; font-size: 10pt;\"><strong>Supported bus systems<\/strong><\/span><\/td>\n<td style=\"width: 4.64935%; height: 24px; background-color: #273bba;\"><span style=\"color: #ffffff; font-size: 10pt;\"><strong>Power supply<\/strong><\/span><\/td>\n<td style=\"width: 8.26464%; height: 24px; background-color: #273bba;\"><span style=\"color: #ffffff; font-size: 10pt;\"><strong>Firmware<\/strong><\/span><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 30.4121%; background-color: #aaaaaa; height: 24px;\"><span style=\"font-size: 10pt;\"><strong>For beginners without soldering experience<\/strong><\/span><\/td>\n<td style=\"width: 24.8445%; background-color: #aaaaaa; height: 24px;\"><\/td>\n<td style=\"width: 18.4093%; background-color: #aaaaaa; height: 24px;\"><\/td>\n<td style=\"width: 13.4202%; background-color: #aaaaaa; height: 24px;\"><\/td>\n<td style=\"width: 4.64935%; background-color: #aaaaaa; height: 24px;\"><\/td>\n<td style=\"width: 8.26464%; background-color: #aaaaaa; height: 24px;\"><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 30.4121%; height: 48px;\"><span style=\"font-size: 10pt;\">WiFi Gateway Light<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/atom\/atom_can\" target=\"_blank\" rel=\"noopener\">ATOM CANBus Kit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2180 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-768x766.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit.jpg 792w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 18.4093%; height: 48px;\"><span style=\"font-size: 10pt;\">no<\/span><\/td>\n<td style=\"width: 13.4202%; height: 48px;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (USB),<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%; height: 48px;\"><span style=\"font-size: 10pt;\">5V via USB<\/span><\/td>\n<td style=\"width: 8.26464%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.wellenvogel.de\/software\/esp32\/install.php?user=wellenvogel&amp;repo=esp32-nmea2000&amp;flash=m5stack-atom\" target=\"_blank\" rel=\"noopener\">Firmware<\/a><\/span><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 30.4121%; height: 48px;\"><span style=\"font-size: 10pt;\">WiFi gateway<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/atom\/atom_can\" target=\"_blank\" rel=\"noopener\">ATOM CANBus Kit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2180 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-768x766.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit.jpg 792w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 18.4093%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/atom\/tail485\" target=\"_blank\" rel=\"noopener\">ATOM Tail485<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2182 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_Tail485-150x150.webp\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_Tail485-150x150.webp 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_Tail485-300x300.webp 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_Tail485-768x768.webp 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_Tail485-12x12.webp 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_Tail485.webp 800w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 13.4202%; height: 48px;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">MEA0183 (RS485)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%; height: 48px;\"><span style=\"font-size: 10pt;\">12V via ATOM Tail485<\/span><\/td>\n<td style=\"width: 8.26464%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.wellenvogel.de\/software\/esp32\/install.php?user=wellenvogel&amp;repo=esp32-nmea2000&amp;flash=m5stack-atom\" target=\"_blank\" rel=\"noopener\">Firmware<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 30.4121%;\"><span style=\"font-size: 10pt;\">WiFi NMEA gateway<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/atom\/atom_can\" target=\"_blank\" rel=\"noopener\">ATOM CANBus Kit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2180 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-768x766.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit.jpg 792w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 18.4093%;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/unit\/rs485\" target=\"_blank\" rel=\"noopener\">RS485 to TTL converter unit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2186 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/RS485_to_TTL_Converter_Unit-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/RS485_to_TTL_Converter_Unit-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/RS485_to_TTL_Converter_Unit-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/RS485_to_TTL_Converter_Unit-768x768.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/RS485_to_TTL_Converter_Unit-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/RS485_to_TTL_Converter_Unit.jpg 788w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 13.4202%;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (RS485)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%;\"><span style=\"font-size: 10pt;\">12V via RS485 unit or<\/span><br \/>\n<span style=\"font-size: 10pt;\">5V via USB<\/span><\/td>\n<td style=\"width: 8.26464%;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.wellenvogel.de\/software\/esp32\/install.php?user=wellenvogel&amp;repo=esp32-nmea2000&amp;flash=m5stack-atom\">Firmware<\/a><\/span><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 30.4121%; height: 48px;\"><span style=\"font-size: 10pt;\">WiFi gateway<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/core\/atom_lite\" target=\"_blank\" rel=\"noopener\">ATOM Light<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2222 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Aton-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Aton-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Aton-12x12.jpg 12w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 18.4093%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/unit\/can\" target=\"_blank\" rel=\"noopener\">Isolated CAN unit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2192 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-150x150.webp\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-150x150.webp 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-300x300.webp 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-768x768.webp 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-12x12.webp 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit.webp 800w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><\/span><\/td>\n<td style=\"width: 13.4202%; height: 48px;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">MEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%; height: 48px;\"><span style=\"font-size: 10pt;\">5V via USB<\/span><\/td>\n<td style=\"width: 8.26464%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.wellenvogel.de\/software\/esp32\/install.php?user=wellenvogel&amp;repo=esp32-nmea2000&amp;flash=m5stack-atom-canunit\" target=\"_blank\" rel=\"noopener\">Firmware<\/a><\/span><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 30.4121%; height: 48px;\"><span style=\"font-size: 10pt;\">WiFi gateway<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/core\/m5stickc_plus\" target=\"_blank\" rel=\"noopener\">M5STICK C Plus ESP32<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2185 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5StickC_ESP32-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5StickC_ESP32-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5StickC_ESP32-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5StickC_ESP32-768x765.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5StickC_ESP32-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5StickC_ESP32.jpg 787w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 18.4093%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/unit\/can\" target=\"_blank\" rel=\"noopener\">Isolated CAN unit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2192 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-150x150.webp\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-150x150.webp 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-300x300.webp 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-768x768.webp 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-12x12.webp 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit.webp 800w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><\/span><\/td>\n<td style=\"width: 13.4202%; height: 48px;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">MEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%; height: 48px;\"><span style=\"font-size: 10pt;\">5V via USB<\/span><\/td>\n<td style=\"width: 8.26464%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.wellenvogel.de\/software\/esp32\/install.php?user=wellenvogel&amp;repo=esp32-nmea2000&amp;flash=m5stickc-atom-canunit\" target=\"_blank\" rel=\"noopener\">Firmware<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 30.4121%;\"><span style=\"font-size: 10pt;\">WiFi NMEA display gateway<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 &lt;&gt; SeaTalk (not yet implemented)<\/span><\/td>\n<td style=\"width: 24.8445%;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/open-boat-projects.org\/en\/diy-multifunktionsdisplay-obp-60\/\" target=\"_blank\" rel=\"noopener\">MFD OBP 60 V1.1<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2377\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-297x300.jpg\" alt=\"\" width=\"150\" height=\"152\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-297x300.jpg 297w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-1014x1024.jpg 1014w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-768x776.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-1521x1536.jpg 1521w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent.jpg 1788w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 18.4093%;\"><span style=\"font-size: 10pt;\">none necessary, all interfaces included<\/span><\/td>\n<td style=\"width: 13.4202%;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (RS485)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaTalk<br \/>\n<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">I2C<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">1Wire<\/span><\/td>\n<td style=\"width: 4.64935%;\"><span style=\"font-size: 10pt;\">12V over<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">Electrical system<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">or CAN<\/span><\/td>\n<td style=\"width: 8.26464%;\"><a href=\"https:\/\/github.com\/norbert-walter\/esp32-nmea2000-obp60\/releases\/tag\/20231218\"><span style=\"font-size: 10pt;\">Firmware<\/span><\/a><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 30.4121%;\"><span style=\"font-size: 10pt;\">WiFi NMEA display gateway<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/open-boat-projects.org\/en\/diy-multifunktionsdisplay-obp-60\/\" target=\"_blank\" rel=\"noopener\">MFD OBP 60 V2<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2377\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-297x300.jpg\" alt=\"\" width=\"150\" height=\"152\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-297x300.jpg 297w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-1014x1024.jpg 1014w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-768x776.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-1521x1536.jpg 1521w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/01\/OBP60_transparent.jpg 1788w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 18.4093%;\"><span style=\"font-size: 10pt;\">none necessary, all interfaces included<\/span><\/td>\n<td style=\"width: 13.4202%;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (RS485)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">I2C<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">1Wire<\/span><\/td>\n<td style=\"width: 4.64935%;\"><span style=\"font-size: 10pt;\">12V over<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">Electrical system<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">or CAN<\/span><\/td>\n<td style=\"width: 8.26464%;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/github.com\/norbert-walter\/esp32-nmea2000-obp60\/releases\">Firmware<\/a><\/span><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 30.4121%; height: 24px; background-color: #aaaaaa;\"><span style=\"font-size: 10pt;\"><strong>For advanced users with soldering experience<\/strong><\/span><\/td>\n<td style=\"width: 24.8445%; height: 24px; background-color: #aaaaaa;\"><\/td>\n<td style=\"width: 18.4093%; height: 24px; background-color: #aaaaaa;\"><\/td>\n<td style=\"width: 13.4202%; height: 24px; background-color: #aaaaaa;\"><\/td>\n<td style=\"width: 4.64935%; height: 24px; background-color: #aaaaaa;\"><\/td>\n<td style=\"width: 8.26464%; height: 24px; background-color: #aaaaaa;\"><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 30.4121%; height: 48px;\"><span style=\"font-size: 10pt;\">WiFi gateway<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.az-delivery.de\/products\/esp32-developmentboard\" target=\"_blank\" rel=\"noopener\">ModeMCU32<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2187 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/NodeMCU-32S-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/NodeMCU-32S-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/NodeMCU-32S-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/NodeMCU-32S-768x768.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/NodeMCU-32S-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/NodeMCU-32S.jpg 800w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/p>\n<p><span style=\"font-size: 10pt;\">Adapted to that <a href=\"https:\/\/github.com\/AK-Homberger\/NMEA2000WifiGateway-with-ESP32\">Board of Homberger<\/a>.<\/span><\/td>\n<td style=\"width: 18.4093%; height: 48px;\"><span style=\"font-size: 10pt;\">CAN driver<\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2188 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/SN65HVD230_CAN_Board-150x150.png\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/SN65HVD230_CAN_Board-150x150.png 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/SN65HVD230_CAN_Board-12x12.png 12w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 13.4202%; height: 48px;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN),<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (USB-Serial),<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">MEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%; height: 48px;\"><span style=\"font-size: 10pt;\">12V via on-board network or CAN<\/span><\/td>\n<td style=\"width: 8.26464%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.wellenvogel.de\/software\/esp32\/install.php?user=wellenvogel&amp;repo=esp32-nmea2000&amp;flash=nodemcu-homberger\" target=\"_blank\" rel=\"noopener\">Firmware<\/a><\/span><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 30.4121%; height: 24px; background-color: #aaaaaa;\"><span style=\"font-size: 10pt;\"><strong>Hardware supported in the future<\/strong><\/span><\/td>\n<td style=\"width: 24.8445%; height: 24px; background-color: #aaaaaa;\"><\/td>\n<td style=\"width: 18.4093%; height: 24px; background-color: #aaaaaa;\"><\/td>\n<td style=\"width: 13.4202%; height: 24px; background-color: #aaaaaa;\"><\/td>\n<td style=\"width: 4.64935%; height: 24px; background-color: #aaaaaa;\"><\/td>\n<td style=\"width: 8.26464%; height: 24px; background-color: #aaaaaa;\"><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 30.4121%;\"><span style=\"font-size: 10pt;\">WiFi Gateway Light<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/atom\/atomic485\" target=\"_blank\" rel=\"noopener\">ATOM RS485 kit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2223\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485-150x150.webp\" alt=\"\" width=\"130\" height=\"130\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485-150x150.webp 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485-300x300.webp 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485-768x768.webp 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485-12x12.webp 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485.webp 800w\" sizes=\"auto, (max-width: 130px) 100vw, 130px\" \/><\/a><\/span><\/td>\n<td style=\"width: 18.4093%;\"><span style=\"font-size: 10pt;\">no<\/span><\/td>\n<td style=\"width: 13.4202%;\"><span style=\"font-size: 10pt;\">NMEA0183 (RS485)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%;\"><span style=\"font-size: 10pt;\">12V via on-board network<\/span><\/td>\n<td style=\"width: 8.26464%;\"><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 30.4121%;\"><span style=\"font-size: 10pt;\">WiFi NMEA gateway<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/atom\/atomic485\" target=\"_blank\" rel=\"noopener\">ATOM RS485 kit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2223\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485-150x150.webp\" alt=\"\" width=\"130\" height=\"130\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485-150x150.webp 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485-300x300.webp 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485-768x768.webp 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485-12x12.webp 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_RS485.webp 800w\" sizes=\"auto, (max-width: 130px) 100vw, 130px\" \/><\/a><\/span><\/td>\n<td style=\"width: 18.4093%;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/unit\/can\" target=\"_blank\" rel=\"noopener\">Isolated CAN unit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2192 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-150x150.webp\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-150x150.webp 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-300x300.webp 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-768x768.webp 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit-12x12.webp 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/CAN_Unit.webp 800w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><\/span><\/td>\n<td style=\"width: 13.4202%;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (RS485)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%;\"><span style=\"font-size: 10pt;\">12V via CAN<br \/>\n<\/span><\/td>\n<td style=\"width: 8.26464%;\"><\/td>\n<\/tr>\n<tr style=\"height: 228px;\">\n<td style=\"width: 30.4121%; height: 228px;\"><span style=\"font-size: 10pt;\">WiFi NMEA gateway<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%; height: 228px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/atom\/atom_can\" target=\"_blank\" rel=\"noopener\">ATOM CANBus Kit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2180 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-768x766.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit.jpg 792w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 18.4093%; height: 228px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/unit\/iso485\" target=\"_blank\" rel=\"noopener\">Isolated RS485 unit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2183 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit-768x771.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit.jpg 789w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 13.4202%; height: 228px;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (RS485)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%; height: 228px;\"><span style=\"font-size: 10pt;\">5V via USB<\/span><\/td>\n<td style=\"width: 8.26464%; height: 228px;\"><\/td>\n<\/tr>\n<tr style=\"height: 252px;\">\n<td style=\"width: 30.4121%; height: 252px;\"><span style=\"font-size: 10pt;\">WiFi NMEA gateway<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%; height: 252px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/atom\/atom_can\" target=\"_blank\" rel=\"noopener\">ATOM NMEA2000 kit <\/a>(Open Boat Projects)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2180 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-768x766.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Atom_CANBUs_Kit.jpg 792w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 18.4093%; height: 252px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/unit\/iso485\" target=\"_blank\" rel=\"noopener\">Isolated RS485 unit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2183 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit-768x771.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_RS485_Unit.jpg 789w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 13.4202%; height: 252px;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (RS485)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%; height: 252px;\"><span style=\"font-size: 10pt;\">12V via CAN<\/span><\/td>\n<td style=\"width: 8.26464%; height: 252px;\"><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 30.4121%; height: 48px;\"><span style=\"font-size: 10pt;\">WiFi NMEA display gateway<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 &lt;&gt; NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA2000 \/ NMEA0183 &lt;&gt; SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/core\/core2\" target=\"_blank\" rel=\"noopener\">M5STICK Core2<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2179 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5Stack_Core2-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5Stack_Core2-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5Stack_Core2-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5Stack_Core2-768x768.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5Stack_Core2-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/M5Stack_Core2.jpg 800w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/span><\/td>\n<td style=\"width: 18.4093%; height: 48px;\"><span style=\"font-size: 10pt;\"><a href=\"https:\/\/docs.m5stack.com\/en\/unit\/can\" target=\"_blank\" rel=\"noopener\">Isolated CAN bus unit<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_CANBus_Unit.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2177 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_CANBus_Unit-150x150.webp\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_CANBus_Unit-150x150.webp 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_CANBus_Unit-300x300.webp 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_CANBus_Unit-768x768.webp 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_CANBus_Unit-12x12.webp 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/Isolated_CANBus_Unit.webp 800w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><\/span><\/td>\n<td style=\"width: 13.4202%; height: 48px;\"><span style=\"font-size: 10pt;\">NMEA2000 (CAN)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (RS485)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (USB)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%; height: 48px;\"><span style=\"font-size: 10pt;\">5V via USB<\/span><\/td>\n<td style=\"width: 8.26464%; height: 48px;\"><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 30.4121%; height: 24px;\"><span style=\"font-size: 10pt;\">WiFi NMEA display<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<br \/>\n<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 24.8445%; height: 24px;\"><span style=\"font-size: 10pt;\"><a href=\"http:\/\/www.lilygo.cn\/prod_view.aspx?TypeId=50053&amp;Id=1380&amp;FId=t3:50053:3\" target=\"_blank\" rel=\"noopener\">Lilygo T-Watch 2020<\/a><\/span><\/p>\n<p><span style=\"font-size: 10pt;\"><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/T-Watch_2020.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2190 size-thumbnail\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/11\/T-Watch_2020-150x150.webp\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><\/span><\/td>\n<td style=\"width: 18.4093%; height: 24px;\"><span style=\"font-size: 10pt;\">none necessary<\/span><\/td>\n<td style=\"width: 13.4202%; height: 24px;\"><span style=\"font-size: 10pt;\">NMEA0183 (WiFi)<\/span><\/p>\n<p><span style=\"font-size: 10pt;\">SeaSmart (WiFi)<\/span><\/td>\n<td style=\"width: 4.64935%; height: 24px;\"><span style=\"font-size: 10pt;\">3.7V battery<\/span><\/td>\n<td style=\"width: 8.26464%; height: 24px;\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Program firmware via USB<\/h2>\n<p>Please note the following when programming the firmware for the ESP32. When programming for the first time, you need special firmware that creates different partitions in the flash memory. In addition to the actual firmware in the partition <strong>app0<\/strong> will still have partitions for <strong>app1<\/strong> (Backup copy of the firmware), <strong>nvs\u00a0<\/strong>(Configuration data) and <strong>otadata <\/strong>(Over the Air Flash function) required. The following table shows the arrangement of the respective partitions in the 4 MB flash memory.<\/p>\n<table style=\"border-collapse: collapse; width: 84.0079%;\">\n<tbody>\n<tr>\n<td style=\"width: 13.603%;\"><strong>Surname<\/strong><\/td>\n<td style=\"width: 15.7667%;\"><strong>Type<\/strong><\/td>\n<td style=\"width: 16.9897%;\"><strong>Subtype<\/strong><\/td>\n<td style=\"width: 19.1533%;\"><strong>Offset<\/strong><\/td>\n<td style=\"width: 19.1488%;\"><strong>Size<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 13.603%;\">nvs<\/td>\n<td style=\"width: 15.7667%;\">data<\/td>\n<td style=\"width: 16.9897%;\">nvs<\/td>\n<td style=\"width: 19.1533%;\">0x9000<\/td>\n<td style=\"width: 19.1488%;\">0x5000<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 13.603%;\">otadata<\/td>\n<td style=\"width: 15.7667%;\">data<\/td>\n<td style=\"width: 16.9897%;\">ota<\/td>\n<td style=\"width: 19.1533%;\">0xe000<\/td>\n<td style=\"width: 19.1488%;\">0x2000<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 13.603%;\">app0<\/td>\n<td style=\"width: 15.7667%;\">app<\/td>\n<td style=\"width: 16.9897%;\">ota_0<\/td>\n<td style=\"width: 19.1533%;\">0x10000<\/td>\n<td style=\"width: 19.1488%;\">0x1f0000<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 13.603%;\">app1<\/td>\n<td style=\"width: 15.7667%;\">app<\/td>\n<td style=\"width: 16.9897%;\">ota_1<\/td>\n<td style=\"width: 19.1533%;\">0x200000<\/td>\n<td style=\"width: 19.1488%;\">0x1f0000<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Table:<\/strong> Partition table of the firmware<\/p>\n<p>To simplify the flash process, all required partitions were combined in a binary file. The file is named<\/p>\n<pre><code>xxxxx-xxxx-all.bin<\/code><\/pre>\n<p>marked.<\/p>\n<p class=\"translation-block\">The most simple method for flashing is to use the <a href=\"https:\/\/wellenvogel.github.io\/esp32-nmea2000\/install.html\" target=\"_self\">browser based installer<\/a> (if your browser supports this).\nWindows users must install the <a href=\"https:\/\/github.com\/wellenvogel\/esp32-nmea2000\/tree\/master#windows\" target=\"_self\" class=\"__mPS2id\">correct drivers<\/a> for the serial port.<\/p>\n<p>The firmware can be used with the\u00a0<a href=\"https:\/\/github.com\/espressif\/esptool\" target=\"_blank\" rel=\"noopener\">esptool<\/a> Load from Espressif. The tool consists of a series of Python scripts that execute the flash process. Linux users can use the esptool very easily via the PIP package manager<\/p>\n<div class=\"snippet-clipboard-content position-relative overflow-auto\">\n<pre><code>sudo pip install esptool<\/code><\/pre>\n<\/div>\n<p>to install. In order to be able to execute the scripts, however, you need a Python interpreter which you have to install. The Python interpreter can be found here under for common operating systems such as <a href=\"https:\/\/www.python.org\/downloads\/\" target=\"_blank\" rel=\"noopener\">Linux, Windows and Mac<\/a> download and install.<\/p>\n<p>Current Linux operating systems already have USB serial drivers. You don&#039;t have to do anything else. Under Windows you have to install the USB serial driver for Windows before programming. Otherwise you will not be able to establish a USB connection to the ATOM device. The driver can be found at <a href=\"https:\/\/www.ftdichip.com\/Drivers\/D2XX.htm\">FTDI<\/a>:<\/p>\n<p>Note: The drivers offered on the M5 site do not seem to work (<a href=\"https:\/\/community.m5stack.com\/topic\/2532\/unable-to-install-windows-atom-cp210x-drivers\/2\">see USB Drive Problems<\/a>)<\/p>\n<p>After installing the drivers in the Windows device manager, make sure that a new USB device is added under Serial Devices when you connect the ATOM device to the PC. Make a note of the corresponding COM interface. We need them for the later flash process.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2322 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/Geraetemanager.png\" alt=\"\" width=\"474\" height=\"572\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/Geraetemanager.png 474w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/Geraetemanager-249x300.png 249w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/Geraetemanager-10x12.png 10w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/p>\n<p><strong>Fig.<\/strong>: Windows device manager<\/p>\n<p><strong>Linux users<\/strong><\/p>\n<p>Use the firmware stored in the table above for flashing. The required flash command for the WiFi gateway light (m5stack-atom) would be the following:<\/p>\n<div class=\"snippet-clipboard-content position-relative overflow-auto\">\n<pre><code>esptool.py --port XXXX --chip esp32 write_flash 0x1000 m5stack-atom-XXXXXXXX-all.bin\r\n<\/code><\/pre>\n<\/div>\n<p dir=\"auto\">XXXX after \u2013port must be replaced by the corresponding serial interface designation. For the meaning of the board names see <a href=\"https:\/\/github.com\/wellenvogel\/esp32-nmea2000\/blob\/master\/doc\/Hardware.md\">hardware<\/a>\u00a0. For more information, see the code in\u00a0<a href=\"https:\/\/github.com\/wellenvogel\/esp32-nmea2000\/blob\/master\/platformio.ini\">platformio.ini<\/a> and in the hardware definitions in <a href=\"https:\/\/github.com\/wellenvogel\/esp32-nmea2000\/blob\/master\/lib\/hardware\/GwHardware.h\">GwHardware.h<\/a>\u00a0.<code><br \/>\n<\/code><\/p>\n<p dir=\"auto\"><strong>Windows users<\/strong><\/p>\n<p dir=\"auto\">With <a href=\"https:\/\/github.com\/wellenvogel\/esp32-nmea2000\/blob\/master\/tools\/esptool.exe\">esptool.exe<\/a> You will find a ready-made executable file in the project folder under tools, which saves you an additional installation of the Python interpreter, as the interpreter is already integrated in esptool.exe. Simply create an empty directory on your computer, download the esptool.exe into this directory and also download the firmware (xxx-all.bin) from the table above. Open a command prompt and change to the directory where you downloaded the esptool.exe and the firmware binary file. With the command<\/p>\n<div class=\"snippet-clipboard-content position-relative overflow-auto\">\n<pre><code>esptool.exe --port COM13 write_flash 0x1000 xxxxx-xxxx-all.bin\r\n<\/code><\/pre>\n<\/div>\n<p dir=\"auto\">flash the firmware via the serial USB interface COM13. It may well be that you still have to adjust the USB interface on your PC.<\/p>\n<p dir=\"auto\">On the <a href=\"https:\/\/github.com\/wellenvogel\/esp32-nmea2000#installation\">Project page<\/a> there is also an explanation of how you can apply the firmware (under Windows) with a graphical tool without having to use the command line.<\/p>\n<h2 dir=\"auto\"><strong>Firmware update via web UI<\/strong><\/h2>\n<p>To update the firmware of a device later, you can use the web UI (Update tab). Do not use the initial firmware for this. For updates via the web UI, there are special firmware files that only contain the partition with the firmware. This means that your configuration is retained even after the flash process. In principle you could also update a device with the initial flash firmware (and a xxx-all.bin) firmware, but this would erase your entire configuration. So for normal operation just download a xxx-update.bin from the <a href=\"https:\/\/github.com\/wellenvogel\/esp32-nmea2000\/releases\">Release<\/a>\u00a0Page and use the user interface to install it.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2269 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/Update.png\" alt=\"\" width=\"479\" height=\"369\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/Update.png 479w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/Update-300x231.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/Update-16x12.png 16w\" sizes=\"auto, (max-width: 479px) 100vw, 479px\" \/><\/p>\n<p><strong>Fig .:<\/strong> Update via web UI<\/p>\n<p>When you select a file for the update, the user interface checks whether it is a valid firmware file and rejects invalid ones. To actually run the update, click the button <strong><em>Upload<\/em><\/strong>You will receive a progress bar and a notification about the update result. After a successful firmware update, please reload the page in your browser after the &quot;connected&quot; status turns green. This is the only way to ensure that potential extensions that were not previously available in the web UI will work in the new version.<\/p>\n<h2>Installation<\/h2>\n<p>After successfully flashing and starting the firmware, a WiFi access point is created. Connect to the WiFi network <strong>ESP32NMEA2K\u00a0<\/strong> and the password <strong>esp32nmea2k<\/strong>. Then use the address in a web browser <strong>ESP32NMEA2k.local<\/strong> or the IP address <strong>192.168.15.1<\/strong>. You get a small user interface to monitor the status and make settings.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2312 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/OBP60_WebUI_1.png\" alt=\"\" width=\"421\" height=\"679\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/OBP60_WebUI_1.png 421w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/OBP60_WebUI_1-186x300.png 186w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/OBP60_WebUI_1-7x12.png 7w\" sizes=\"auto, (max-width: 421px) 100vw, 421px\" \/><\/p>\n<p>Fig. Status page<\/p>\n<p>If you want to connect to a different WiFi network, simply enter the access data in the WiFi client tab and activate the WiFi client. For all potential inputs and outputs (NMEA2000, USB, TCP, RS485) you can set the configuration including NMEA0183 filtering. To save your changes, you will be asked for a <strong>Admin password<\/strong> asked. The initial password is <strong>esp32admin<\/strong>. You can change this password on the config \/ system tab or even disable it completely. Be careful not to lose the password. You can only restore a lost password by performing a factory reset of the device (press the LED button for a long time until it lights up blue-&gt; red-&gt; green). To help you to recover lost passwords, the password of the WLAN access point and the admin password are output to the USB port when the device is started. You can call up these passwords by connecting a terminal program.<\/p>\n<h2>safety instructions<\/h2>\n<p>You should only connect the device to trusted Wi-Fi networks. There is very limited protection against network sniffing or denial-of-service attacks. Never connect the device directly to the internet without using a firewall, such as a Wi-Fi or LTE router. Be especially careful when connecting to open port networks. Whenever changes are made, you will be asked for the admin password \u2013 and this is always sent encrypted. However, if you change the Wi-Fi access point password or the Wi-Fi client password, it will be sent in clear text. If you enable &quot;Remember me&quot; for the admin password, it will be stored in plain text in your browser. <strong><em>ForgetPassword<\/em><\/strong>to remove it from there.<\/p>\n<h2>Connection to the NMEA2000 bus<\/h2>\n<h3>Connector system<\/h3>\n<p>For the NMEA2000 bus, there are standardized, waterproof and shielded 5-pin plug connections in M12 format. Depending on the design, they can be made entirely of plastic or partially of metal. In addition to the data lines CAN-H and CAN-L, there are two lines for the power supply such as GND (V-) and + 12V (V +) as well as a connection for the shield. Cable connections for sensors are usually designed as plugs (male) and have an external thread. Bushings, on the other hand, always have a union nut with an internal thread.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2282 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/NMEA2000_Steckerbelegung.jpg\" alt=\"\" width=\"468\" height=\"300\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/NMEA2000_Steckerbelegung.jpg 468w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/NMEA2000_Steckerbelegung-300x192.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/NMEA2000_Steckerbelegung-18x12.jpg 18w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/p>\n<p>Fig. Top view of the contact side<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2288\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/nmea2000-stecker-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/nmea2000-stecker-300x300.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/nmea2000-stecker-150x150.jpg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/nmea2000-stecker-12x12.jpg 12w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/nmea2000-stecker.jpg 320w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Fig.NMEA2000 connector for self-assembly (<a href=\"https:\/\/busse-yachtshop.de\/s\/NMEA2000-Stecker-und-Buchse-zur-Selbstmontage-fuer-4-8mm-Kabel\" target=\"_blank\" rel=\"noopener\">Busse yacht shop<\/a>)<\/p>\n<p>If you want to buy much cheaper industrial connectors outside of the yacht accessories trade, make sure to buy 5-pin connectors with A-coding. The index notch is then located between pin 1 and 2. There are other codes where the index notch is in a different position.<\/p>\n<p>SeaTalk NG, Simnet and Philippi P-Bus are similar bus systems that are based on the CAN bus as a physical layer. However, they differ from NMEA2000 in some specifications and are not 100% compatible. In addition, each manufacturer uses its own connectors that are not compatible with each other with NMEA2000. With the appropriate converter cables, however, data can be exchanged between these networks. Basically, a mixture of different bus technologies should be avoided.<\/p>\n<h3>Power supply from the bus<\/h3>\n<p>NMEA2000 devices with low power consumption such as sensors can also be supplied with power from the bus system. No additional supply cables are necessary. The 12 V supply voltage is fed into the NMEA2000 bus either via a feed cable or a plotter with bus feed. However, it must be ensured that only a limited power of up to 35W may be drawn from the NMEA2000 bus. The NMEA2000 devices are marked with load values that indicate the current drawn from the bus. The load is specified as a multiple of 50 mA. A device with Load 3 would therefore need 150 mA at 12V and consume 1.8 W of power. The 12 V supply voltage should ideally be fed into the bus in the middle, as this minimizes line losses due to line resistance.<\/p>\n<h3>cable<\/h3>\n<p>Only high-quality, waterproof and shielded industrial cables should be used as bus cables, such as <a href=\"https:\/\/asset.conrad.com\/media10\/add\/160267\/c1\/-\/de\/000600529DS01\/datenblatt-600529-lapp-2170264-1-busleitung-unitronic-bus-2-x-2-x-034-mm-violett-meterware.pdf\" target=\"_blank\" rel=\"noopener\">Lapp bus cable UNITRONIC 2 x 2 x 0.34 mm\u00b2<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2287\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Kabel-300x105.png\" alt=\"\" width=\"300\" height=\"105\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Kabel-300x105.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Kabel-18x6.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Kabel.png 478w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Fig.CAN bus cable<\/p>\n<p>Two single wires are twisted in pairs and also surrounded by an outer braided shield. One twisted wire pair is used for CAN-H and CAN-L and the other wire pair for GND and 12V. The braided shield is connected to GND on one side. This will give you the best results and a safe and durable installation. Cables thinner than 0.34 mm\u00b2 should not be used if the supply is to come from the bus. The total length of the bus cable should not exceed 40 m.<\/p>\n<h3>Termination<\/h3>\n<p>The physical layer of the NMEA2000 bus is based on the <a href=\"https:\/\/de.wikipedia.org\/wiki\/Controller_Area_Network\" target=\"_blank\" rel=\"noopener\">CAN bus<\/a> With <a href=\"https:\/\/kompendium.infotip.de\/differentielle-signaluebertragung.html\" target=\"_blank\" rel=\"noopener\">differential signal transmission<\/a>. Two signals with opposite polarity are transmitted from the transmitter and a single signal is generated in the receiver by subtracting the two signals. Disturbances that affect both signal lines in the same way are eliminated by the subtraction. This enables a robust signal transmission that is not susceptible to interference.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2306 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Bus_Signals.webp\" alt=\"\" width=\"475\" height=\"168\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Bus_Signals.webp 475w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Bus_Signals-300x106.webp 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Bus_Signals-18x6.webp 18w\" sizes=\"auto, (max-width: 475px) 100vw, 475px\" \/><\/p>\n<p>Fig.Differential data transmission (red CAN-H, blue CAN-L)<\/p>\n<p>A CAN bus uses terminating resistors of 120 Ohm between the lines CAN-H and CAN-L at both ends of the bus system. The two terminating resistors correspond to the line resistance of 120 ohms and prevent signal reflections at the line ends at high data transfer rates of 1 Mbit \/ s. The CAN bus consists of a long bus line with short stub lines less than 1.5 m. A star structure of the bus system is not permitted. The two terminating resistors may only be installed at the end of the bus and may not be in between.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2305 size-medium\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN-Bus_Zweidrahtleitung-300x150.png\" alt=\"\" width=\"300\" height=\"150\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN-Bus_Zweidrahtleitung-300x150.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN-Bus_Zweidrahtleitung-1024x512.png 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN-Bus_Zweidrahtleitung-768x384.png 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN-Bus_Zweidrahtleitung-1536x768.png 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN-Bus_Zweidrahtleitung-18x9.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN-Bus_Zweidrahtleitung-760x380.png 760w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN-Bus_Zweidrahtleitung.png 2000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Fig.CAN bus structure (without power supply)<\/p>\n<p>Some devices have built-in terminating resistors that can be switched on or off using the appropriate switches. Before installing new devices, make sure that integrated terminating resistors are used and how they are configured. Incorrectly terminated buses can cause transmission problems that are difficult to find.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2320 size-large\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Connection_Tail-1024x613.png\" alt=\"\" width=\"952\" height=\"570\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Connection_Tail-1024x613.png 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Connection_Tail-300x180.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Connection_Tail-768x460.png 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Connection_Tail-18x12.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/12\/CAN_Connection_Tail.png 1320w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<p>Fig.CAN bus connection with supply from the bus (M5Stack Atom with Tail485)<\/p>\n<p>The connection to the NMEA2000 bus is made via the orange connector of the ESP32 CAN kit and the 12V power supply via the Tail485.<\/p>\n<p>Valuable connection options are in the <a href=\"https:\/\/github.com\/wellenvogel\/esp32-nmea2000\/blob\/master\/doc\/Hardware.md\" target=\"_blank\" rel=\"noopener\">Repository at Github<\/a> described.<\/p>\n<h2>Connection to the NMEA0183 bus<\/h2>\n<p>A connection to the NMEA0183 bus is possible via the orange connector of a Tails485 or an RS485 unit, depending on the hardware used. With the RS485 modules from M5Stack specified in the table above, the bus can be accessed either read or write. This can be selected in the configuration of the web UI. The parameters (baud rate, filter) for the interface can also be set there. The baud rate is set to 4800 Bd by default and thus supports most devices. Depending on the device, a higher baud rate, such as for an AIS receiver, can be set, provided it supports these baud rates. It should be noted, however, that the sensitivity to interference increases at higher baud rates and the permissible bus length is shorter. In terms of cabling, the NMEA0183 bus is less critical than the NMEA2000 bus. No special cables are required. Shielded cables are recommended to avoid interference. The cable cross-section should be 0.34 mm\u00b2.<\/p>\n<h2>Integrate your own hardware<\/h2>\n<p>The source code of the firmware is designed so that further hardware combinations or your own hardware can be added. You can easily adjust the PIN assignment for your own hardware or add your own code. In the project there is an example about folders<strong> lib \/ exampletask<\/strong> included, there is also one <a href=\"https:\/\/github.com\/wellenvogel\/esp32-nmea2000\/blob\/master\/lib\/exampletask\/Readme.md\">description <\/a>Further examples can be found in \u201cforks\u201d of the project \u2013 e.g. <a href=\"https:\/\/github.com\/free-x\/esp32-nmea2000\">free-x<\/a> or <a href=\"https:\/\/github.com\/norbert-walter\/esp32-nmea2000\">norbert-walter<\/a>.<\/p>\n<h2>known problems<\/h2>\n<p><strong>NMEA2000 <span style=\"color: #ff0000;\">critical<\/span>:<\/strong> There is probably a problem with the implementation of the CAN protocol stack in the ESP32 when communication is started on the bus. If the start-start sequence is not answered by the communication partner, the CAN bus of the requesting ESP32 goes into an undefined state and sends garbage data at full data rate until the start-start sequence is answered by any communication partner in the bus. If you have connected both ESP32 to the CAN bus and then reset both or one of the ESP32s, the connection works again. It looks like you can only use the start-start sequence once after a reset. After that it no longer works. However, if there are other communication partners in the CAN bus who do not use an ESP32 and can still respond correctly to the initial sequence, everything is ok. The problem only occurs when two or more ESP32s want to communicate with each other.<\/p>\n<p>The problem has now been solved by corrections in an open source library.<\/p>\n<p><strong>NMEA2000 <span style=\"color: #ff0000;\">critical<\/span>:<\/strong> If no terminating resistors or the correct terminating resistors are used on the CAN bus, this can lead to malfunctions on the bus. Either data packets are lost or the CAN bus hangs completely or does not start at all. This occurs in particular when unshielded and non-twisted cables are used or when the data lines CAN-H and CAN-L are touched by hand or these lines come into high-resistance connection with GND or + 12V. The CAN bus can only be revived if the voltage is completely switched off and all systems are then restarted. Such problems do not occur if the CAN bus is correctly terminated and suitable cables and plug connections are used.<\/p>","protected":false},"excerpt":{"rendered":"<p>First of all, here are a few important tips that you should definitely pay attention to. The task on older boats is often to connect different sensor networks and exchange data between the buses such as NMEA0183 and NMEA2000. In addition, you would like to transfer the data via WiFi and view it on a tablet or make it available to navigation apps. For that\u2026 <a href=\"https:\/\/open-boat-projects.org\/en\/nmea2000-gateway-mit-m5stack-atom\/\" class=\"more-link\">Read more <span class=\"screen-reader-text\">NMEA2000 gateway with M5Stack Atom<\/span><\/a><\/p>","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-2166","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/pages\/2166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/comments?post=2166"}],"version-history":[{"count":137,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/pages\/2166\/revisions"}],"predecessor-version":[{"id":5372,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/pages\/2166\/revisions\/5372"}],"wp:attachment":[{"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/media?parent=2166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/categories?post=2166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/tags?post=2166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}