An ESP32 Development Board For Sailors

[Matti Airas] wanted to have a better electronics platform for making his boat smarter, more connected, and safer. He found traditional marine electronics expensive and not suited for hacking and tinkering. There was also the issue of lack of interoperability between device generations from the same supplier and between different brands. This led him to design the Sailor Hat with ESP32 — a marine specific, open source hardware development board.

Applications include all kinds of sensor and control interfaces for the boat, such as measurement of fuel or water level, engine RPM, anchoring chain length counter, or setting up smart lighting or smart refrigeration control. The board is designed to work with the traditional NMEA 2000 standard, as well as with Signal K. NMEA 2000 is standardized as IEC 61162-3, but isn’t open source or free. Signal K, on the other hand, is free and open source, and can co-exist alongside NMEA 2000.

The marine environment can be pretty harsh with extremes of temperature, rain, humidity, condensation and vibration. Boats, just like automobiles, have a notoriously noisy electrical environment and [Matti] has paid special attention to noise and surge suppression throughout the board. The board can work with either 12 V or 24 V bus systems since the on board DC-DC converter is rated up to 32 V input. Connections between the board and the outside world need to be very robust, so it is designed to accept various types of connectors depending on how robust you want it to be.

The Sailor Hat is based around a standard ESP32-WROOM-32 module. Interfaces include a CAN bus transceiver, opto-coupled input and output, I2C, 1-wire and QWIIC interfaces, USB Micro-B programming conector, plus a couple of buttons and LEDs. All of the ESP32 GPIO pins are terminated on a GPIO header, with jumper options to disable terminations to the standard interfaces and instead route them to the GPIO header as needed. Additionally, there’s a generous prototyping area to add additional hardware to the board. Hardware design files are hosted on the project repository on GitHub.

On the software side, there are several frameworks that can be used, with PlatformIO, SensESP, ESPHome and Visual Studio Code being the recommended choices. Or you could use any of the widely available SDK’s for the ESP32 platform — Espressif SDK, Arduino Core for ESP32, MicroPython, NodeMCU or Rust.

[Matti]’s NMEA 2000 USB gateway example is a good way to get a grip on hardware assembly and software installation required to build a practical project using the Sailor Hat. The board is designed to withstand a harsh electrical environment. But it’s mechanical installation obviously requires greater care if it has to survive marine applications. The Sailor Hat can be installed in commonly available, 100x68x50 mm or larger plastic waterproof enclosures, rated for IP65 or higher. The bulkhead connectors and cable glands also need to be appropriately rated, and the enclosure may possibly need a IP68 rated ventilation plug to take care of environmental cycling within the enclosure.