{"id":11356,"date":"2026-05-27T09:41:49","date_gmt":"2026-05-27T09:41:49","guid":{"rendered":"https:\/\/8657085.xyz\/?p=11356"},"modified":"2026-05-27T09:41:49","modified_gmt":"2026-05-27T09:41:49","slug":"etchbot-makes-an-etch-a-sketch-draw-portraits-in-about-a-minute-and-play-videos-frame-by-frame","status":"publish","type":"post","link":"https:\/\/8657085.xyz\/?p=11356","title":{"rendered":"Etchbot Makes an Etch-a-Sketch Draw Portraits in About a Minute and Play Videos Frame by Frame"},"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 decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/27004308\/etchbot-etch-a-sketch-robot-portraits-video.jpg\" alt=\"Etchbot Etch-a-Sketch Robot Portraits Video\" width=\"1280\" height=\"853\"\/><br \/>Every Flavor of Robot built Etchbot to stand out at the OpenSauce event. The machine sketches a complete portrait on a regular Etch-a-Sketch in roughly sixty seconds. It also accepts video files and renders them by sketching one frame after another while a camera records each result. The finished time-lapse clips show the classic toy screen updating rapidly enough to convey motion. <\/p>\n<p><span id=\"more-244532\"\/><br \/><iframe title=\"We Took Our Etch-A-Sketch Robot to OpenSauce\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/p4cUWCG7fM4?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=\"We Took Our Etch-A-Sketch Robot to OpenSauce\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/p4cUWCG7fM4?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 \/>The builders started with the basic challenge of any Etch-a-Sketch robot. Two knobs move a stylus that never lifts from the drawing surface. Mechanical play, called backlash, appears whenever a knob changes direction. Friction and slight slippage add more error at higher speeds. Earlier machines handled these problems by moving slowly and carefully.<\/p>\n<div class=\"aawp\">\n<div class=\"aawp-product aawp-product--horizontal aawp-product--ribbon aawp-product--sale\" data-aawp-product-asin=\"B0GVRS9G4P\" data-aawp-product-id=\"238346\" data-aawp-tracking-id=\"tec02e-20\" data-aawp-product-title=\"TCL NXTPAPER 11 Plus Android Tablet 11.5  120Hz 2.2K Drawing Pad &amp; Digital Notebook 4096-Level Stylus &amp; Flip Case Included NXTPAPER 4.0 Display AI Tools 8+8GB RAM 256GB Storage 8000mAh Battery\">\n<p>    <span class=\"aawp-product__ribbon aawp-product__ribbon--sale\">Sale<\/span><\/p>\n<div class=\"aawp-product__thumb\">\n<p>            <img decoding=\"async\" class=\"aawp-product__image\" src=\"https:\/\/m.media-amazon.com\/images\/I\/41DwLzEJ+2L._SL160_.jpg\" alt=\"TCL NXTPAPER 11 Plus Android Tablet, 11.5' 120Hz 2.2K Drawing Pad &amp; Digital Notebook, 4096-Level Stylus...\"\/><\/p><\/div>\n<div class=\"aawp-product__content\">\n<p>            TCL NXTPAPER 11 Plus Android Tablet, 11.5&#8243; 120Hz 2.2K Drawing Pad &amp; Digital Notebook, 4096-Level Stylus&#8230;        <\/p>\n<div class=\"aawp-product__description\">\n<ul>\n<li>Tablet, Drawing Pad, and Digital Notebook \u2014 All in One: Designed for artists, students, professionals, and entertainment users, the TCL NXTPAPER&#8230;<\/li>\n<li>NXTPAPER 4.0 Display for Enhanced Eye Comfort: With upgraded NXTPAPER 4.0 technology, this tablet offers a more natural, paper-like viewing&#8230;<\/li>\n<li>AI-Powered Productivity &amp; Communication: The TCL NXTPAPER 11 Plus note taking tablet integrates smart tools like voice memo, real-time bilingual&#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\/05\/27005000\/etchbot-etch-a-sketch-robot-portraits-video-1.jpg\" alt=\"Etchbot Etch-a-Sketch Robot Portraits Video\" width=\"1280\" height=\"720\"\/><br \/>\nHowever, Etchbot adopted a different approach because it has a lot more muscle and is smarter than the older machines. The team designed a custom motherboard dubbed MotorGo AXIS, which includes two brushless motor drivers as well as an ESP32 microprocessor and simply slides on top of a Raspberry Pi. They chose Gartt drone motors because of their power and ease of use. Each motor was outfitted with a tiny magnet attached to the rotor as well as an encoder board to provide critical real-time feedback. With the MotorGo program conducting the calibration, the brushless motors were quickly turned into trustworthy servos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/27005015\/etchbot-etch-a-sketch-robot-portraits-video-4.jpg\" alt=\"Etchbot Etch-a-Sketch Robot Portraits Video\" width=\"1280\" height=\"720\"\/><br \/>These servos just slide into the Etch-a-Sketch knobs, and the Raspberry Pi handles the picture and video preparation. It\u2019s all made simple using a web interface that allows anyone to upload a file. The system then reduces the supplied data to the appropriate size for the toy\u2019s screen, removes any background, converts the output to clean line work, and generates motion commands in GCODE format. There are some further stages that clean up any stray points and determine the most efficient route between various lines so that the stylus does not waste hours retracing the same empty region.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/27005005\/etchbot-etch-a-sketch-robot-portraits-video-2.jpg\" alt=\"Etchbot Etch-a-Sketch Robot Portraits Video\" width=\"1280\" height=\"720\"\/><br \/>The GCODE is then delivered over WiFi to the MotorGo board, where it is translated into motor movement by a motion controller, but it also includes an extra bit of logic that corrects for backlash whenever the direction changes. To keep things pleasant and stable, acceleration restrictions are set so that the internal mechanism does not receive any abrupt jolts. Between each drawing, the algorithm simply returns the pen to a known safe location, ensuring that any subsequent sketches remain fully visible. The video mode just repeats the same process, one frame at a time, which is essentially the same as sketching a single picture but for dozens or hundreds of images. The camera captures each final frame, which is then stitched together to generate a video clip.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/05\/27005010\/etchbot-etch-a-sketch-robot-portraits-video-3.jpg\" alt=\"Etchbot Etch-a-Sketch Robot Portraits Video\" width=\"1280\" height=\"720\"\/><br \/>Speed is all about the mix of powerful servos and tailored compensation, rather than any single magic component that makes it all work. Portraits that took minutes to complete now take only one minute. The video side works in the same way, with the hardware keeping up with video frames because each drawing is completed before the next one begins, and to keep the surface looking decent, an eraser function or screen clear step is added between each frame. The entire project is open source, with all of the driver code, server backend, web interface, and MotorGo board design files available on GitHub. In addition to the custom board design files, everyone has access to the printed parts and assembly notes.<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 \/> Etchbot Makes an Etch-a-Sketch Draw Portraits in About a Minute and Play Videos Frame by Frame<br \/>\n<br \/>#Etchbot #EtchaSketch #Draw #Portraits #Minute #Play #Videos #Frame #Frame<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Every Flavor of Robot built Etchbot to stand out at the OpenSauce event. The machine&#8230;<\/p>\n","protected":false},"author":1,"featured_media":11357,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[938,10905,10904,4986,9452,3069,10906,933],"class_list":["post-11356","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-draw","tag-etchasketch","tag-etchbot","tag-frame","tag-minute","tag-play","tag-portraits","tag-videos"],"featured_image_urls":{"full":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video.jpg",1280,853,false],"thumbnail":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video-150x150.jpg",150,150,true],"medium":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video-300x200.jpg",300,200,true],"medium_large":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video-768x512.jpg",640,427,true],"large":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video-1024x682.jpg",640,426,true],"1536x1536":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video.jpg",1280,853,false],"2048x2048":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video.jpg",1280,853,false],"covernews-slider-full":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video-1115x715.jpg",1115,715,true],"covernews-slider-center":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video-800x500.jpg",800,500,true],"covernews-featured":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video-1024x682.jpg",1024,682,true],"covernews-medium":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video-540x340.jpg",540,340,true],"covernews-medium-square":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/05\/etchbot-etch-a-sketch-robot-portraits-video-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\/11356","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=11356"}],"version-history":[{"count":0,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts\/11356\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/media\/11357"}],"wp:attachment":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}