CINXE.COM
Open-Source ESP32 Robotics Kit for Modular, AI-Powered Projects | Electronics Forum (Circuits, Projects and Microcontrollers)
<!DOCTYPE html> <html id="XF" lang="en-US" dir="LTR" data-app="public" data-template="thread_view_type_question" data-container-key="node-10" data-content-key="thread-166939" data-logged-in="false" data-cookie-prefix="xf_" data-csrf="1732426840,8fd4c0701df39c7beedb7662caa3baf9" class="has-no-js template-thread_view_type_question XenBase layout-classic style-light sidebar-right xb-toggle-default xb-sidebar-show" data-run-jobs=""> <head> <link rel="amphtml" href="https://www.electro-tech-online.com/threads/open-source-esp32-robotics-kit-for-modular-ai-powered-projects.166939/?amp=1"> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> <meta name="google-site-verification" content="8aECyKQ0jTEfZHF2mNguWwCvxcGSDIcHlRgLdE6BSCE" /> <!--Google ads code. Added 14/09/2020 -dm --> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { var pathParts = window.location.pathname.substr(1).split('/'); var mapHeader = googletag.sizeMapping() .addSize([768, 200], [728, 90]) .addSize([0, 0], [300, 250]) .build(); var mapLargeHeader = googletag.sizeMapping() .addSize([1024, 200], [[970, 90], [970, 250]]) .addSize([0, 0], [300, 250]) .build(); var mapWallpaper = googletag.sizeMapping() .addSize([1024, 500], [[1, 1]]) .addSize([0, 0], [[1, 1]]) .build(); var gptSlots = []; gptSlots[0] = googletag.defineSlot('/5272491/ee_network/eto_header', [[300, 250], [728, 90]], 'div-gpt-eto-header') .defineSizeMapping(mapHeader) .addService(googletag.pubads()); gptSlots[1] = googletag.defineSlot('/5272491/ee_network/eto_largeleader', [[970, 90], [970, 250]], 'div-gpt-eto_largeleader') .defineSizeMapping(mapLargeHeader) .addService(googletag.pubads()); gptSlots[2] = googletag.defineSlot('/5272491/ee_network/eto_wallpaper', [[1, 1]], 'div-gpt-eto_wallpaper') .defineSizeMapping(mapWallpaper) .addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eto_customsearchbox', [[300, 90]], 'div-gpt-eto_customsearchbox').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eto_sidebar1', [[300, 250], [300, 600]], 'div-gpt-eto_sidebar1').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eto_sidebarbottom', [[300, 250], [300, 600]], 'div-gpt-eto_sidebarbottom').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eto_thread1', [[728, 90]], 'div-gpt-eto_thread1').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eto_thread2', [[728, 90]], 'div-gpt-eto_thread2').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eto_thread3', [[728, 90]], 'div-gpt-eto_thread3').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.pubads().setTargeting('articletitle', pathParts[0] ? pathParts[0]: 'home-page'); googletag.enableServices(); }); </script> <!--End of Google ads code. Added 14/09/2020 -dm --> <title>Open-Source ESP32 Robotics Kit for Modular, AI-Powered Projects | Electronics Forum (Circuits, Projects and Microcontrollers)</title> <link rel="manifest" href="/webmanifest.php"> <meta name="theme-color" content="#232a35" /> <meta name="apple-mobile-web-app-title" content="Electronics Forum (Circuits, Projects and Microcontrollers)"> <meta name="description" content="Hi folks, I want to share with you a product that my team and I have been working on for the past years to help breaking into engineering, and specifically..." /> <meta property="og:description" content="Hi folks, I want to share with you a product that my team and I have been working on for the past years to help breaking into engineering, and specifically, robotics easier for everyone. We launched the first CYOBot last year as an open-source legged robot called CYOCrawler. It featured a..." /> <meta property="twitter:description" content="Hi folks, I want to share with you a product that my team and I have been working on for the past years to help breaking into engineering, and specifically, robotics easier for everyone. We..." /> <meta property="og:url" content="https://www.electro-tech-online.com/threads/open-source-esp32-robotics-kit-for-modular-ai-powered-projects.166939/" /> <link rel="canonical" href="https://www.electro-tech-online.com/threads/open-source-esp32-robotics-kit-for-modular-ai-powered-projects.166939/" /> <meta property="og:site_name" content="Electronics Forum (Circuits, Projects and Microcontrollers)" /> <meta property="og:type" content="website" /> <meta property="og:title" content="Open-Source ESP32 Robotics Kit for Modular, AI-Powered Projects" /> <meta property="twitter:title" content="Open-Source ESP32 Robotics Kit for Modular, AI-Powered Projects" /> <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap" rel="stylesheet"> <link rel="preload" href="/styles/fonts/fa/fa-light-300.woff2?_v=5.15.3" as="font" type="font/woff2" crossorigin="anonymous" /> <link rel="preload" href="/styles/fonts/fa/fa-solid-900.woff2?_v=5.15.3" as="font" type="font/woff2" crossorigin="anonymous" /> <link rel="preload" href="/styles/fonts/fa/fa-brands-400.woff2?_v=5.15.3" as="font" type="font/woff2" crossorigin="anonymous" /> <link rel="stylesheet" href="/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=8&l=1&d=1708496185&k=4d24f9f2773ef6adcec8f496f627f9fdd4c7eca0" /> <link rel="stylesheet" href="/css.php?css=public%3ACMTV_Math.less%2Cpublic%3Aandy_rssfeed.less%2Cpublic%3Aattachments.less%2Cpublic%3Alightbox.less%2Cpublic%3Amessage.less%2Cpublic%3Anotices.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Astructured_list.less%2Cpublic%3AsvESE_autocomplete.less%2Cpublic%3Axb.less%2Cpublic%3Axb_search.less%2Cpublic%3Axb_welcome.less%2Cpublic%3Axcpa_main.css%2Cpublic%3Axcpa_prestitial.css%2Cpublic%3Aextra.less&s=8&l=1&d=1708496185&k=2e1c0c647e197c636cced4957f116da56824a9ab" /> <script src="/js/xf/preamble.min.js?_v=1977d1d7"></script> <!-- Google Tag Manager for Global Container--> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MMC9PJ9');</script> <!-- End Google Tag Manager --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KLX5R59');</script> <!-- End Google Tag Manager --> </head> <body data-template="thread_view_type_question"> <script> var GAMaccountID = 5272491 var GAMnetworkName = 'ee_network'; var GAMadUnitName = 'eto_prestitial'; var GAMadSizes = '300, 225\n 640, 480'; googletag.slots = googletag.slots || {}; </script> <a href="#main-content" class="visually-hidden focusable skip-link"> Skip to main content </a> <div id="prestitial" style="opacity: 0;"> <div id="prestitial-overlay"></div> <div id="prestitial-grid"> <div class="prestitial-logo"> <div class="title-area"> <div class="p-header-logo p-header-logo--image"> <a href="/"> <img src="https://www.electro-tech-online.com/styles/eto/xenforo/logo.png" srcset="" alt="Electronics Forum (Circuits, Projects and Microcontrollers)" width="253" height="34" /> </a> </div> </div> </div> <div class="close-cta"> Continue to Site <i class="fa fa-arrow-right"></i> </div> <div id="prestitial-banner"></div> </div> </div> <!-- hides rest of content --> <div id="body-wrapper" style="opacity: 0;"> <div class="p-pageWrapper" id="top"> <div class="p-pageWrapper--helper"></div> <div class="xb-page-wrapper xb-canvas-menuActive"> <div class="xb-page-wrapper--helper"></div> <header class="p-header" id="header"> <div class="p-header-inner"> <div class="p-header-content"> <div class="p-header-logo p-header-logo--image"> <a href="/"> <img src="https://www.electro-tech-online.com/styles/eto/xenforo/logo.png" srcset="" alt="Electronics Forum (Circuits, Projects and Microcontrollers)" width="253" height="34" /> </a> </div> <div class="xb-searchWrapper" id="xb-searchWrapper" tabindex="0"> <form action="/search/search" id="xbSearch" data-xf-init="quick-search" data-autocomplete-filter="null" data-autocomplete-filter="null" class="xb-search" method="post" data-no-auto-focus="true"> <input type="text" class="input" name="keywords" placeholder="Search…" aria-label="Search" /> <div class="menu menu--structural menu--search" aria-hidden="true"> <div class="menu-content"> <div class="menu-row"> <select name="constraints" class="js-quickSearch-constraint input" aria-label="Search within"> <option value="">Everywhere</option> <option value="{"search_type":"post"}">Threads</option> <option value="{"search_type":"post","c":{"nodes":[10],"child_nodes":1}}">This forum</option> <option value="{"search_type":"post","c":{"thread":166939}}" selected="selected">This thread</option> </select> </div> <div class="menu-row"> <label class="iconic"><input type="checkbox" name="c[container_only]" value="1" /><i aria-hidden="true"></i><span class="iconic-label">Search titles and first posts only</span></label> </div> <div class="menu-row"> <label class="iconic"><input type="checkbox" name="c[title_only]" value="1" /><i aria-hidden="true"></i><span class="iconic-label">Search titles only <span tabindex="0" role="button" data-xf-init="tooltip" data-trigger="hover focus click" title="Tags will also be searched in content where tags are supported"> <i class="fa--xf far fa-question-circle u-muted u-smaller" aria-hidden="true"></i> </span></span></label> </div> <div class="menu-row"> <div class="inputGroup"> <span class="inputGroup-text" id="ctrl_search_menu_by_member">By:</span> <input type="text" class="input" name="c[users]" data-xf-init="auto-complete" placeholder="Member" aria-labelledby="ctrl_search_menu_by_member" /> </div> </div> <div class="menu-footer"> <span class="menu-footer-controls"> <button type="submit" class="button--primary button button--icon button--icon--search"><span class="button-text">Search</span></button> <a href="/search/" class="button"><span class="button-text">Advanced search…</span></a> </span> </div> <input type="hidden" name="_xfToken" value="1732426840,8fd4c0701df39c7beedb7662caa3baf9" /> </div> </div> </form> </div> </div> </div> </header> <div class="xb-content-wrapper"> <div class="navigation-helper"></div> <div class="p-nav--wrapper"> <nav class="p-nav"> <div class="p-nav-inner"> <button type="button" class="button--plain p-nav-menuTrigger button" data-xf-click="off-canvas" data-menu=".js-headerOffCanvasMenu" tabindex="0" aria-label="Menu"><span class="button-text"> <i aria-hidden="true"></i> </span></button> <div class="p-nav-smallLogo"> <a href="/"> <img src="https://www.electro-tech-online.com/styles/eto/xenforo/logo.png" srcset="" alt="Electronics Forum (Circuits, Projects and Microcontrollers)" width="253" height="34" /> </a> </div> <div class="p-nav-scroller hScroller" data-xf-init="h-scroller" data-auto-scroll=".p-navEl.is-selected"> <div class="hScroller-scroll"> <ul class="p-nav-list js-offCanvasNavSource"> <li class="navforums"> <div class="p-navEl is-selected" data-has-children="true"> <a href="/" class="p-navEl-link p-navEl-link--splitMenu " data-nav-id="forums">Forums</a> <a data-xf-key="1" data-xf-click="menu" data-menu-pos-ref="< .p-navEl" class="p-navEl-splitTrigger" role="button" tabindex="0" aria-label="Toggle expanded" aria-expanded="false" aria-haspopup="true"></a> <div class="menu menu--structural" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <a href="/whats-new/posts/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " data-nav-id="newPosts">New posts</a> <a href="/search/?type=post" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " data-nav-id="searchForums">Search forums</a> </div> </div> </div> </li> <li class="navwhatsNew"> <div class="p-navEl " data-has-children="true"> <a href="/whats-new/" class="p-navEl-link p-navEl-link--splitMenu " data-nav-id="whatsNew">What's new</a> <a data-xf-key="2" data-xf-click="menu" data-menu-pos-ref="< .p-navEl" class="p-navEl-splitTrigger" role="button" tabindex="0" aria-label="Toggle expanded" aria-expanded="false" aria-haspopup="true"></a> <div class="menu menu--structural" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <a href="/whats-new/posts/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " rel="nofollow" data-nav-id="whatsNewPosts">New posts</a> <a href="/whats-new/media/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " rel="nofollow" data-nav-id="xfmgWhatsNewNewMedia">New media</a> <a href="/whats-new/media-comments/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " rel="nofollow" data-nav-id="xfmgWhatsNewMediaComments">New media comments</a> <a href="/whats-new/resources/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " rel="nofollow" data-nav-id="xfrmNewResources">New resources</a> <a href="/whats-new/latest-activity" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " rel="nofollow" data-nav-id="latestActivity">Latest activity</a> </div> </div> </div> </li> <li class="navxfrm"> <div class="p-navEl " data-has-children="true"> <a href="/articles/" class="p-navEl-link p-navEl-link--splitMenu " data-nav-id="xfrm">Electronic Projects</a> <a data-xf-key="3" data-xf-click="menu" data-menu-pos-ref="< .p-navEl" class="p-navEl-splitTrigger" role="button" tabindex="0" aria-label="Toggle expanded" aria-expanded="false" aria-haspopup="true"></a> <div class="menu menu--structural" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <a href="/articles/?order=rating_weighted" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " data-nav-id="ArticlesTop">Top Articles</a> <a href="/search/?type=resource" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " data-nav-id="xfrmSearchResources">Search resources</a> </div> </div> </div> </li> <li class="navmembers"> <div class="p-navEl " data-has-children="true"> <a href="/members/" class="p-navEl-link p-navEl-link--splitMenu " data-nav-id="members">Members</a> <a data-xf-key="4" data-xf-click="menu" data-menu-pos-ref="< .p-navEl" class="p-navEl-splitTrigger" role="button" tabindex="0" aria-label="Toggle expanded" aria-expanded="false" aria-haspopup="true"></a> <div class="menu menu--structural" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <a href="/online/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " data-nav-id="currentVisitors">Current visitors</a> </div> </div> </div> </li> <li class="navEEResources"> <div class="p-navEl " data-has-children="true"> <a href="#" class="p-navEl-link p-navEl-link--splitMenu " data-nav-id="EEResources">EE Resources</a> <a data-xf-key="5" data-xf-click="menu" data-menu-pos-ref="< .p-navEl" class="p-navEl-splitTrigger" role="button" tabindex="0" aria-label="Toggle expanded" aria-expanded="false" aria-haspopup="true"></a> <div class="menu menu--structural" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <a href="https://www.designfast.com/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " target="_blank" data-nav-id="DesignFast2">DesignFast</a> <a href="https://www.eeworldonline.com/category/tech-tips/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " target="_blank" data-nav-id="Ebooks">Ebooks / Tech Tips</a> <a href="https://www.eeworldonline.com/category/faq/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " target="_blank" data-nav-id="FAQs">FAQs</a> <a href="https://www.eeworldonline.com/leadership-in-engineering-achievement-program-leap-awards/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " target="_blank" data-nav-id="Leap">LEAP Awards</a> <a href="https://products.designworldonline.com/products/oscilloscopes.html" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " target="_blank" data-nav-id="Oscilloscope">Oscilloscope Product Finder</a> <a href="https://www.eeworldonline.com/category/podcasts/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " target="_blank" data-nav-id="EEpodcasts">EE Podcasts</a> <a href="https://www.eeworldonline.com/category/webinars/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " target="_blank" data-nav-id="webinar">EE Webinars</a> <a href="https://www.engineeringwhitepapers.com/category/electricalelectronic/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " target="_blank" data-nav-id="WhitePapers">EE Whitepapers</a> <a href="https://www.eeworldonline.com/videos" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " target="_blank" data-nav-id="EEVideos">EE Videos</a> <a href="/blogs/" class="menu-linkRow u-indentDepth0 js-offCanvasCopy " data-nav-id="Blogs">Blogs</a> </div> </div> </div> </li> </ul> </div> </div> <div class="p-nav-opposite"> <div class="p-navgroup p-account p-navgroup--guest"> <a href="/login/" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--logIn" data-xf-click="overlay" data-follow-redirects="on"> <span class="p-navgroup-linkText">Log in</span> </a> <a href="/register/" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--register" data-xf-click="overlay" data-follow-redirects="on"> <span class="p-navgroup-linkText">Register</span> </a> </div> <div class="p-navgroup p-discovery"> <a href="/whats-new/" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--whatsnew" aria-label="What's new" title="What's new"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">What's new</span> </a> <a href="/search/" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search" data-xf-click="menu" data-xf-key="/" aria-label="Search" aria-expanded="false" aria-haspopup="true" title="Search"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">Search</span> </a> <div class="menu menu--structural menu--wide" data-menu="menu" aria-hidden="true"> <form action="/search/search" method="post" class="menu-content" data-xf-init="quick-search" data-autocomplete-filter="["resource","post"]"> <h3 class="menu-header">Search</h3> <div class="menu-row"> <div class="inputGroup inputGroup--joined"> <input type="text" class="input" name="keywords" placeholder="Search…" aria-label="Search" data-menu-autofocus="true" /> <select name="constraints" class="js-quickSearch-constraint input" aria-label="Search within"> <option value="">Everywhere</option> <option value="{"search_type":"post"}">Threads</option> <option value="{"search_type":"post","c":{"nodes":[10],"child_nodes":1}}">This forum</option> <option value="{"search_type":"post","c":{"thread":166939}}" selected="selected" data-suggest-optout="1">This thread</option> </select> </div> </div> <div class="menu-row"> <label class="iconic"><input type="checkbox" name="c[container_only]" value="1" /><i aria-hidden="true"></i><span class="iconic-label">Search titles and first posts only</span></label> </div> <div class="menu-row"> <label class="iconic"><input type="checkbox" name="c[title_only]" value="1" /><i aria-hidden="true"></i><span class="iconic-label">Search titles only <span tabindex="0" role="button" data-xf-init="tooltip" data-trigger="hover focus click" title="Tags will also be searched in content where tags are supported"> <i class="fa--xf far fa-question-circle u-muted u-smaller" aria-hidden="true"></i> </span></span></label> </div> <div class="menu-row"> <div class="inputGroup"> <span class="inputGroup-text" id="ctrl_search_menu_by_member">By:</span> <input type="text" class="input" name="c[users]" data-xf-init="auto-complete" placeholder="Member" aria-labelledby="ctrl_search_menu_by_member" /> </div> </div> <div class="menu-footer"> <span class="menu-footer-controls"> <button type="submit" class="button--primary button button--icon button--icon--search"><span class="button-text">Search</span></button> <a href="/search/" class="button"><span class="button-text">Advanced search…</span></a> </span> </div> <input type="hidden" name="_xfToken" value="1732426840,8fd4c0701df39c7beedb7662caa3baf9" /> </form> </div> </div> </div> </div> </nav> </div> <div class="p-sectionLinks--wrapper"> <div class="p-sectionLinks"> <div class="p-sectionLinks-inner"> <div class="hScroller" data-xf-init="h-scroller"> <div class="hScroller-scroll"> <ul class="p-sectionLinks-list"> <li> <div class="p-navEl " > <a href="/whats-new/posts/" class="p-navEl-link " data-xf-key="alt+1" data-nav-id="newPosts">New posts</a> </div> </li> <li> <div class="p-navEl " > <a href="/search/?type=post" class="p-navEl-link " data-xf-key="alt+2" data-nav-id="searchForums">Search forums</a> </div> </li> </ul> </div> </div> <div class="p-sectionLinks-right"> </div> </div> </div> </div> <div class="offCanvasMenu offCanvasMenu--nav js-headerOffCanvasMenu" data-menu="menu" aria-hidden="true" data-ocm-builder="navigation"> <div class="offCanvasMenu-backdrop" data-menu-close="true"></div> <div class="offCanvasMenu-content"> <div class="offCanvasMenu-content--inner"> <div class="offCanvasMenu-header"> Menu <a class="offCanvasMenu-closer" data-menu-close="true" role="button" tabindex="0" aria-label="Close"></a> </div> <div class="p-offCanvasRegisterLink"> <div class="offCanvasMenu-linkHolder"> <a href="/login/" class="offCanvasMenu-link" data-xf-click="overlay" data-menu-close="true"> Log in </a> </div> <hr class="offCanvasMenu-separator" /> <div class="offCanvasMenu-linkHolder"> <a href="/register/" class="offCanvasMenu-link" data-xf-click="overlay" data-menu-close="true"> Register </a> </div> <hr class="offCanvasMenu-separator" /> </div> <div class="offCanvasMenu-subHeader">Navigation</div> <div class="js-offCanvasNavTarget"></div> <div class="offCanvasMenu-installBanner js-installPromptContainer" style="display: none;" data-xf-init="install-prompt"> <div class="offCanvasMenu-installBanner-header">Install the app</div> <button type="button" class="js-installPromptButton button"><span class="button-text">Install</span></button> <template class="js-installTemplateIOS"> <div class="overlay-title">How to install the app on iOS</div> <div class="block-body"> <div class="block-row"> <p> Follow along with the video below to see how to install our site as a web app on your home screen. </p> <p style="text-align: center"> <video src="/styles/default/xenforo/add_to_home.mp4" width="280" height="480" autoplay loop muted playsinline></video> </p> <p> <small><strong>Note:</strong> This feature may not be available in some browsers.</small> </p> </div> </div> </template> </div> <div class="offCanvasMenu-subHeader">More options</div> <div class="offCanvasMenu-linkHolder"> <a href="/misc/contact" class="offCanvasMenu-link" data-menu-close="true" data-nav-id="contactUs" data-xf-click="overlay">Contact us</a> </div> <div class="offCanvasMenu-linkHolder"> <a class="offCanvasMenu-link" data-menu-close="true" data-nav-id="closeMenu" role="button" tabindex="0" aria-label="Close">Close Menu</a> </div> </div> </div> </div> <div class="p-body"> <div class="p-body-inner"> <div class="xb-welcome-notice"> <div class="xb-welcome-notice--mask"> <div class="xb-welcome-notice--inner"> <div class="xb-welcome-notice--title"> <h3>Welcome to our site!</h3> <h4>Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. <a href="/register">Click here to register now</a>.</h4> </div> <div class="xb-welcome-notice--buttons"> <a href="/register/" class="button" data-xf-click="overlay" data-follow-redirects="on"><span class="button-text">Register</span></a> <a href="/login/" class="button--cta button" rel="nofollow" data-xf-click="overlay" data-menu-close="true"> <span class="button-text">Log in</span> </a> </div> </div> </div> </div> <!--XF:EXTRA_OUTPUT--> <ul class="notices notices--block js-notices" data-xf-init="notices" data-type="block" data-scroll-interval="6"> <li class="notice js-notice notice--primary" data-notice-id="3" data-delay-duration="0" data-display-duration="0" data-auto-dismiss="" data-visibility=""> <div class="notice-content"> <a href="/account/dismiss-notice?notice_id=3" class="notice-dismiss js-noticeDismiss" data-xf-init="tooltip" title="Dismiss notice"></a> Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. <a href="/register">Click here to register now</a>. </div> </li> </ul> <center><div id='div-gpt-eto-header'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eto-header'); }); </script> </div></center> <div class="p-breadcrumbs--parent "> <ul class="p-breadcrumbs " itemscope itemtype="https://schema.org/BreadcrumbList"> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a href="/#electronics-forums.3" itemprop="item"> <span itemprop="name">Electronics Forums</span> </a> <meta itemprop="position" content="1" /> </li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a href="/forums/electronic-projects-design-ideas-reviews/" itemprop="item"> <span itemprop="name">Electronic Projects Design/Ideas/Reviews</span> </a> <meta itemprop="position" content="2" /> </li> </ul> </div> <noscript class="js-jsWarning"><div class="blockMessage blockMessage--important blockMessage--iconic u-noJsOnly">JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.</div></noscript> <div class="blockMessage blockMessage--important blockMessage--iconic js-browserWarning" style="display: none">You are using an out of date browser. It may not display this or other websites correctly.<br />You should upgrade or use an <a href="https://www.google.com/chrome/" target="_blank" rel="noopener">alternative browser</a>.</div> <div class="p-body-header"> <div class="p-title "> <h1 class="p-title-value">Open-Source ESP32 Robotics Kit for Modular, AI-Powered Projects</h1> </div> <div class="p-description"> <ul class="listInline listInline--bullet"> <li> <i class="fa--xf fal fa-user" aria-hidden="true" title="Thread starter"></i> <span class="u-srOnly">Thread starter</span> <a href="/members/buzinguyen.328097/" class="username u-concealed" dir="auto" data-user-id="328097" data-xf-init="member-tooltip">buzinguyen</a> </li> <li> <i class="fa--xf fal fa-clock" aria-hidden="true" title="Start date"></i> <span class="u-srOnly">Start date</span> <a href="/threads/open-source-esp32-robotics-kit-for-modular-ai-powered-projects.166939/" class="u-concealed"><time class="u-dt" dir="auto" datetime="2024-11-23T15:49:06-0800" data-time="1732405746" data-date-string="Nov 23, 2024" data-time-string="3:49 PM" title="Nov 23, 2024 at 3:49 PM">Today at 3:49 PM</time></a> </li> <li> <dl class="tagList tagList--thread-166939 "> <dt> <i class="fa--xf fal fa-tags" aria-hidden="true" title="Tags"></i> <span class="u-srOnly">Tags</span> </dt> <dd> <span class="js-tagList"> <a href="/tags/arduino/" class="tagItem tagItem--tag_arduino" dir="auto"> arduino </a> <a href="/tags/artificial-intelligence/" class="tagItem tagItem--tag_artificial-intelligence" dir="auto"> artificial intelligence </a> <a href="/tags/crowd-funding/" class="tagItem tagItem--tag_crowd-funding" dir="auto"> crowd funding </a> <a href="/tags/education/" class="tagItem tagItem--tag_education" dir="auto"> education </a> <a href="/tags/esp32/" class="tagItem tagItem--tag_esp32" dir="auto"> esp32 </a> <a href="/tags/iot/" class="tagItem tagItem--tag_iot" dir="auto"> iot </a> <a href="/tags/machine-learning/" class="tagItem tagItem--tag_machine-learning" dir="auto"> machine learning </a> <a href="/tags/microcontroller/" class="tagItem tagItem--tag_microcontroller" dir="auto"> microcontroller </a> <a href="/tags/project/" class="tagItem tagItem--tag_project" dir="auto"> project </a> <a href="/tags/robotics/" class="tagItem tagItem--tag_robotics" dir="auto"> robotics </a> </span> </dd> </dl> </li> </ul> </div> </div> <div class="p-body-main p-body-main--withSidebar "> <div class="p-body-contentCol"></div> <div class="p-body-sidebarCol"></div> <div class="p-body-content"> <div class="p-body-pageContent"> <div class="block block--messages " data-xf-init="lightbox select-to-quote" data-message-selector=".js-post" data-lb-id="thread-166939"> <div class="block-outer"></div> <div class="block-outer js-threadStatusField"></div> <div class="block-container"> <div class="block-body"> <article class="message message--post js-post js-inlineModContainer " data-author="buzinguyen" data-content="post-1457776" id="js-post-1457776" > <span class="u-anchorTarget" id="post-1457776"></span> <div class="message-inner"> <div class="message-cell message-cell--user"> <section class="message-user" > <div class="message-avatar "> <div class="message-avatar-wrapper"> <a href="/members/buzinguyen.328097/" class="avatar avatar--m avatar--default avatar--default--dynamic" data-user-id="328097" data-xf-init="member-tooltip" style="background-color: #3333cc; color: #c2c2f0"> <span class="avatar-u328097-m" role="img" aria-label="buzinguyen">B</span> </a> </div> </div> <div class="message-userDetails"> <h4 class="message-name"><a href="/members/buzinguyen.328097/" class="username " dir="auto" data-user-id="328097" data-xf-init="member-tooltip">buzinguyen</a></h4> <h5 class="userTitle message-userTitle" dir="auto">New Member</h5> </div> <span class="message-userArrow"></span> </section> </div> <div class="message-cell message-cell--main"> <div class="message-main js-quickEditTarget"> <header class="message-attribution message-attribution--split"> <ul class="message-attribution-main listInline "> <li class="u-concealed"> <a href="/threads/open-source-esp32-robotics-kit-for-modular-ai-powered-projects.166939/post-1457776" rel="nofollow" > <time class="u-dt" dir="auto" datetime="2024-11-23T15:49:06-0800" data-time="1732405746" data-date-string="Nov 23, 2024" data-time-string="3:49 PM" title="Nov 23, 2024 at 3:49 PM">Today at 3:49 PM</time> </a> </li> </ul> <ul class="message-attribution-opposite message-attribution-opposite--list "> <li> <a href="/threads/open-source-esp32-robotics-kit-for-modular-ai-powered-projects.166939/post-1457776" class="message-attribution-gadget" data-xf-init="share-tooltip" data-href="/posts/1457776/share" aria-label="Share" rel="nofollow"> <i class="fa--xf fal fa-share-alt" aria-hidden="true"></i> </a> </li> <li> <a href="/threads/open-source-esp32-robotics-kit-for-modular-ai-powered-projects.166939/post-1457776" rel="nofollow"> #1 </a> </li> </ul> </header> <div class="message-content js-messageContent"> <div class="message-userContent lbContainer js-lbContainer " data-lb-id="post-1457776" data-lb-caption-desc="buzinguyen · Nov 23, 2024 at 3:49 PM"> <article class="message-body js-selectToQuote"> <div > <div class="bbWrapper">Hi folks, I want to share with you a product that my team and I have been working on for the past years to help breaking into engineering, and specifically, robotics easier for everyone.<br /> <br /> We launched the first CYOBot last year as an open-source legged robot called CYOCrawler. It featured a WiFi-based coding interface (MicroPython and Blockly) but faced limitations like limited SRAM, causing memory errors with multiple peripherals, and basic ADC audio that didn’t support clear voice commands. The previous design also lacked modularity, making hardware extensions challenging.<br /> <br /> After selling roughly 100 units last year (I know for some folks this number is not that much, but we're still learning and iterating from feedback), we just recently launched CYOBot V2, addressing concerns and wishlists from customers and the open-source community. We’ve upgraded the development board to use ESP32-S3 with 8MB Flash and PSRAM, allowing it to handle larger libraries and multitask efficiently. The new I2S dual microphones and speaker with a dedicated audio codec enable clear audio for voice commands. Plus, the modular design now allows easy swapping between robot configurations or custom bases.<br /> <br /> We also developed a learning platform for the robot, so that you can play and practice skills in machine learning, control theory, IoT, kinematics, and embedded systems. This is particularly important for students that we have interacted with, as having a hardware platform does not necessarily mean that they know what to do with it. This platform will soon be integrated with an online IDE that can interface with the robot using a websocket, so that the users can read the challenge prompts, load the activity directly to the IDE and start solving/learning right away.<br /> <br /> See the new design in action on our campaign here: <a href="https://www.kickstarter.com/projects/cyobot/cyobot-a-transformable-quadruped-robot-for-innovation-and-fun?ref=6waexz" target="_blank" class="link link--external" rel="nofollow ugc noopener">https://www.kickstarter.com/project...ruped-robot-for-innovation-and-fun?ref=6waexz</a><br /> <br /> On the other hand, the schematics and source for the board are available on Hackaday: <a href="https://hackaday.io/project/199084-cyobot-v2-transformable-quadruped-robot" target="_blank" class="link link--external" rel="nofollow ugc noopener">https://hackaday.io/project/199084-cyobot-v2-transformable-quadruped-robot</a>. The project is OSHWA certified.<br /> <br /> Would love to hear your feedback on the campaign and the product! At the same time, we'd appreciate having you backing us. Thank you!</div> </div> <div class="js-selectToQuoteEnd"> </div> </article> <section class="message-attachments"> <h4 class="block-textHeader">Attachments</h4> <ul class="attachmentList"> <li class="file file--linked"> <a class="u-anchorTarget" id="attachment-147838"></a> <script class="js-extraPhrases" type="application/json"> { "lightbox_close": "Close", "lightbox_next": "Next", "lightbox_previous": "Previous", "lightbox_error": "The requested content cannot be loaded. Please try again later.", "lightbox_start_slideshow": "Start slideshow", "lightbox_stop_slideshow": "Stop slideshow", "lightbox_full_screen": "Full screen", "lightbox_thumbnails": "Thumbnails", "lightbox_download": "Download", "lightbox_share": "Share", "lightbox_zoom": "Zoom", "lightbox_new_window": "New window", "lightbox_toggle_sidebar": "Toggle sidebar" } </script> <a class="file-preview js-lbImage" data-lb-sidebar-href="" data-lb-caption-extra-html="" href="/attachments/dsc09969-jpg.147838/" target="_blank"> <img src="/data/attachments/136/136823-ed616d81fc1bad794b3f14ad153f7bd7.jpg" alt="DSC09969.jpg" width="151" height="100" loading="lazy" /> </a> <div class="file-content"> <div class="file-info"> <span class="file-name" title="DSC09969.jpg">DSC09969.jpg</span> <div class="file-meta"> 1.1 MB · Views: 8 </div> </div> </div> </li> <li class="file file--linked"> <a class="u-anchorTarget" id="attachment-147839"></a> <a class="file-preview js-lbImage" data-lb-sidebar-href="" data-lb-caption-extra-html="" href="/attachments/dsc09752-jpg.147839/" target="_blank"> <img src="/data/attachments/136/136824-13f638d88ad84276029f29ef36067659.jpg" alt="DSC09752.jpg" width="151" height="100" loading="lazy" /> </a> <div class="file-content"> <div class="file-info"> <span class="file-name" title="DSC09752.jpg">DSC09752.jpg</span> <div class="file-meta"> 861.1 KB · Views: 7 </div> </div> </div> </li> <li class="file file--linked"> <a class="u-anchorTarget" id="attachment-147840"></a> <a class="file-preview js-lbImage" data-lb-sidebar-href="" data-lb-caption-extra-html="" href="/attachments/dsc09838-jpg.147840/" target="_blank"> <img src="/data/attachments/136/136825-a9ca6b8b39b21b26ea887a2182349c21.jpg" alt="DSC09838.jpg" width="151" height="100" loading="lazy" /> </a> <div class="file-content"> <div class="file-info"> <span class="file-name" title="DSC09838.jpg">DSC09838.jpg</span> <div class="file-meta"> 1.2 MB · Views: 7 </div> </div> </div> </li> <li class="file file--linked"> <a class="u-anchorTarget" id="attachment-147841"></a> <a class="file-preview js-lbImage" data-lb-sidebar-href="" data-lb-caption-extra-html="" href="/attachments/dsc09895-jpg.147841/" target="_blank"> <img src="/data/attachments/136/136826-6f31830d18dea43ef2981dd74192e6da.jpg" alt="DSC09895.jpg" width="151" height="100" loading="lazy" /> </a> <div class="file-content"> <div class="file-info"> <span class="file-name" title="DSC09895.jpg">DSC09895.jpg</span> <div class="file-meta"> 1.1 MB · Views: 5 </div> </div> </div> </li> <li class="file file--linked"> <a class="u-anchorTarget" id="attachment-147842"></a> <a class="file-preview js-lbImage" data-lb-sidebar-href="" data-lb-caption-extra-html="" href="/attachments/dsc09742-jpg.147842/" target="_blank"> <img src="/data/attachments/136/136827-0ad1d81064d761d25ba7292403d83fa3.jpg" alt="DSC09742.jpg" width="151" height="100" loading="lazy" /> </a> <div class="file-content"> <div class="file-info"> <span class="file-name" title="DSC09742.jpg">DSC09742.jpg</span> <div class="file-meta"> 1.1 MB · Views: 7 </div> </div> </div> </li> <li class="file file--linked"> <a class="u-anchorTarget" id="attachment-147843"></a> <a class="file-preview js-lbImage" data-lb-sidebar-href="" data-lb-caption-extra-html="" href="/attachments/dsc00118-jpg.147843/" target="_blank"> <img src="/data/attachments/136/136828-535a144a7f6a4b66b53933ae2cad0199.jpg" alt="DSC00118.jpg" width="151" height="100" loading="lazy" /> </a> <div class="file-content"> <div class="file-info"> <span class="file-name" title="DSC00118.jpg">DSC00118.jpg</span> <div class="file-meta"> 1.4 MB · Views: 7 </div> </div> </div> </li> <li class="file file--linked"> <a class="u-anchorTarget" id="attachment-147844"></a> <a class="file-preview js-lbImage" data-lb-sidebar-href="" data-lb-caption-extra-html="" href="/attachments/dsc00136-jpg.147844/" target="_blank"> <img src="/data/attachments/136/136829-dd0fb6d8eedfec3286f449b9b2ba4b44.jpg" alt="DSC00136.jpg" width="151" height="100" loading="lazy" /> </a> <div class="file-content"> <div class="file-info"> <span class="file-name" title="DSC00136.jpg">DSC00136.jpg</span> <div class="file-meta"> 1.4 MB · Views: 7 </div> </div> </div> </li> </ul> </section> </div> </div> <footer class="message-footer"> <div class="reactionsBar js-reactionsList "> </div> <div class="js-historyTarget message-historyTarget toggleTarget" data-href="trigger-href"></div> </footer> </div> </div> </div> </article> </div> </div> </div> <div class="block block--messages" data-xf-init="" data-type="post" data-href="/inline-mod/" data-search-target="*"> <span class="u-anchorTarget" id="posts"></span> <div class="block-outer"></div> <div class="block-container lbContainer" data-xf-init="lightbox select-to-quote" data-message-selector=".js-post" data-lb-id="thread-166939" data-lb-universal="0"> <div class="block-body js-replyNewMessageContainer"> </div> </div> <div class="block-outer block-outer--after"> <div class="block-outer-opposite"> <a href="/login/" class="button--link button--wrap button" data-xf-click="overlay"><span class="button-text"> You must log in or register to reply here. </span></a> </div> </div> </div> <div class="inContentAd"><div id='div-gpt-eto_thread1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eto_thread1'); }); </script> </div> </div> <div class="inContentAd"><div id='div-gpt-eto_thread2'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eto_thread2'); }); </script> </div> </div> <div class="inContentAd"><div id='div-gpt-eto_thread3'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eto_thread3'); }); </script> </div> </div> <div class="block" data-widget-id="32" data-widget-key="xfes_thread_view_below_quick_reply_similar_threads" data-widget-definition="xfes_similar_threads"> <div class="block-container"> <h3 class="block-header">Similar threads</h3> <div class="block-body"> <div class="structItemContainer"> <div class="structItem structItem--thread js-inlineModContainer js-threadListItem-166835" data-author="Menticol"> <div class="structItem-cell structItem-cell--icon"> <div class="structItem-iconContainer"> <a href="/members/menticol.73923/" class="avatar avatar--s" data-user-id="73923" data-xf-init="member-tooltip"> <img src="/data/avatars/s/73/73923.jpg?1721679541" srcset="/data/avatars/m/73/73923.jpg?1721679541 2x" alt="Menticol" class="avatar-u73923-s" width="48" height="48" loading="lazy" /> </a> </div> </div> <div class="structItem-cell structItem-cell--main" data-xf-init="touch-proxy"> <ul class="structItem-statuses"> <li> <i class="structItem-status structItem-status--solved" aria-hidden="true" title="Solved"></i> <span class="u-srOnly">Solved</span> </li> </ul> <div class="structItem-title"> <a href="/threads/microcontroller-based-resistor-ladder-for-gas-gauge.166835/" class="" data-tp-primary="on" data-xf-init="preview-tooltip" data-preview-url="/threads/microcontroller-based-resistor-ladder-for-gas-gauge.166835/preview">Microcontroller-based resistor ladder for gas gauge</a> </div> <div class="structItem-minor"> <ul class="structItem-parts"> <li><a href="/members/menticol.73923/" class="username " dir="auto" data-user-id="73923" data-xf-init="member-tooltip">Menticol</a></li> <li class="structItem-startDate"><a href="/threads/microcontroller-based-resistor-ladder-for-gas-gauge.166835/" rel="nofollow"><time class="u-dt" dir="auto" datetime="2024-10-29T22:03:08-0700" data-time="1730264588" data-date-string="Oct 29, 2024" data-time-string="10:03 PM" title="Oct 29, 2024 at 10:03 PM">Oct 29, 2024</time></a></li> <li><a href="/forums/electronic-projects-design-ideas-reviews/">Electronic Projects Design/Ideas/Reviews</a></li> </ul> </div> </div> <div class="structItem-cell structItem-cell--meta" title="First message reaction score: 0"> <dl class="pairs pairs--justified"> <dt>Replies</dt> <dd>15</dd> </dl> <dl class="pairs pairs--justified structItem-minor"> <dt>Views</dt> <dd>2K</dd> </dl> </div> <div class="structItem-cell structItem-cell--latest"> <a href="/threads/microcontroller-based-resistor-ladder-for-gas-gauge.166835/latest" rel="nofollow"><time class="structItem-latestDate u-dt" dir="auto" datetime="2024-11-17T12:36:06-0800" data-time="1731875766" data-date-string="Nov 17, 2024" data-time-string="12:36 PM" title="Nov 17, 2024 at 12:36 PM">Sunday at 12:36 PM</time></a> <div class="structItem-minor"> <a href="/members/be80be.95948/" class="username " dir="auto" data-user-id="95948" data-xf-init="member-tooltip">be80be</a> </div> </div> <div class="structItem-cell structItem-cell--icon structItem-cell--iconEnd"> <div class="structItem-iconContainer"> <a href="/members/be80be.95948/" class="avatar avatar--xxs" data-user-id="95948" data-xf-init="member-tooltip"> <img src="/data/avatars/s/95/95948.jpg?1378874997" alt="be80be" class="avatar-u95948-s" width="48" height="48" loading="lazy" /> </a> </div> </div> </div> <div class="structItem structItem--thread js-inlineModContainer js-threadListItem-164670" data-author="Stuee123"> <div class="structItem-cell structItem-cell--icon"> <div class="structItem-iconContainer"> <a href="/members/stuee123.266905/" class="avatar avatar--s" data-user-id="266905" data-xf-init="member-tooltip"> <img src="/data/avatars/s/266/266905.jpg?1499670810" srcset="/data/avatars/m/266/266905.jpg?1499670810 2x" alt="Stuee123" class="avatar-u266905-s" width="48" height="48" loading="lazy" /> </a> </div> </div> <div class="structItem-cell structItem-cell--main" data-xf-init="touch-proxy"> <ul class="structItem-statuses"> <li> <i class="fa--xf fal fa-question-circle structItem-status" aria-hidden="true" title="Question"></i> <span class="u-srOnly">Question</span> </li> </ul> <div class="structItem-title"> <a href="/threads/adding-battery-power-to-esp32-project.164670/" class="" data-tp-primary="on" data-xf-init="preview-tooltip" data-preview-url="/threads/adding-battery-power-to-esp32-project.164670/preview">Adding battery power to ESP32 project</a> </div> <div class="structItem-minor"> <ul class="structItem-parts"> <li><a href="/members/stuee123.266905/" class="username " dir="auto" data-user-id="266905" data-xf-init="member-tooltip">Stuee123</a></li> <li class="structItem-startDate"><a href="/threads/adding-battery-power-to-esp32-project.164670/" rel="nofollow"><time class="u-dt" dir="auto" datetime="2023-03-18T18:07:03-0700" data-time="1679188023" data-date-string="Mar 18, 2023" data-time-string="6:07 PM" title="Mar 18, 2023 at 6:07 PM">Mar 18, 2023</time></a></li> <li><a href="/forums/electronic-projects-design-ideas-reviews/">Electronic Projects Design/Ideas/Reviews</a></li> </ul> </div> </div> <div class="structItem-cell structItem-cell--meta" title="First message reaction score: 0"> <dl class="pairs pairs--justified"> <dt>Replies</dt> <dd>5</dd> </dl> <dl class="pairs pairs--justified structItem-minor"> <dt>Views</dt> <dd>3K</dd> </dl> </div> <div class="structItem-cell structItem-cell--latest"> <a href="/threads/adding-battery-power-to-esp32-project.164670/latest" rel="nofollow"><time class="structItem-latestDate u-dt" dir="auto" datetime="2023-03-19T01:19:26-0700" data-time="1679213966" data-date-string="Mar 19, 2023" data-time-string="1:19 AM" title="Mar 19, 2023 at 1:19 AM">Mar 19, 2023</time></a> <div class="structItem-minor"> <a href="/members/rjenkinsgb.273344/" class="username " dir="auto" data-user-id="273344" data-xf-init="member-tooltip">rjenkinsgb</a> </div> </div> <div class="structItem-cell structItem-cell--icon structItem-cell--iconEnd"> <div class="structItem-iconContainer"> <a href="/members/rjenkinsgb.273344/" class="avatar avatar--xxs" data-user-id="273344" data-xf-init="member-tooltip"> <img src="/data/avatars/s/273/273344.jpg?1529068710" alt="rjenkinsgb" class="avatar-u273344-s" width="48" height="48" loading="lazy" /> </a> </div> </div> </div> <div class="structItem structItem--thread js-inlineModContainer js-threadListItem-165437" data-author="_John_"> <div class="structItem-cell structItem-cell--icon"> <div class="structItem-iconContainer"> <a href="/members/_john_.322628/" class="avatar avatar--s avatar--default avatar--default--dynamic" data-user-id="322628" data-xf-init="member-tooltip" style="background-color: #7a1f7a; color: #db70db"> <span class="avatar-u322628-s" role="img" aria-label="_John_">J</span> </a> </div> </div> <div class="structItem-cell structItem-cell--main" data-xf-init="touch-proxy"> <ul class="structItem-statuses"> <li> <i class="structItem-status structItem-status--solved" aria-hidden="true" title="Solved"></i> <span class="u-srOnly">Solved</span> </li> </ul> <div class="structItem-title"> <a href="/threads/help-with-rx-uart-serial-data-conflicting-with-tx-on-an-esp32.165437/" class="" data-tp-primary="on" data-xf-init="preview-tooltip" data-preview-url="/threads/help-with-rx-uart-serial-data-conflicting-with-tx-on-an-esp32.165437/preview">Help with RX UART Serial Data Conflicting With TX on an ESP32</a> </div> <div class="structItem-minor"> <ul class="structItem-parts"> <li><a href="/members/_john_.322628/" class="username " dir="auto" data-user-id="322628" data-xf-init="member-tooltip">_John_</a></li> <li class="structItem-startDate"><a href="/threads/help-with-rx-uart-serial-data-conflicting-with-tx-on-an-esp32.165437/" rel="nofollow"><time class="u-dt" dir="auto" datetime="2023-10-26T08:35:28-0700" data-time="1698334528" data-date-string="Oct 26, 2023" data-time-string="8:35 AM" title="Oct 26, 2023 at 8:35 AM">Oct 26, 2023</time></a></li> <li><a href="/forums/electronic-projects-design-ideas-reviews/">Electronic Projects Design/Ideas/Reviews</a></li> </ul> </div> </div> <div class="structItem-cell structItem-cell--meta" title="First message reaction score: 0"> <dl class="pairs pairs--justified"> <dt>Replies</dt> <dd>11</dd> </dl> <dl class="pairs pairs--justified structItem-minor"> <dt>Views</dt> <dd>4K</dd> </dl> </div> <div class="structItem-cell structItem-cell--latest"> <a href="/threads/help-with-rx-uart-serial-data-conflicting-with-tx-on-an-esp32.165437/latest" rel="nofollow"><time class="structItem-latestDate u-dt" dir="auto" datetime="2023-10-31T06:47:50-0700" data-time="1698760070" data-date-string="Oct 31, 2023" data-time-string="6:47 AM" title="Oct 31, 2023 at 6:47 AM">Oct 31, 2023</time></a> <div class="structItem-minor"> <a href="/members/danadak.285320/" class="username " dir="auto" data-user-id="285320" data-xf-init="member-tooltip">danadak</a> </div> </div> <div class="structItem-cell structItem-cell--icon structItem-cell--iconEnd"> <div class="structItem-iconContainer"> <a href="/members/danadak.285320/" class="avatar avatar--xxs" data-user-id="285320" data-xf-init="member-tooltip"> <img src="/data/avatars/s/285/285320.jpg?1644589903" alt="danadak" class="avatar-u285320-s" width="48" height="48" loading="lazy" /> </a> </div> </div> </div> <div class="structItem structItem--thread js-inlineModContainer js-threadListItem-165191" data-author="_John_"> <div class="structItem-cell structItem-cell--icon"> <div class="structItem-iconContainer"> <a href="/members/_john_.322628/" class="avatar avatar--s avatar--default avatar--default--dynamic" data-user-id="322628" data-xf-init="member-tooltip" style="background-color: #7a1f7a; color: #db70db"> <span class="avatar-u322628-s" role="img" aria-label="_John_">J</span> </a> </div> </div> <div class="structItem-cell structItem-cell--main" data-xf-init="touch-proxy"> <ul class="structItem-statuses"> <li> <i class="structItem-status structItem-status--solved" aria-hidden="true" title="Solved"></i> <span class="u-srOnly">Solved</span> </li> </ul> <div class="structItem-title"> <a href="/threads/sharing-a-speaker-with-an-dy-sv19t-for-mp3-files-and-esp32-for-tone.165191/" class="" data-tp-primary="on" data-xf-init="preview-tooltip" data-preview-url="/threads/sharing-a-speaker-with-an-dy-sv19t-for-mp3-files-and-esp32-for-tone.165191/preview">Sharing A Speaker With An DY-SV19T For MP3 Files And ESP32 For Tone</a> </div> <div class="structItem-minor"> <ul class="structItem-parts"> <li><a href="/members/_john_.322628/" class="username " dir="auto" data-user-id="322628" data-xf-init="member-tooltip">_John_</a></li> <li class="structItem-startDate"><a href="/threads/sharing-a-speaker-with-an-dy-sv19t-for-mp3-files-and-esp32-for-tone.165191/" rel="nofollow"><time class="u-dt" dir="auto" datetime="2023-08-11T09:27:32-0700" data-time="1691771252" data-date-string="Aug 11, 2023" data-time-string="9:27 AM" title="Aug 11, 2023 at 9:27 AM">Aug 11, 2023</time></a></li> <li><a href="/forums/electronic-projects-design-ideas-reviews/">Electronic Projects Design/Ideas/Reviews</a></li> </ul> </div> </div> <div class="structItem-cell structItem-cell--meta" title="First message reaction score: 0"> <dl class="pairs pairs--justified"> <dt>Replies</dt> <dd>10</dd> </dl> <dl class="pairs pairs--justified structItem-minor"> <dt>Views</dt> <dd>3K</dd> </dl> </div> <div class="structItem-cell structItem-cell--latest"> <a href="/threads/sharing-a-speaker-with-an-dy-sv19t-for-mp3-files-and-esp32-for-tone.165191/latest" rel="nofollow"><time class="structItem-latestDate u-dt" dir="auto" datetime="2023-08-26T04:37:12-0700" data-time="1693049832" data-date-string="Aug 26, 2023" data-time-string="4:37 AM" title="Aug 26, 2023 at 4:37 AM">Aug 26, 2023</time></a> <div class="structItem-minor"> <a href="/members/_john_.322628/" class="username " dir="auto" data-user-id="322628" data-xf-init="member-tooltip">_John_</a> </div> </div> <div class="structItem-cell structItem-cell--icon structItem-cell--iconEnd"> <div class="structItem-iconContainer"> <a href="/members/_john_.322628/" class="avatar avatar--xxs avatar--default avatar--default--dynamic" data-user-id="322628" data-xf-init="member-tooltip" style="background-color: #7a1f7a; color: #db70db"> <span class="avatar-u322628-s" role="img" aria-label="_John_">J</span> </a> </div> </div> </div> <div class="structItem structItem--thread js-inlineModContainer js-threadListItem-166722" data-author="Pruitt"> <div class="structItem-cell structItem-cell--icon"> <div class="structItem-iconContainer"> <a href="/members/pruitt.327592/" class="avatar avatar--s avatar--default avatar--default--dynamic" data-user-id="327592" data-xf-init="member-tooltip" style="background-color: #a88a8a; color: #493636"> <span class="avatar-u327592-s" role="img" aria-label="Pruitt">P</span> </a> </div> </div> <div class="structItem-cell structItem-cell--main" data-xf-init="touch-proxy"> <ul class="structItem-statuses"> <li> <i class="fa--xf fal fa-question-circle structItem-status" aria-hidden="true" title="Question"></i> <span class="u-srOnly">Question</span> </li> </ul> <div class="structItem-title"> <a href="/threads/infrared-pir-motion-sensor-without-an-arduino.166722/" class="" data-tp-primary="on" data-xf-init="preview-tooltip" data-preview-url="/threads/infrared-pir-motion-sensor-without-an-arduino.166722/preview">Infrared PIR Motion Sensor without an Arduino</a> </div> <div class="structItem-minor"> <ul class="structItem-parts"> <li><a href="/members/pruitt.327592/" class="username " dir="auto" data-user-id="327592" data-xf-init="member-tooltip">Pruitt</a></li> <li class="structItem-startDate"><a href="/threads/infrared-pir-motion-sensor-without-an-arduino.166722/" rel="nofollow"><time class="u-dt" dir="auto" datetime="2024-10-16T04:18:50-0700" data-time="1729077530" data-date-string="Oct 16, 2024" data-time-string="4:18 AM" title="Oct 16, 2024 at 4:18 AM">Oct 16, 2024</time></a></li> <li><a href="/forums/electronic-projects-design-ideas-reviews/">Electronic Projects Design/Ideas/Reviews</a></li> </ul> </div> </div> <div class="structItem-cell structItem-cell--meta" title="First message reaction score: 0"> <dl class="pairs pairs--justified"> <dt>Replies</dt> <dd>5</dd> </dl> <dl class="pairs pairs--justified structItem-minor"> <dt>Views</dt> <dd>1K</dd> </dl> </div> <div class="structItem-cell structItem-cell--latest"> <a href="/threads/infrared-pir-motion-sensor-without-an-arduino.166722/latest" rel="nofollow"><time class="structItem-latestDate u-dt" dir="auto" datetime="2024-10-18T02:02:37-0700" data-time="1729242157" data-date-string="Oct 18, 2024" data-time-string="2:02 AM" title="Oct 18, 2024 at 2:02 AM">Oct 18, 2024</time></a> <div class="structItem-minor"> <a href="/members/pommie.28074/" class="username " dir="auto" data-user-id="28074" data-xf-init="member-tooltip">Pommie</a> </div> </div> <div class="structItem-cell structItem-cell--icon structItem-cell--iconEnd"> <div class="structItem-iconContainer"> <a href="/members/pommie.28074/" class="avatar avatar--xxs avatar--default avatar--default--dynamic" data-user-id="28074" data-xf-init="member-tooltip" style="background-color: #85c2e0; color: #246b8f"> <span class="avatar-u28074-s" role="img" aria-label="Pommie">P</span> </a> </div> </div> </div> </div> </div> </div> </div> <div class="blockMessage blockMessage--none"> <div class="shareButtons shareButtons--iconic" data-xf-init="share-buttons" data-page-url="" data-page-title="" data-page-desc="" data-page-image=""> <span class="shareButtons-label">Share:</span> <div class="shareButtons-buttons"> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--facebook" data-href="https://www.facebook.com/sharer.php?u={url}"> <i aria-hidden="true"></i> <span>Facebook</span> </a> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--twitter" data-href="https://twitter.com/intent/tweet?url={url}&text={title}&via=ETONetwork&related=ETONetwork"> <svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 512 512" class=""><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg> <span>X (Twitter)</span> </a> <a class="shareButtons-button shareButtons-button--brand shareButtons-button--whatsApp" data-href="https://api.whatsapp.com/send?text={title} {url}"> <i aria-hidden="true"></i> <span>WhatsApp</span> </a> <a class="shareButtons-button shareButtons-button--email" data-href="mailto:?subject={title}&body={url}"> <i aria-hidden="true"></i> <span>Email</span> </a> <a class="shareButtons-button shareButtons-button--share is-hidden" data-xf-init="web-share" data-title="" data-text="" data-url="" data-hide=".shareButtons-button:not(.shareButtons-button--share)"> <i aria-hidden="true"></i> <span>Share</span> </a> <a class="shareButtons-button shareButtons-button--link is-hidden" data-clipboard="{url}"> <i aria-hidden="true"></i> <span>Link</span> </a> </div> </div> </div> </div> </div> <div class="p-sidebarWrapper"> <div class="p-body-sidebar"> <div id='div-gpt-eto_customsearchbox'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eto_customsearchbox'); }); </script> </div> <div class="block" data-widget-id="10" data-widget-key="sidebarthreads" data-widget-definition="new_threads"> <div class="block-container"> <h3 class="block-minorHeader"> <a href="/whats-new/" rel="nofollow">Latest threads</a> </h3> <ul class="block-body"> <li class="block-row"> <div class="contentRow"> <div class="contentRow-figure"> <a href="/members/whiteyford.328100/" class="avatar avatar--xxs avatar--default avatar--default--dynamic" data-user-id="328100" data-xf-init="member-tooltip" style="background-color: #993399; color: #df9fdf"> <span class="avatar-u328100-s" role="img" aria-label="Whiteyford">W</span> </a> </div> <div class="contentRow-main contentRow-main--close"> <a href="/threads/crossfader-channel-switch.166940/">Crossfader channel switch</a> <div class="contentRow-minor contentRow-minor--hideLinks"> <ul class="listInline listInline--bullet"> <li>Started by Whiteyford</li> <li><time class="u-dt" dir="auto" datetime="2024-11-23T20:58:07-0800" data-time="1732424287" data-date-string="Nov 23, 2024" data-time-string="8:58 PM" title="Nov 23, 2024 at 8:58 PM">42 minutes ago</time></li> <li>Replies: 0</li> </ul> </div> <div class="contentRow-minor contentRow-minor--hideLinks"> <a href="/forums/general-electronics-chat/">General Electronics Chat</a> </div> </div> </div> </li> <li class="block-row"> <div class="contentRow"> <div class="contentRow-figure"> <a href="/members/buzinguyen.328097/" class="avatar avatar--xxs avatar--default avatar--default--dynamic" data-user-id="328097" data-xf-init="member-tooltip" style="background-color: #3333cc; color: #c2c2f0"> <span class="avatar-u328097-s" role="img" aria-label="buzinguyen">B</span> </a> </div> <div class="contentRow-main contentRow-main--close"> <a href="/threads/open-source-esp32-robotics-kit-for-modular-ai-powered-projects.166939/">Open-Source ESP32 Robotics Kit for Modular, AI-Powered Projects</a> <div class="contentRow-minor contentRow-minor--hideLinks"> <ul class="listInline listInline--bullet"> <li>Started by buzinguyen</li> <li><time class="u-dt" dir="auto" datetime="2024-11-23T15:49:06-0800" data-time="1732405746" data-date-string="Nov 23, 2024" data-time-string="3:49 PM" title="Nov 23, 2024 at 3:49 PM">Today at 3:49 PM</time></li> <li>Replies: 0</li> </ul> </div> <div class="contentRow-minor contentRow-minor--hideLinks"> <a href="/forums/electronic-projects-design-ideas-reviews/">Electronic Projects Design/Ideas/Reviews</a> </div> </div> </div> </li> <li class="block-row"> <div class="contentRow"> <div class="contentRow-figure"> <a href="/members/koyote.328095/" class="avatar avatar--xxs avatar--default avatar--default--dynamic" data-user-id="328095" data-xf-init="member-tooltip" style="background-color: #99cc33; color: #2e3d0f"> <span class="avatar-u328095-s" role="img" aria-label="koyote">K</span> </a> </div> <div class="contentRow-main contentRow-main--close"> <a href="/threads/how-to-determine-wiring-of-dc-motor-controller.166938/">How to determine wiring of DC motor controller</a> <div class="contentRow-minor contentRow-minor--hideLinks"> <ul class="listInline listInline--bullet"> <li>Started by koyote</li> <li><time class="u-dt" dir="auto" datetime="2024-11-23T14:30:20-0800" data-time="1732401020" data-date-string="Nov 23, 2024" data-time-string="2:30 PM" title="Nov 23, 2024 at 2:30 PM">Today at 2:30 PM</time></li> <li>Replies: 0</li> </ul> </div> <div class="contentRow-minor contentRow-minor--hideLinks"> <a href="/forums/general-electronics-chat/">General Electronics Chat</a> </div> </div> </div> </li> <li class="block-row"> <div class="contentRow"> <div class="contentRow-figure"> <a href="/members/simon_ashley.328092/" class="avatar avatar--xxs avatar--default avatar--default--dynamic" data-user-id="328092" data-xf-init="member-tooltip" style="background-color: #336699; color: #9fbfdf"> <span class="avatar-u328092-s" role="img" aria-label="Simon_Ashley">S</span> </a> </div> <div class="contentRow-main contentRow-main--close"> <a href="/threads/electronic-damper-control.166937/">Electronic Damper Control</a> <div class="contentRow-minor contentRow-minor--hideLinks"> <ul class="listInline listInline--bullet"> <li>Started by Simon_Ashley</li> <li><time class="u-dt" dir="auto" datetime="2024-11-23T06:40:06-0800" data-time="1732372806" data-date-string="Nov 23, 2024" data-time-string="6:40 AM" title="Nov 23, 2024 at 6:40 AM">Today at 6:40 AM</time></li> <li>Replies: 4</li> </ul> </div> <div class="contentRow-minor contentRow-minor--hideLinks"> <a href="/forums/automotive-electronics/">Automotive Electronics</a> </div> </div> </div> </li> <li class="block-row"> <div class="contentRow"> <div class="contentRow-figure"> <a href="/members/carl25.328086/" class="avatar avatar--xxs avatar--default avatar--default--dynamic" data-user-id="328086" data-xf-init="member-tooltip" style="background-color: #cccc66; color: #606020"> <span class="avatar-u328086-s" role="img" aria-label="carl25">C</span> </a> </div> <div class="contentRow-main contentRow-main--close"> <a href="/threads/stepper-motor-help-needed.166936/">Stepper motor help needed</a> <div class="contentRow-minor contentRow-minor--hideLinks"> <ul class="listInline listInline--bullet"> <li>Started by carl25</li> <li><time class="u-dt" dir="auto" datetime="2024-11-22T22:30:50-0800" data-time="1732343450" data-date-string="Nov 22, 2024" data-time-string="10:30 PM" title="Nov 22, 2024 at 10:30 PM">Yesterday at 10:30 PM</time></li> <li>Replies: 2</li> </ul> </div> <div class="contentRow-minor contentRow-minor--hideLinks"> <a href="/forums/arduino/">Arduino</a> </div> </div> </div> </li> </ul> </div> </div> <div id='div-gpt-eto_sidebar1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eto_sidebar1'); }); </script> </div> <a href="https://www.eeworldonline.com/subscribe-eeworld-newsletter/" target="_new" style="padding-top:10px;padding-bottom:10px"> <img src="https://czdfw1kuw9n20zm0l7pmfb1a-wpengine.netdna-ssl.com/wp-content/uploads/2016/03/ee-enews-signup.jpg"> </a> <div id='div-gpt-eto_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eto_sidebarbottom'); }); </script> </div> <div class="block" data-widget-id="35" data-widget-key="rss_feed" data-widget-definition="rssFeed"> <div class="block-container"> <h3 class="block-minorHeader">New Articles From Microcontroller Tips</h3> <div class="block-body block-row"> <ul class="listHeap"> <li class="rssfeed-title"> <a href="https://www.microcontrollertips.com/512-mbit-qspi-nor-flash-memory-operates-at-133-mhz-for-space-applications/" target="_blank">512 Mbit QSPI NOR Flash memory operates at 133 MHz for space applications</a> <div class="rssfeed-date"> Fri, 22 Nov 2024 12:14:47 PST </div> </li> <li class="rssfeed-title"> <a href="https://www.microcontrollertips.com/memory-controllers-support-12-8-gb-s-data-rates/" target="_blank">Memory controllers support 12.8 GB/s data rates</a> <div class="rssfeed-date"> Fri, 22 Nov 2024 11:24:37 PST </div> </li> <li class="rssfeed-title"> <a href="https://www.microcontrollertips.com/how-are-ai-and-ml-used-for-advanced-threat-detection/" target="_blank">How are AI and ML used for advanced threat detection?</a> <div class="rssfeed-date"> Wed, 20 Nov 2024 02:31:12 PST </div> </li> </ul> </div> </div> </div> </div> </div> </div> <div class="p-breadcrumbs--parent p-breadcrumbs--bottom"> <ul class="p-breadcrumbs p-breadcrumbs--bottom" itemscope itemtype="https://schema.org/BreadcrumbList"> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a href="/#electronics-forums.3" itemprop="item"> <span itemprop="name">Electronics Forums</span> </a> <meta itemprop="position" content="1" /> </li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a href="/forums/electronic-projects-design-ideas-reviews/" itemprop="item"> <span itemprop="name">Electronic Projects Design/Ideas/Reviews</span> </a> <meta itemprop="position" content="2" /> </li> </ul> </div> <div id='div-gpt-eto_interstitial'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eto_interstitial'); }); </script> </div> </div> </div> </div> <!-- closing xb-content-wrapper --> <footer class="p-footer" id="footer"> <div class="p-footer--container footer-stretched"> <div class="p-footer-copyright"> <div class="p-footer-inner"> <div class="p-footer-copyright--flex"> <div class="copyright-left"> Copyright © <script type="text/javascript">d = new Date();y = d.getFullYear();document.write(y);</script> WTWH Media, LLC. All Rights Reserved. </div> <div class="copyright-right"> <div class="p-footer-default"> <div class="p-footer-inner"> <div class="p-footer-row"> <div class="p-footer-row-main"> <ul class="p-footer-linkList"> <li class="p-linkList-changeWidth"><a class="pageWidthToggle xb-toggle-default" role="button" tabindex="0" data-xf-click="toggle" data-target="html" data-active-class="xb-toggle-default" data-xf-init="toggle-storage" data-storage-type="cookie" data-storage-expiry="31556926" data-storage-key="_xb-width"> Change width </a></li> </ul> </div> <div class="p-footer-row-opposite"> <ul class="p-footer-linkList"> <li><a href="/misc/contact" data-xf-click="overlay">Contact us</a></li> <li><a href="/help/terms/">Terms and rules</a></li> <li><a href="https://www.wtwhmedia.com/privacy-policy/">Privacy policy</a></li> <li><a href="/help/">Help</a></li> <li><a href="/forums/-/index.rss" target="_blank" class="p-footer-rssLink" title="RSS"><span aria-hidden="true"><i class="fa--xf fal fa-rss" aria-hidden="true"></i><span class="u-srOnly">RSS</span></span></a></li> </ul> </div> </div> </div> </div> </div> </div> </div> </div> </div> </footer> </div> <!-- closing p-pageWrapper --> </div> <!-- closing xb-pageWrapper --> <div class="u-bottomFixer js-bottomFixTarget"> <ul class="notices notices--bottom_fixer js-notices" data-xf-init="notices" data-type="bottom_fixer" data-scroll-interval="6"> <li class="notice js-notice notice--primary notice--cookie" data-notice-id="-1" data-delay-duration="0" data-display-duration="0" data-auto-dismiss="0" data-visibility=""> <div class="notice-content"> <div class="u-alignCenter"> This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.<br /> By continuing to use this site, you are consenting to our use of cookies. </div> <div class="u-inputSpacer u-alignCenter"> <a href="/account/dismiss-notice" class="js-noticeDismiss button--notice button button--icon button--icon--confirm"><span class="button-text">Accept</span></a> <a href="/help/cookies" class="button--notice button"><span class="button-text">Learn more…</span></a> </div> </div> </li> </ul> </div> <div class="u-navButtons js-navButtons" data-trigger-type="up"> <a href="javascript:" class="button--scroll button"><span class="button-text"><i class="fa--xf fal fa-arrow-left" aria-hidden="true"></i><span class="u-srOnly">Back</span></span></a> </div> <div class="u-scrollButtons js-scrollButtons" data-trigger-type="up"> <a href="#top" class="button--scroll button" data-xf-click="scroll-to"><span class="button-text"><i class="fa--xf fal fa-arrow-up" aria-hidden="true"></i><span class="u-srOnly">Top</span></span></a> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script><script>window.jQuery || document.write('<script src="/js/vendor/jquery/jquery-3.5.1.min.js?_v=1977d1d7"><\/script>')</script> <script src="/js/vendor/vendor-compiled.js?_v=1977d1d7"></script> <script src="/js/xf/core-compiled.js?_v=1977d1d7"></script> <script src="/js/xf/lightbox-compiled.js?_v=1977d1d7"></script> <script src="/js/XenCentral/InContentAds/ads.js?_v=1977d1d7"></script> <script src="/js/sv/ese/xf/structure.min.js?_v=1977d1d7"></script> <script src="/js/xf/notice.min.js?_v=1977d1d7"></script> <script src="/js/CMTV/Math/preview-observer.min.js?_v=1977d1d7"></script> <script src="/js/CMTV/Math/selector-resolver.min.js?_v=1977d1d7"></script> <script src="/js/XenCentral/PrestitialAds/adlogic.js?_v=1977d1d7"></script> <script> $(".xb-searchWrapper").on("click", function(event) { $(".xb-searchWrapper").addClass("is-active"); event.stopPropagation(); }); $(".xb-searchWrapper").on("click", function(event) { event.stopPropagation(); }); $(document).on("click", function(event) { $(".xb-searchWrapper").removeClass("is-active"); }); </script> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ // CMTV_Math_MathJax_CONFIG_START tex2jax: { processClass: "mathjax-proceed", ignoreClass: "mathjax-skip" }, asciimath2jax: { processClass: "mathjax-proceed", ignoreClass: "mathjax-skip" }, showMathMenu: 1, messageStyle: "none", displayAlign: "center", // CMTV_Math_MathJax_CONFIG_END }); </script> <script class="js-CMTV_Math_renderOptions" type="application/json">{"where":"positions","positions":{"titles":1,"content":1,"pages":1,"signatures":1,"about":1}}</script> <script class="js-CMTV_Math_customRenderSelectors" type="application/json">[]</script> <script class="js-CMTV_Math_customSkipSelectors" type="application/json">[]</script> <script class="js-CMTV_Math_predefinedSelectors" type="application/json"> { "titles": [ ".p-title-value", ".contentRow-title", ".p-body-sidebar .contentRow-main > a", ".resourceSidebarList .contentRow-main > a", ".node-extra-title", ".structItem-title" ], "content": [ ".message-body", ".contentRow-snippet", ".tooltip-content", ".resourceBody-main", ".structItem-resourceTagLine", ".bbCodePreview-content", ".comment-body", "[data-widget-definition='new_profile_posts'] .contentRow-faderContent" ], "pages": [ "[data-template='help_page'] .p-body-pageContent", "[data-template='help_page'] .p-body-sideNavContent", "[data-template='help_index'] .p-body-pageContent", "[data-template='help_index'] .p-body-sideNavContent" ], "signatures": [ ".message-signature", "[data-template=member_view] .block-row:contains(Signature)" ], "about": [ "[data-template=member_view] .block-row:first-of-type" ], "skipDefault": [ ".bbCodeBlock", ".bbCodeInline", ".fr-box" ] } </script> <script>CMTV_Math.SResolver.resolve();</script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_CHTML&locale=en" async></script> <script> jQuery.extend(true, XF.config, { // userId: 0, enablePush: false, pushAppServerKey: '', url: { fullBase: 'https://www.electro-tech-online.com/', basePath: '/', css: '/css.php?css=__SENTINEL__&s=8&l=1&d=1708496185', keepAlive: '/login/keep-alive' }, cookie: { path: '/', domain: '', prefix: 'xf_', secure: true, consentMode: 'simple', consented: ["optional","_third_party"] }, cacheKey: '461d5857f62033221874019026e21196', csrf: '1732426840,8fd4c0701df39c7beedb7662caa3baf9', js: {"\/js\/xf\/lightbox-compiled.js?_v=1977d1d7":true,"\/js\/XenCentral\/InContentAds\/ads.js?_v=1977d1d7":true,"\/js\/sv\/ese\/xf\/structure.min.js?_v=1977d1d7":true,"\/js\/xf\/notice.min.js?_v=1977d1d7":true,"\/js\/CMTV\/Math\/preview-observer.min.js?_v=1977d1d7":true,"\/js\/CMTV\/Math\/selector-resolver.min.js?_v=1977d1d7":true,"\/js\/XenCentral\/PrestitialAds\/adlogic.js?_v=1977d1d7":true}, css: {"public:CMTV_Math.less":true,"public:andy_rssfeed.less":true,"public:attachments.less":true,"public:lightbox.less":true,"public:message.less":true,"public:notices.less":true,"public:share_controls.less":true,"public:structured_list.less":true,"public:svESE_autocomplete.less":true,"public:xb.less":true,"public:xb_search.less":true,"public:xb_welcome.less":true,"public:xcpa_main.css":true,"public:xcpa_prestitial.css":true,"public:extra.less":true}, time: { now: 1732426840, today: 1732348800, todayDow: 6, tomorrow: 1732435200, yesterday: 1732262400, week: 1731830400 }, borderSizeFeature: '3px', fontAwesomeWeight: 'l', enableRtnProtect: true, enableFormSubmitSticky: true, uploadMaxFilesize: 268435456, allowedVideoExtensions: ["m4v","mov","mp4","mp4v","mpeg","mpg","ogv","webm"], allowedAudioExtensions: ["mp3","opus","ogg","wav"], shortcodeToEmoji: true, visitorCounts: { conversations_unread: '0', alerts_unviewed: '0', total_unread: '0', title_count: true, icon_indicator: true }, jsState: {}, publicMetadataLogoUrl: '', publicPushBadgeUrl: 'https://www.electro-tech-online.com/styles/default/xenforo/bell.png' }); jQuery.extend(XF.phrases, { // date_x_at_time_y: "{date} at {time}", day_x_at_time_y: "{day} at {time}", yesterday_at_x: "Yesterday at {time}", x_minutes_ago: "{minutes} minutes ago", one_minute_ago: "1 minute ago", a_moment_ago: "A moment ago", today_at_x: "Today at {time}", in_a_moment: "In a moment", in_a_minute: "In a minute", in_x_minutes: "In {minutes} minutes", later_today_at_x: "Later today at {time}", tomorrow_at_x: "Tomorrow at {time}", day0: "Sunday", day1: "Monday", day2: "Tuesday", day3: "Wednesday", day4: "Thursday", day5: "Friday", day6: "Saturday", dayShort0: "Sun", dayShort1: "Mon", dayShort2: "Tue", dayShort3: "Wed", dayShort4: "Thu", dayShort5: "Fri", dayShort6: "Sat", month0: "January", month1: "February", month2: "March", month3: "April", month4: "May", month5: "June", month6: "July", month7: "August", month8: "September", month9: "October", month10: "November", month11: "December", active_user_changed_reload_page: "The active user has changed. Reload the page for the latest version.", server_did_not_respond_in_time_try_again: "The server did not respond in time. Please try again.", oops_we_ran_into_some_problems: "Oops! We ran into some problems.", oops_we_ran_into_some_problems_more_details_console: "Oops! We ran into some problems. Please try again later. More error details may be in the browser console.", file_too_large_to_upload: "The file is too large to be uploaded.", uploaded_file_is_too_large_for_server_to_process: "The uploaded file is too large for the server to process.", files_being_uploaded_are_you_sure: "Files are still being uploaded. Are you sure you want to submit this form?", attach: "Attach files", rich_text_box: "Rich text box", close: "Close", link_copied_to_clipboard: "Link copied to clipboard.", text_copied_to_clipboard: "Text copied to clipboard.", loading: "Loading…", you_have_exceeded_maximum_number_of_selectable_items: "You have exceeded the maximum number of selectable items.", processing: "Processing", 'processing...': "Processing…", showing_x_of_y_items: "Showing {count} of {total} items", showing_all_items: "Showing all items", no_items_to_display: "No items to display", number_button_up: "Increase", number_button_down: "Decrease", push_enable_notification_title: "Push notifications enabled successfully at Electronics Forum (Circuits, Projects and Microcontrollers)", push_enable_notification_body: "Thank you for enabling push notifications!", pull_down_to_refresh: "Pull down to refresh", release_to_refresh: "Release to refresh", refreshing: "Refreshing…" , "svStandardLib_time.day": "{count} day", "svStandardLib_time.days": "{count} days", "svStandardLib_time.hour": "{count} hour", "svStandardLib_time.hours": "{count} hours", "svStandardLib_time.minute": "{count} minutes", "svStandardLib_time.minutes": "{count} minutes", "svStandardLib_time.month": "{count} month", "svStandardLib_time.months": "{count} months", "svStandardLib_time.second": "{count} second", "svStandardLib_time.seconds": "{count} seconds", "svStandardLib_time.week": "time.week", "svStandardLib_time.weeks": "{count} weeks", "svStandardLib_time.year": "{count} year", "svStandardLib_time.years": "{count} years" }); </script> <form style="display:none" hidden="hidden"> <input type="text" name="_xfClientLoadTime" value="" id="_xfClientLoadTime" title="_xfClientLoadTime" tabindex="-1" /> </form> <!-- wall paper nui--> <!--<script type="text/javascript" language="JavaScript"> aj_server = 'https://designw.nui.media/pipeline/'; aj_tagver = '1.0'; aj_zone = 'designw'; aj_adspot = '581371'; aj_page = '0'; aj_dim ='564654'; aj_ch = ''; aj_ct = ''; aj_kw = ''; aj_pv = true; aj_click = ''; </script><script type="text/javascript" language="JavaScript" src="https://img.nui.media/banners/ajtg.js"></script>--> <!-- wall paper - AG --> <div id='div-gpt-eto_wallpaper'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eto_wallpaper'); }); </script> </div> <!-- XenBase Version: 2.2.14 --> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "QAPage", "url": "https://www.electro-tech-online.com/threads/open-source-esp32-robotics-kit-for-modular-ai-powered-projects.166939/", "mainEntity": { "@type": "Question", "@id": "https://www.electro-tech-online.com/threads/open-source-esp32-robotics-kit-for-modular-ai-powered-projects.166939/", "name": "Open-Source ESP32 Robotics Kit for Modular, AI-Powered Projects", "datePublished": "2024-11-23T23:49:06+00:00", "keywords": "arduino, artificial intelligence, crowd funding, education, esp32, iot, machine learning, microcontroller, project, robotics", "url": "https://www.electro-tech-online.com/threads/open-source-esp32-robotics-kit-for-modular-ai-powered-projects.166939/", "image": "https://www.electro-tech-online.com/attachments/dsc09969-jpg.147838/", "text": "Hi folks, I want to share with you a product that my team and I have been working on for the past years to help breaking into engineering, and specifically, robotics easier for everyone.\n\nWe launched the first CYOBot last year as an open-source legged robot called CYOCrawler. It featured a WiFi-based coding interface (MicroPython and Blockly) but faced limitations like limited SRAM, causing memory errors with multiple peripherals, and basic ADC audio that didn\u2019t support clear voice commands. The previous design also lacked modularity, making hardware extensions challenging.\n\nAfter selling roughly 100 units last year (I know for some folks this number is not that much, but we're still learning and iterating from feedback), we just recently launched CYOBot V2, addressing concerns and wishlists from customers and the open-source community. We\u2019ve upgraded the development board to use ESP32-S3 with 8MB Flash and PSRAM, allowing it to handle larger libraries and multitask efficiently. The new I2S dual microphones and speaker with a dedicated audio codec enable clear audio for voice commands. Plus, the modular design now allows easy swapping between robot configurations or custom bases.\n\nWe also developed a learning platform for the robot, so that you can play and practice skills in machine learning, control theory, IoT, kinematics, and embedded systems. This is particularly important for students that we have interacted with, as having a hardware platform does not necessarily mean that they know what to do with it. This platform will soon be integrated with an online IDE that can interface with the robot using a websocket, so that the users can read the challenge prompts, load the activity directly to the IDE and start solving/learning right away.\n\nSee the new design in action on our campaign here: https://www.kickstarter.com/project...ruped-robot-for-innovation-and-fun?ref=6waexz\n\nOn the other hand, the schematics and source for the board are available on Hackaday: https://hackaday.io/project/199084-cyobot-v2-transformable-quadruped-robot. The project is OSHWA certified.\n\nWould love to hear your feedback on the campaign and the product! At the same time, we'd appreciate having you backing us. Thank you!", "answerCount": 0, "upvoteCount": 0, "author": { "@type": "Person", "@id": "https://www.electro-tech-online.com/members/buzinguyen.328097/", "name": "buzinguyen", "url": "https://www.electro-tech-online.com/members/buzinguyen.328097/" }, "suggestedAnswer": [] }, "publisher": { "@type": "Organization", "name": "Electronics Forum (Circuits, Projects and Microcontrollers)", "description": "An electronics forum to talk all about circuits and projects.", "url": "https://www.electro-tech-online.com" } } </script> <!-- Google Tag Manager (noscript) Global --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MMC9PJ9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KLX5R59" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <script> $(function(){ var notice = $('.xb-welcome-notice'); if(notice.length){ var cookie = XF.Cookie.get('hide_welcome_notice'); if(!cookie){ XF.Cookie.set('hide_welcome_notice', Date.now()); notice.show(); } else if ((Date.now() - cookie) > 8.64e+7){ XF.Cookie.set('hide_welcome_notice', Date.now()); notice.show(); } else { notice.hide(); } } }); </script> </div> </body> </html>