{"id":171,"date":"2016-07-29T08:05:14","date_gmt":"2016-07-29T14:05:14","guid":{"rendered":"https:\/\/twopotatoe.net\/?page_id=171"},"modified":"2019-12-27T17:18:15","modified_gmt":"2019-12-28T00:18:15","slug":"how-threepotatoe-works","status":"publish","type":"page","link":"https:\/\/twopotatoe.net\/?page_id=171","title":{"rendered":"ThreePotatoe"},"content":{"rendered":"<p><iframe loading=\"lazy\" title=\"TwoPotatoe introduces TheePotatoe\" width=\"580\" height=\"435\" src=\"https:\/\/www.youtube.com\/embed\/DmCoBMudaRs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h2>Hacking options<\/h2>\n<p>This project was started with the simple goal of seeing if it could be done. &nbsp;I simply wanted to see if I could control a hoverboard remotely. &nbsp;I can see three basic approaches:<\/p>\n<ol>\n<li>Pull the &#8220;gyro boards&#8221; out of the hoverboard and attach them to servos. &nbsp;The servo can tilt the gyro boards just like a normal rider would do.<\/li>\n<li>Cut the I2C wires that go from the gyro boards to the main controller and have a microprocessor do the controlling directly.<\/li>\n<li>Remove the main microprocessor board and control the motors directly. &nbsp;In this case, the algorithms from TwoPotatoe could be used directly.<\/li>\n<\/ol>\n<p>The first two approaches produce essentially the same result. &nbsp;I didn&#8217;t really want to sniff the I2C lines so I went with the first approach.<\/p>\n<p>The third approach is the most intriguing but, by far, the most difficult. &nbsp;It would mean either building new controllers for the brushless DC motors or somehow hacking the existing mosfets in&nbsp;the existing board. &nbsp;The resulting performance using this approach would be truly awesome. I would expect that quite high speeds are possible and a variety of &#8220;tricks&#8221; would also be possible. &nbsp;Given the weight and probable speed, it might even be rather dangerous.<\/p>\n<h2>Construction<\/h2>\n<p>There are two&nbsp;gyro boards, one under each foot of the rider. &nbsp;These boards contain an&nbsp;Invensense MPU-6050 IMU and sense the tilt of the foot bed. &nbsp;These boards were removed from the hoverboard and&nbsp;<span style=\"text-decoration: underline;\">all<\/span> of the wires, including the LED wires, were run up into the body where they were attached to a tilting mechanism &nbsp;with a servo for each one. &nbsp;To go forward the servos simply tilt both of the boards &nbsp;forward. &nbsp;To turn, the boards are tilted in opposite directions. &nbsp;Unlike TwoPotatoe, there is no balancing code; all of the balancing is done by the existing microprocessor in the hoverboard. &nbsp;Therefore, this arrangement has all of the limitations of a stock hoverboard, including speed. &nbsp;The general layout should be apparent in the two photos:<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/twopotatoe.net\/wp-content\/uploads\/2016\/07\/Three-1-e1469800865976.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-174\" src=\"https:\/\/twopotatoe.net\/wp-content\/uploads\/2016\/07\/Three-1-e1469800865976-150x150.jpg\" alt=\"Three-1\" width=\"380\" height=\"380\"><\/a><\/p>\n<p><a href=\"https:\/\/twopotatoe.net\/wp-content\/uploads\/2016\/07\/Three-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-175\" src=\"https:\/\/twopotatoe.net\/wp-content\/uploads\/2016\/07\/Three-2-150x150.jpg\" alt=\"Three-2\" width=\"377\" height=\"377\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hacking options This project was started with the simple goal of seeing if it could be done. &nbsp;I simply wanted to see if I could control a hoverboard remotely. &nbsp;I can see three basic approaches: Pull the &#8220;gyro boards&#8221; out of the hoverboard and attach them to servos. &nbsp;The servo can tilt the gyro boards [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":6,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-171","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/twopotatoe.net\/index.php?rest_route=\/wp\/v2\/pages\/171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twopotatoe.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/twopotatoe.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/twopotatoe.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/twopotatoe.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=171"}],"version-history":[{"count":5,"href":"https:\/\/twopotatoe.net\/index.php?rest_route=\/wp\/v2\/pages\/171\/revisions"}],"predecessor-version":[{"id":300,"href":"https:\/\/twopotatoe.net\/index.php?rest_route=\/wp\/v2\/pages\/171\/revisions\/300"}],"wp:attachment":[{"href":"https:\/\/twopotatoe.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}