Fig .: PyPilot components
Video: PyPilot in action
pyPilot is an open-source autopilot (hard- and software) written by Sean D'Epagnier.
- automatic sensor calibration
- steering modes
- apparent wind
- true wind
- signalK und nmea0183 communication protocol
- OpenCPN integration
- low power consumption
user experience: http://phoenixketch.blogspot.com
IBT-2 based motor controller: https://hackaday.io/project/168592-opencpn-chart-plotter-w-autopilot-and-waypoints
Andreas (german sailing-forum) set up an easy-build, made of these 3 modules:
- compass and gyroscope
- MPU9260 / 6500
- main PCB
- Raspi Zero W.
- Arduino Uno (motor controller)
- double BTS7960B H-bridge IBT-2 (motor-driver)
- keyboard and display
- 8 touch-buttons TTP223
- LCD display JLX12864
All parts (except pcb) are widely available standard components.
Extensive manual (EN and DE) https://github.com/AndreasW29/pypilot-tinypilot-mysolution-infos/tree/main/guide
A comprehensive workbook in English can be found here:
Fig .: Test setup
Fig .: Test setup
Fig .: Main board unequipped
Fig .: Main board fitted
Fig .: 9-axis AHRS
Fig .: Control unit with waterproof touch buttons
Fig .: LCD display in the control unit (the sprue nozzle still disturbs a little)
Fig .: Ready-to-install controller unit with power driver, Arduino Uno and Raspberry Zero
Fig .: Controller unit, operating unit, gyro and actuator from pcnautic
Fig .: Built-in PyPilot
If you don't want to set up the PyPilot yourself, you can also go to pcnautic buy a fully assembled and programmed system. The Raspberry Pi and the 9-axis motion sensor are located in the control housing. This therefore requires a fixed installation of the control unit in order to ensure a fixed alignment of the motion sensor to the boat. On the back of the control unit there is a USB socket via which a NMEA0183 bus can be connected via an RS485 / USB adapter. Course data from a plotter, GPS or wind data can then be fed in, which can then be incorporated into the course calculation. SeaTalk and NMEA2000 can also be connected via corresponding USB gateway modules, which can also be obtained from pcnautic.
Fig .: PyPilot components from pcnautic
Fig .: Actuator, operating and controller unit and power driver from pcnautic
Fig .: Rear of the operating and controller unit with USB port and connection for the control cable to the power unit
If you only bought the linear actuator from pcnautic to use it on the PyPilot and have problems with the rudder position sensor, you will find repair instructions from Michael here: Repair instructions rudder position sensor
The rudder angle is internally 10kOhm 10-turn potentiometer used. If it is connected incorrectly, the potentiometer can burn out in the end positions, because then the resistance becomes too small and the high current thermally destroys the potentiometer. You can prevent the whole thing by installing a 1kOhm resistor in series at the center connection, which limits the current. Here's another one Data sheet for the linear actuator.