{"id":125,"date":"2019-11-26T11:17:20","date_gmt":"2019-11-26T11:17:20","guid":{"rendered":"https:\/\/open-boat-projects.org\/?page_id=125"},"modified":"2022-12-19T09:56:11","modified_gmt":"2022-12-19T09:56:11","slug":"pypilot","status":"publish","type":"page","link":"https:\/\/open-boat-projects.org\/en\/pypilot\/","title":{"rendered":"pyPilot"},"content":{"rendered":"<p><a href=\"https:\/\/open-boat-projects.org\/en\/wichtige-hinweise\/\" target=\"_blank\" rel=\"noopener\"><em><strong>First of all, a few important notes that you should definitely pay attention to.<\/strong><\/em><\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1065 size-large\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/1-1024x576.jpg\" alt=\"\" width=\"952\" height=\"536\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/1-1024x576.jpg 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/1-300x169.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/1-768x432.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/1-1536x864.jpg 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/1-2048x1152.jpg 2048w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/1-16x9.jpg 16w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<p>Fig .: PyPilot components<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/www.youtube.com\/embed\/Xom0VU44aaA\" width=\"560\" height=\"314\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>Video: PyPilot in action<\/p>\n<p><a href=\"https:\/\/pypilot.org\" target=\"_blank\" rel=\"noopener noreferrer\">pyPilot<\/a> is an open-source autopilot (hard- and software) written by Sean D'Epagnier.<br \/>\nFeatures:<\/p>\n<ul>\n<li>automatic sensor calibration<\/li>\n<li>steering modes\n<ul>\n<li>compass<\/li>\n<li>GPS<\/li>\n<li>apparent wind<\/li>\n<li>true wind<\/li>\n<\/ul>\n<\/li>\n<li>signalK und nmea0183 communication protocol<\/li>\n<li>OpenCPN integration<\/li>\n<li>low power consumption<\/li>\n<\/ul>\n<p>user experience: <a href=\"http:\/\/phoenixketch.blogspot.com\/2019\/01\/pypilot-open-source-marine-autopilot.html\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/phoenixketch.blogspot.com<\/a><br \/>\nVideo: <a href=\"https:\/\/youtu.be\/IMqUmcTbQOE\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/youtu.be\/IMqUmcTbQOE<\/a><br \/>\nIBT-2 based motor controller: <a href=\"https:\/\/hackaday.io\/project\/168592-opencpn-chart-plotter-w-autopilot-and-waypoints\" target=\"_blank\" rel=\"noopener\">https:\/\/hackaday.io\/project\/168592-opencpn-chart-plotter-w-autopilot-and-waypoints<\/a><\/p>\n<p>Andreas (german sailing-forum) set up an easy-build, made of these 3  modules:<\/p>\n<ul>\n<li>compass and gyroscope\n<ul>\n<li>MPU9260 \/ 6500<\/li>\n<\/ul>\n<\/li>\n<li>main PCB\n<ul>\n<li>Raspi Zero W.<\/li>\n<li>Arduino Uno (motor controller)<\/li>\n<li>double BTS7960B H-bridge IBT-2 (motor-driver)<\/li>\n<\/ul>\n<\/li>\n<li>keyboard and display\n<ul>\n<li>8 touch-buttons TTP223<\/li>\n<li>LCD display JLX12864<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>All parts (except pcb) are widely available standard components.<br \/>\nExtensive manual (EN and DE) <span data-offset-key=\"3gnfa-0-0\"><a href=\"https:\/\/github.com\/AndreasW29\/pypilot-tinypilot-mysolution-infos\/tree\/main\/guide\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/AndreasW29\/pypilot-tinypilot-mysolution-infos\/tree\/main\/guide<\/a><\/span><\/p>\n<p>German sailing-forum thread:<br \/>\n<a href=\"https:\/\/www.segeln-forum.de\/thread\/68916-pypilot\/?pageNo=1\" target=\"_blank\" rel=\"noopener\">https:\/\/www.segeln-forum.de\/thread\/68916-pypilot\/?pageNo=1<\/a><\/p>\n<p>A comprehensive workbook in English can be found here:<\/p>\n<p><a href=\"https:\/\/github.com\/pypilotWorkbook\/workbook\/wiki\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/pypilotWorkbook\/workbook\/wiki<\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1070 size-large\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/11-1024x576.jpg\" alt=\"\" width=\"952\" height=\"536\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/11-1024x576.jpg 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/11-300x169.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/11-768x432.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/11-1536x864.jpg 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/11-2048x1152.jpg 2048w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/11-16x9.jpg 16w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<p>Fig .: Test setup<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1071 size-large\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/12-1024x576.jpg\" alt=\"\" width=\"952\" height=\"536\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/12-1024x576.jpg 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/12-300x169.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/12-768x432.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/12-1536x864.jpg 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/12-2048x1152.jpg 2048w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/12-16x9.jpg 16w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<p>Fig .: Test setup<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1072 size-large\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/20-1024x576.jpg\" alt=\"\" width=\"952\" height=\"536\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/20-1024x576.jpg 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/20-300x169.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/20-768x432.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/20-1536x864.jpg 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/20-2048x1152.jpg 2048w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/20-16x9.jpg 16w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<p>Fig .: Main board unequipped<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1066 size-large\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/2-1024x576.jpg\" alt=\"\" width=\"952\" height=\"536\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/2-1024x576.jpg 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/2-300x169.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/2-768x432.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/2-1536x864.jpg 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/2-2048x1152.jpg 2048w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/2-16x9.jpg 16w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<p>Fig .: Main board fitted<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1067 size-large\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/3-1024x576.jpg\" alt=\"\" width=\"952\" height=\"536\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/3-1024x576.jpg 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/3-300x169.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/3-768x432.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/3-1536x864.jpg 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/3-2048x1152.jpg 2048w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/3-16x9.jpg 16w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<p>Fig .: 9-axis AHRS<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1068 size-large\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/4-1024x576.jpg\" alt=\"\" width=\"952\" height=\"536\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/4-1024x576.jpg 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/4-300x169.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/4-768x432.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/4-1536x864.jpg 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/4-2048x1152.jpg 2048w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/4-16x9.jpg 16w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<p>Fig .: Control unit with waterproof touch buttons<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1069 size-large\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/5-1024x576.jpg\" alt=\"\" width=\"952\" height=\"536\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/5-1024x576.jpg 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/5-300x169.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/5-768x432.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/5-1536x864.jpg 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/5-2048x1152.jpg 2048w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/12\/5-16x9.jpg 16w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<p>Fig .: LCD display in the control unit (the sprue nozzle still disturbs a little)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1603 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/7-rotated.jpg\" alt=\"\" width=\"1000\" height=\"563\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/7-rotated.jpg 1000w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/7-300x169.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/7-768x432.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/7-16x9.jpg 16w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Fig .: Ready-to-install controller unit with power driver, Arduino Uno and Raspberry Zero<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1602 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/71-rotated.jpg\" alt=\"\" width=\"1000\" height=\"563\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/71-rotated.jpg 1000w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/71-300x169.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/71-768x432.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/71-16x9.jpg 16w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Fig .: Controller unit, operating unit, gyro and actuator from pcnautic<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1601 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/72.jpg\" alt=\"\" width=\"1000\" height=\"563\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/72.jpg 1000w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/72-300x169.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/72-768x432.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/72-16x9.jpg 16w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Fig .: Built-in PyPilot<\/p>\n<p>If you don&#039;t want to set up the PyPilot yourself, you can also go to <a href=\"https:\/\/pcnautic.nl\/nl\/autopilot\/pcnautic-autopilot-detail\" target=\"_blank\" rel=\"noopener\">pcnautic<\/a> 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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1590 size-large\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot-Set-1024x683.jpg\" alt=\"\" width=\"952\" height=\"635\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot-Set-1024x683.jpg 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot-Set-300x200.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot-Set-768x512.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot-Set-16x12.jpg 16w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot-Set.jpg 1200w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<p>Fig .: PyPilot components from pcnautic<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1591 size-large\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot-1024x654.jpg\" alt=\"\" width=\"952\" height=\"608\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot-1024x654.jpg 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot-300x192.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot-768x490.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot-16x10.jpg 16w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Autopilot.jpg 1035w\" sizes=\"auto, (max-width: 952px) 100vw, 952px\" \/><\/p>\n<p>Fig .: Actuator, operating and controller unit and power driver from pcnautic<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1593 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Back-ControlHead.jpg\" alt=\"\" width=\"863\" height=\"657\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Back-ControlHead.jpg 863w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Back-ControlHead-300x228.jpg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Back-ControlHead-768x585.jpg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/05\/Back-ControlHead-16x12.jpg 16w\" sizes=\"auto, (max-width: 863px) 100vw, 863px\" \/><\/p>\n<p>Fig .: Rear of the operating and controller unit with USB port and connection for the control cable to the power unit<\/p>\n<p>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: <a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/06\/Wechsel-Poti-Ruderlage-PCnautic.pdf\" target=\"_blank\" rel=\"noopener\">Repair instructions rudder position sensor<\/a><\/p>\n<p>The rudder angle is internally <a href=\"https:\/\/www.mouser.de\/ProductDetail\/Bourns\/3590S-2-103L?qs=%2Fha2pyFadugTzqunliXfyar0qWYdGLx6cLfuSx8UUp5uIyyA6X5EHA==\" target=\"_blank\" rel=\"noopener\">10kOhm 10-turn potentiometer<\/a> 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&#039;s another one\u00a0 <a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/06\/YHBA9-19062002.pdf\" target=\"_blank\" rel=\"noopener\">Data sheet for the linear actuator<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>First, a few important tips that you should definitely observe. Fig.: PyPilot components Video: PyPilot in action pyPilot is open source autopilot hardware and software by Sean D&#039;Epagnier. Features: automatic sensor calibration modes compass GPS apparent wind true wind SignalK and Nmea0183 protocol OpenCPN integration low power consumption user-experiance: http:\/\/phoenixketch.blogspot.com video: https:\/\/youtu.be\/IMqUmcTbQOE IBT-2 based motor -controller: https:\/\/hackaday.io\/project\/168592-opencpn-chart-plotter-w-autopilot-and-waypoints Andreas from... <a href=\"https:\/\/open-boat-projects.org\/en\/pypilot\/\" class=\"more-link\">Read more <span class=\"screen-reader-text\">pyPilot<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[40,39,37],"tags":[],"class_list":["post-125","page","type-page","status-publish","hentry","category-openhardware","category-opensource","category-projects"],"_links":{"self":[{"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/pages\/125","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/comments?post=125"}],"version-history":[{"count":26,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/pages\/125\/revisions"}],"predecessor-version":[{"id":3993,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/pages\/125\/revisions\/3993"}],"wp:attachment":[{"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/media?parent=125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/categories?post=125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/tags?post=125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}