{"id":22185,"date":"2026-09-19T19:43:38","date_gmt":"2026-09-19T19:43:38","guid":{"rendered":"https:\/\/8657085.xyz\/?p=22185"},"modified":"2026-09-19T19:43:38","modified_gmt":"2026-09-19T19:43:38","slug":"this-custom-built-jumping-cube-robot-sticks-the-landing-on-one-edge","status":"publish","type":"post","link":"https:\/\/8657085.xyz\/?p=22185","title":{"rendered":"This Custom-Built Jumping Cube Robot Sticks the Landing on One Edge"},"content":{"rendered":"<p> <div style=\"display: grid; grid-template-columns: 300px 160px; gap: 2px; width: 460px; background: #eee; padding: 2px;\">\r\n\r\n  <!-- \u6574\u884c\u5bbd\u5e7f\u544a -->\r\n  <div style=\"grid-column: 1\/-1; width: 460px; height: 250px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876674\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  <div style=\"grid-column: 1\/-1; width: 460px; height: 90px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876676\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n\r\n  <!-- \u5de6\u4fa7\u7ad6\u6392 -->\r\n  <div style=\"height: 250px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876672\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  <div style=\"height: 500px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876680\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n\r\n  <!-- \u53f3\u4fa7\u6469\u5929\u697c\uff08\u548c\u5de6\u4fa7\u5b8c\u5168\u5bf9\u9f50\uff09 -->\r\n  <div style=\"grid-row: 3\/5; height: 750px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876678\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  \r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e6\" data-zoneid=\"5876682\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n<\/div><br \/>\n<\/p>\n<div>\n<p><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/09\/19110038\/diy-jumping-cube-project-robot.jpg\" alt=\"DIY Jumping Cub Project Robot\" width=\"960\" height=\"961\"\/><br \/>You already know how a cube is supposed to behave. Toss one onto a table and it tumbles, bounces, and settles on a face. That expectation is the reason this build exists. A maker who posts as The Tinkering Techie spent a few weeks packing motors, a reaction wheel, and a spring piston into a five inch black cube so it could do the opposite. It sits on a small foot, fires that foot, flies, rights itself in the air, and comes down on an edge, then it stays there.<\/p>\n<p><span id=\"more-258548\"\/><br \/><iframe title=\"Making a Jumping Cube Stick the Landing\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/ZonPpxvV6KU?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><noscript><iframe title=\"Making a Jumping Cube Stick the Landing\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/ZonPpxvV6KU?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><\/noscript><br \/>All of its moving parts are hidden inside a 5-inch box that is practically unmarked. One side has a small foot on it. Another motor turns a spring-loaded piston back into the box. When you pop the piston back in, the small foot slams down on the table with enough energy to send the entire thing flying. Originally, the launcher parts were too flimsy for the purpose, but swapping to stainless steel rods and a sector gear solved the problem. After an early try using perf board, custom circuit boards from PCBWay, 3D printed parts, and some CNC cutting were necessary to get everything started.<\/p>\n<div class=\"aawp\">\n<div class=\"aawp-product aawp-product--horizontal\" data-aawp-product-asin=\"B07KPZ8RSZ\" data-aawp-product-id=\"255595\" data-aawp-tracking-id=\"tec02e-20\" data-aawp-product-title=\"ELEGOO UNO R3 Smart Robot Car Kit V4 with Camera Compatible with Arduino\">\n<div class=\"aawp-product__thumb\">\n<p>            <img decoding=\"async\" class=\"aawp-product__image\" src=\"https:\/\/m.media-amazon.com\/images\/I\/51HWb2FqOwL._SL160_.jpg\" alt=\"ELEGOO UNO R3 Smart Robot Car Kit V4 with Camera, Compatible with Arduino\"\/><\/p><\/div>\n<div class=\"aawp-product__content\">\n<p>            ELEGOO UNO R3 Smart Robot Car Kit V4 with Camera, Compatible with Arduino        <\/p>\n<div class=\"aawp-product__description\">\n<ul>\n<li>BUILD, CODE &amp; DRIVE YOUR OWN ROBOT CAR: Turn coding, electronics and engineering into a working programmable robot car you can assemble, program and&#8230;<\/li>\n<li>EXPLORE FPV, LINE TRACKING &amp; OBSTACLE AVOIDANCE: Control the robot with the ELEGOO app or IR remote, view live FPV video through the onboard camera&#8230;<\/li>\n<li>BEGINNER-FRIENDLY BUILD WITH GUIDED WIRING: Keyed XH2.54 connectors help reduce wiring mistakes, while the illustrated tutorial and example programs&#8230;<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<p>\n<img decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/09\/19110024\/diy-jumping-cube-project-robot-1.jpg\" alt=\"DIY Jumping Cub Project Robot\" width=\"1280\" height=\"720\"\/><br \/>\nA brushless motor inside the shell spins a reaction wheel. That wheel does not actually press against anything because the entire force is in the rotation. Change its speed, and the cube body will twist instantaneously; in flight, this wheel also aids in turning the cube so that the chosen edge is always facing downward. When it strikes the ground, the wheel just keeps rolling, preventing the box from bouncing onto a face. The IMU monitors the cube\u2019s tilt and motion using a gyroscope and an accelerometer. Early software only trusted the gyro for 30 milliseconds after impact, which was just insufficient. Increasing that window to a full second gives the controller just enough time to ride off the bounce and maintain the edge level.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/09\/19110029\/diy-jumping-cube-project-robot-2.jpg\" alt=\"DIY Jumping Cub Project Robot\" width=\"1280\" height=\"720\"\/><br \/>The control system is housed on a custom PCB designed around an ESP32, and the SimpleFOC firmware that runs on it performs well in operating the brushless motor with the precision required for a balancing act like this. A lithium cell provides power and feeds the motors. At the moment, the cube is programd to always land on the same edge, but the same hardware should be able to target any of the three other parallel edges. However, getting the corners to balance will be a very separate challenge.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/09\/19110034\/diy-jumping-cube-project-robot-3.jpg\" alt=\"DIY Jumping Cub Project Robot\" width=\"1280\" height=\"720\"\/><br \/>Building this thing was meant to take two weeks, but it took closer to three and a half. The guides continued to flex, the piston bent, and landing balance was only achieved when sensor timing and mechanical stiffness caught up. When you watch the completed cube, everything seems to happen near effortlessly. The foot fires, the cube flies up, stabilizes itself, hits the table, and then holds firm, since your brain still expects a face to hit first, which is probably why the box is painted to resemble a blank black dice.<br \/><span>[Source]<\/span><\/p>\n<\/p><\/div>\n<p><!-- \u603b\u5bb9\u5668\uff1a\u6700\u5927\u5bbd908px Grid\u7d27\u51d1\u5e03\u5c40 -->\r\n<div style=\"display: grid; grid-template-columns: 728px 160px; gap:2px; width:908px; background:#eee; padding:2px;\">\r\n\r\n  <!-- \u901a\u680f\u9876\u90e8\uff1a\u6700\u5927\u6a2a\u5e45 908x258 \u8de8\u6574\u884c -->\r\n  <div style=\"grid-column:1\/-1; height:258px; background:#ff6b6b; display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114307\" data-width=\"908\" data-height=\"258\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114307});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n  <!-- \u7b2c\u4e8c\u901a\u680f\uff1a728\u00d790 \u901a\u680f -->\r\n  <div style=\"grid-column:1\/-1; height:90px; background:#4ecdc4; display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114300\" data-width=\"728\" data-height=\"90\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114300});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n  <!-- \u5de6\u4fa7\u4e3b\u680f\uff1a\u591a\u5e7f\u544a\u5806\u53e0 -->\r\n  <div style=\"display:grid; gap:2px;\">\r\n    <div style=\"height:60px; background:#45b7d1; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114308\" data-width=\"468\" data-height=\"60\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114308});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:250px; background:#ffe066; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114299\" data-width=\"300\" data-height=\"250\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114299});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:250px; background:#ff9ecd; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114305\" data-width=\"250\" data-height=\"250\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114305});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:139px; background:#c792ea; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114302\" data-width=\"133\" data-height=\"139\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114302});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:125px; background:#91e7ac; display:grid; place-items:center;\">\r\n\t\r\n<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114303\" data-width=\"125\" data-height=\"125\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114303});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n  <\/div>\r\n\r\n  <!-- \u53f3\u4fa7\u7ad6\u680f\uff1a160\u00d7600 \u6574\u5217\u9ad8\u5e7f\u544a -->\r\n  <div style=\"grid-row:3\/8; height:600px;  display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114301\" data-width=\"160\" data-height=\"600\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114301});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n<\/div><br \/>\n<br \/> This Custom-Built Jumping Cube Robot Sticks the Landing on One Edge<br \/>\n<br \/>#CustomBuilt #Jumping #Cube #Robot #Sticks #Landing #Edge<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You already know how a cube is supposed to behave. Toss one onto a table&#8230;<\/p>\n","protected":false},"author":1,"featured_media":22186,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[10539,2852,5872,9869,1356,305,14479],"class_list":["post-22185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-cube","tag-custombuilt","tag-edge","tag-jumping","tag-landing","tag-robot","tag-sticks"],"featured_image_urls":{"full":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot.jpg",960,961,false],"thumbnail":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot-150x150.jpg",150,150,true],"medium":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot-300x300.jpg",300,300,true],"medium_large":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot-768x769.jpg",640,641,true],"large":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot.jpg",640,641,false],"1536x1536":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot.jpg",960,961,false],"2048x2048":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot.jpg",960,961,false],"covernews-slider-full":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot-960x715.jpg",960,715,true],"covernews-slider-center":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot-800x500.jpg",800,500,true],"covernews-featured":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot.jpg",960,961,false],"covernews-medium":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot-540x340.jpg",540,340,true],"covernews-medium-square":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/09\/diy-jumping-cube-project-robot-400x250.jpg",400,250,true]},"author_info":{"display_name":"admin","author_link":"https:\/\/8657085.xyz\/?author=1"},"category_info":"<a href=\"https:\/\/8657085.xyz\/?cat=8\" rel=\"category\">Tech<\/a>","tag_info":"Tech","comment_count":"0","_links":{"self":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts\/22185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22185"}],"version-history":[{"count":0,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts\/22185\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/media\/22186"}],"wp:attachment":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}