Skip to content

JoacimV/RaymarineESP32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intro

billede

I wanted an extra way to control my boat's Raymarine autopilot, so I built a simple remote control using an ESP32, MCP2515 CAN Bus module, and some buttons. The remote sends commands to the autopilot over the NMEA2000 network.

The remotes capabilities are basic, but it gets the job done. It has buttons for AUTO, STANDBY, +10 degrees, and -10 degrees. The remote connects to the NMEA2000 network using a MCP2515 CAN Bus module.

This remote costs around 15€ to build, which is significantly cheaper than buying a commercial remote (730€ as of writing this).

The remote connects to the NMEA2000 network, so you need to connect your SeaTalkNG network to your NMEA2000 network, with a NMEA2000 adapter cable.

It currently only works with Raymarine autopilots that support the NMEA2000 protocol, such as the EV-100 and EV-200 series. (I have tested it with EV-100).

Hardware

3D Printed Case

I designed the case using blender and printed it with BambuLab PLA Matte. You can find the STL files in the case directory of this repository.

Pins

ESP32 Pin MCP2515 Pin Description
GPIO5 CS Chip Select
GPIO18 SCK Serial Clock
GPIO19 SO Master In Slave Out
GPIO23 SI Master Out Slave In

To power the MCP2515 module, connect the VCC and GND pins to a 5V power on the expansion board. NMEA2000 power goes to the expansion board through a type b connector.

NMEA white and blue wire go to the MCP2515 module, blue wire to CANL and white wire to CANH.

Wiring for buttons:

Button ESP32 Pin Description
AUTO GPIO13 Button Input
STANDBY GPIO12 Button Input
+10 GPIO14 Button Input
-10 GPIO26 Button Input

Wiring for buzzer:

Buzzer Pin ESP32 Pin Description
+ GPIO4 Buzzer Input
GND GND Ground

Software

This project is built using PlatformIO.

The raymarine pilot commands are greatly inspired by this project.

Running the Code

On ESP32

  1. Install PlatformIO IDE in Visual Studio Code.
  2. Clone this repository to your local machine.
  3. Open the project in Visual Studio Code.
  4. Connect your ESP32 to your computer via USB.
  5. Select the correct board and port in PlatformIO.
  6. Click the "Upload" button in PlatformIO to compile and upload the code to your ESP32.

On your PC

  1. Install PlatformIO IDE in Visual Studio Code.
  2. Clone this repository to your local machine.
  3. Open the project in Visual Studio Code.
  4. Open PlatformIO and hit the Build button.

Disclaimer

This project is provided as-is without any warranties. Use it at your own risk. The author is not responsible for any damage or issues that may arise from using this project.

Libraries

About

NMEA2000 Autopilot control for Raymarine

Topics

Resources

Stars

Watchers

Forks

Contributors