<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Let&apos;s make awesome pet robots</title>
    <description>Educational Robots - built on Arduino, ROS2 and Kaia.ai</description>
    <link>https://makerspet.com/</link>
    <atom:link href="https://makerspet.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sat, 28 Mar 2026 04:00:13 +0000</pubDate>
    <lastBuildDate>Sat, 28 Mar 2026 04:00:13 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>World Map of Our Customers</title>
        <description>&lt;p&gt;Here is a world map of Maker’s Pet customer we have shipped to as of March 16, 2026.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/customer_map.png&quot; alt=&quot;Makers Pet customers world map&quot; title=&quot;Makers Pet customers world map&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Mon, 16 Mar 2026 00:00:00 +0000</pubDate>
        <link>https://makerspet.com/blog/customer-world-map/</link>
        <guid isPermaLink="true">https://makerspet.com/blog/customer-world-map/</guid>
        
        
      </item>
    
      <item>
        <title>How to Connect L298N Motor Driver to ESP32</title>
        <description>&lt;p&gt;L298N is a popular, low-cost motor driver board. Here is how you can connect L298N to ESP32 and drive a ROS2 (Kaia.ai-compatible) differential robot.&lt;/p&gt;

&lt;h2 id=&quot;schematic&quot;&gt;Schematic&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/webp/esp32_lm298n_n20motors_connections.webp&quot; alt=&quot;ESP32, L298N and N20 Motors Schematic&quot; title=&quot;ESP32, L298N and N20 Motors Schematic&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;wiring&quot;&gt;Wiring&lt;/h2&gt;

&lt;p&gt;Refer to these wiring example illustrations.&lt;/p&gt;

&lt;table&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;img src=&quot;/assets/images/webp/esp32_to_l298n_wiring_b.webp&quot; alt=&quot;ESP32 to L298N Wiring&quot; title=&quot;ESP32 to L298N Wiring&quot; class=&quot;zoom-image&quot; /&gt;&lt;/td&gt;
      &lt;td&gt;&lt;img src=&quot;/assets/images/webp/esp32_to_l298n_wiring_a.webp&quot; alt=&quot;ESP32 to L298N Wiring&quot; title=&quot;ESP32 to L298N Wiring&quot; class=&quot;zoom-image&quot; /&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;/p&gt;

&lt;table&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;img src=&quot;/assets/images/webp/esp32_to_l298n_to_n20_motor_wiring_a.webp&quot; alt=&quot;ESP32 to L298N and N20 Motor Wiring&quot; title=&quot;ESP32 to L298N and N20 Motor Wiring&quot; class=&quot;zoom-image&quot; /&gt;&lt;/td&gt;
      &lt;td&gt;&lt;img src=&quot;/assets/images/webp/esp32_to_l298n_wiring_c.webp&quot; alt=&quot;ESP32 to L298N Wiring&quot; title=&quot;ESP32 to L298N Wiring&quot; class=&quot;zoom-image&quot; /&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;/p&gt;

&lt;table&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;img src=&quot;/assets/images/webp/l298n_to_n20_motor_wiring_a.webp&quot; alt=&quot;L298N to N20 Motor Wiring&quot; title=&quot;L298N to N20 Motor Wiring&quot; class=&quot;zoom-image&quot; /&gt;&lt;/td&gt;
      &lt;td&gt;&lt;img src=&quot;/assets/images/webp/l298n_wiring_a.webp&quot; alt=&quot;L298N Wiring&quot; title=&quot;L298N Wiring&quot; class=&quot;zoom-image&quot; /&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;/p&gt;

&lt;div class=&quot;text-center&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/V_50bZ3S7bE?si=vKl0UPY-jvC7vU5l&amp;amp;list=PLOSXKDW70aR-6j6sCWfK29ValtOl91iZ6&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;

&lt;h2 id=&quot;firmware&quot;&gt;Firmware&lt;/h2&gt;

&lt;p&gt;Use the &lt;a href=&quot;https://github.com/kaiaai/firmware&quot;&gt;default firmware&lt;/a&gt; with no changes.&lt;/p&gt;

&lt;p&gt;Use the &lt;a href=&quot;https://github.com/kaiaai/firmware/blob/iron/kaiaai-esp32/data/config.yaml&quot;&gt;default config.yaml file&lt;/a&gt; with no changes.&lt;/p&gt;

&lt;h2 id=&quot;power-supply&quot;&gt;Power supply&lt;/h2&gt;

&lt;p&gt;Make sure to power your L298N from a stable power supply.&lt;/p&gt;

&lt;p&gt;For example, if your robot runs on batteries, powering your L298N directly from the battery can cause problems when the battery gets low on charge. Specifically, your robot’s motors may not be able to achieve their maximum RPM when the battery voltage is low.&lt;/p&gt;

&lt;p&gt;To work around this problem, you may want to put a DC-DC converter between your battery and L298N to stabilize the motor power.&lt;/p&gt;

&lt;h2 id=&quot;bringup-instructions&quot;&gt;Bringup instructions&lt;/h2&gt;

&lt;p&gt;Follow &lt;a href=&quot;https://m.youtube.com/watch?v=6GtjAB19GP8&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&quot;&gt;video instructions&lt;/a&gt; to build and bring-up your robot.&lt;/p&gt;

&lt;p&gt;Happy robot building!&lt;/p&gt;
</description>
        <pubDate>Fri, 28 Nov 2025 00:00:00 +0000</pubDate>
        <link>https://makerspet.com/blog/how-to-connect-l298n-motor-driver-to-esp32/</link>
        <guid isPermaLink="true">https://makerspet.com/blog/how-to-connect-l298n-motor-driver-to-esp32/</guid>
        
        
        <category>L298N</category>
        
        <category>ESP32</category>
        
      </item>
    
      <item>
        <title>How to View Robot Telemetry Using Foxglove</title>
        <description>&lt;p&gt;Let’s view ROS2 robot telemetry, only this time let’s use &lt;a href=&quot;https://foxglove.dev&quot;&gt;Foxglove.dev&lt;/a&gt; instead of ROS2 RViz. Foxglove runs outside of ROS2. For example, I run Foxglove on my Windows PC in a browser, while my ROS2 runs inside a Docker container using Windows WSL.&lt;/p&gt;

&lt;h2 id=&quot;launch-ros2-docker-container&quot;&gt;Launch ROS2 Docker Container&lt;/h2&gt;

&lt;p&gt;Let’s launch Kaia.ai ROS2-based Docker container. I added &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-p 8765:8765/tcp&lt;/code&gt; to the launch command in order to open port 8765 for Foxglove data streaming.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;docker run --name makerspet -it -v c:\maps:/root/maps --rm -p 8888:8888/udp -p 4430:4430/tcp -p 8765:8765/tcp -e DISPLAY=host.docker.internal:0.0 -e LIBGL_ALWAYS_INDIRECT=0 kaiaai/kaiaai:iron
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;install-foxglove&quot;&gt;Install Foxglove&lt;/h2&gt;

&lt;p&gt;In your ROS2 Bash shell run the command below to install the &lt;a href=&quot;https://github.com/foxglove/ros-foxglove-bridge&quot;&gt;Foxglove bridge&lt;/a&gt; ROS2 node.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;apt update &amp;amp;&amp;amp; apt install -y ros-iron-foxglove-bridge
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Next, go to &lt;a href=&quot;https://foxglove.dev&quot;&gt;Foxglove.dev&lt;/a&gt; and install Foxglove viewer on your PC. I run Foxglove directly from my browser.&lt;/p&gt;

&lt;h2 id=&quot;launch-your-robot&quot;&gt;Launch Your Robot&lt;/h2&gt;

&lt;p&gt;Next, launch your ROS2 robot as usual. Please read the full instructions about setting up and operating Maker’s Arduino/ROS2 robots and Kaia.ai software &lt;a href=&quot;https://makerspet.com/blog/BLD-120MM-PACK/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;launch-foxglove&quot;&gt;Launch Foxglove&lt;/h2&gt;

&lt;p&gt;In your ROS2 Bash shell launch the Foxglove ROS2 node:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;ros2 launch foxglove_bridge foxglove_bridge_launch.xml port:=8765
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Open your Foxglove viewer&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;click Open Connection to a live robot or server&lt;/li&gt;
  &lt;li&gt;select Foxglove WebSocket &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ws://localhost:8765&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;your Foxglove viewer should connect and start displaying some data&lt;/li&gt;
  &lt;li&gt;expand View on the left and unhide the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/scan&lt;/code&gt; topic
    &lt;ul&gt;
      &lt;li&gt;select a color that is more visible&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;click the Topics tab in the left sidebar. You should see &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/scan&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/tf&lt;/code&gt; topics running.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/webp/foxglove2.webp&quot; alt=&quot;Foxglove viewer showing Maker&apos;s Pet Mini Arduino/ROS2 robot LiDAR scan&quot; title=&quot;Foxglove viewer showing Maker&apos;s Pet Mini Arduino/ROS2 robot LiDAR scan&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;using-foxglove-with-rosbridge&quot;&gt;Using Foxglove with Rosbridge&lt;/h2&gt;

&lt;p&gt;As an alternative, you can use &lt;a href=&quot;https://github.com/RobotWebTools/rosbridge_suite&quot;&gt;Rosbridge&lt;/a&gt; ROS2 node instead of &lt;a href=&quot;https://github.com/foxglove/ros-foxglove-bridge&quot;&gt;Foxglove bridge&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Both of these are ROS2 nodes and both use WebSockets. According to Foxglove, Foxglove bridge should run a bit faster compared to Rosbridge.&lt;/p&gt;

&lt;p&gt;The key advantage of using Rosbridge is that you can use your own client with Rosbridge - instead of the Foxglove viewer.&lt;/p&gt;

&lt;p&gt;Rosbridge uses port 9090 by default. Therefore, the Docker launch command should look like this:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;docker run --name makerspet -it -v c:\maps:/root/maps --rm -p 8888:8888/udp -p 4430:4430/tcp -p 9090:9090/tcp -e DISPLAY=host.docker.internal:0.0 -e LIBGL_ALWAYS_INDIRECT=0 kaiaai/kaiaai:iron
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Install Rosbridge using your ROS2 Bash shell:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;apt update &amp;amp;&amp;amp; apt install -y ros-iron-rosbridge-server
source /opt/ros/iron/setup.bash
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Launch Rosbridge using your ROS2 Bash shell:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;ros2 launch rosbridge_server rosbridge_websocket_launch.xml
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Launch your Foxglove viewer&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;click Open Connection to a live robot or server&lt;/li&gt;
  &lt;li&gt;select Foxglove WebSocket &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ws://localhost:9090&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;your Foxglove viewer should connect and start displaying data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Happy robot building!&lt;/p&gt;
</description>
        <pubDate>Thu, 11 Sep 2025 00:00:00 +0000</pubDate>
        <link>https://makerspet.com/blog/how-to-view-robot-telemetry-using-foxglove/</link>
        <guid isPermaLink="true">https://makerspet.com/blog/how-to-view-robot-telemetry-using-foxglove/</guid>
        
        
        <category>Mini</category>
        
        <category>ROS2</category>
        
        <category>Loki</category>
        
        <category>Fido</category>
        
        <category>Snoopy</category>
        
        <category>Foxglove</category>
        
      </item>
    
      <item>
        <title>How to Connect YDLIDAR X3, X3PRO, X2, X2L, X4 and SCL to Maker&apos;s Pet ESP32 Boards</title>
        <description>&lt;p&gt;YDLIDAR X3, X3PRO, X2 and X2L are a low-cost 2D LiDAR 360-degree distance sensor used in robotics for navigation. Here are instructions to connect YDLIDAR X3/X3PRO and X2/X2L to the LiDAR port on Maker’s Pet &lt;a href=&quot;https://makerspet.com/store#!/Driver-Board-for-ESP32-DOIT-DevKit-V1-Brushed-DC-Motors-and-LiDAR/p/724227009&quot;&gt;BDC-30P&lt;/a&gt; and &lt;a href=&quot;https://makerspet.com/store#!/Driver-Board-for-ESP32-DevKitC-V4-Brushed-DC-Motors-and-LiDAR/p/724216505&quot;&gt;BDC-38P&lt;/a&gt; motor driver and ESP32 carrier boards.&lt;/p&gt;

&lt;h2 id=&quot;hardware-wiring&quot;&gt;Hardware Wiring&lt;/h2&gt;

&lt;p&gt;Maker’s Pet BDC-30P and BDC-38C4 motor driver and ESP32 carrier boards have an 8-pin LiDAR header connector. The LiDAR header can be connected to a large variety of 2D LiDARs. The LiDAR header pins include:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;LiDAR TX&lt;/li&gt;
  &lt;li&gt;LiDAR RX&lt;/li&gt;
  &lt;li&gt;+5V power for LiDAR&lt;/li&gt;
  &lt;li&gt;GND ground for LiDAR&lt;/li&gt;
  &lt;li&gt;M- LiDAR’s motor negative terminal&lt;/li&gt;
  &lt;li&gt;M+ LiDAR’s motor positive terminal (connected to +5V power)&lt;/li&gt;
  &lt;li&gt;PWM for LiDAR motor speed control&lt;/li&gt;
  &lt;li&gt;EN for LiDAR enable/disable (used by YDLIDAR X4 only)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;YDLIDAR X3/X3PRO and X2/X2L have a Molex PicoBlade 1.25mm 4-pin connector. The photo below shows the YDLIDAR X3/X3PRO connector pinout.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/webp/ydlidar_x3_pro_bottom_marked.webp&quot; alt=&quot;YDLIDAR X3 PRO connector pinout&quot; title=&quot;YDLIDAR X3 PRO connector pinout&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The photo below shows the YDLIDAR X2/X2L connector pinout.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/webp/ydlidar_x2l_bottom_marked.webp&quot; alt=&quot;YDLIDAR X2L connector pinout&quot; title=&quot;YDLIDAR X2L connector pinout&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;For easy connection, Maker’s Pet sells a &lt;a href=&quot;https://makerspet.com/store#!/Breakout-Cable-for-YDLIDAR-X2-X2L-X3-X3-PRO-SCL/p/746225737&quot;&gt;breakout cable for YDLIDAR X2, X2L, X3, X3 PRO and SCL&lt;/a&gt; with 2.54mm female DuPont connectors.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/webp/ydlidar_x2_breakout_cable_1_cropped.webp&quot; alt=&quot;Makers Pet breakout cable for YDLIDAR X2, X2L, X3, X3 PRO and SCL&quot; title=&quot;Makers Pet breakout cable for YDLIDAR X2, X2L, X3, X3 PRO and SCL&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Make the following connections between YDLIDAR X3/X3PRO X2/X2L Lidar and BDC-30P/BDC-38C4 board:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;LiDAR TX to board LiDAR header TX&lt;/li&gt;
  &lt;li&gt;LiDAR GND to board LiDAR header GND&lt;/li&gt;
  &lt;li&gt;LiDAR +5V to board LiDAR header +5V&lt;/li&gt;
  &lt;li&gt;LiDAR M_CTR/M_SCTR to board LiDAR header PWM&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;firmware-configuration&quot;&gt;Firmware Configuration&lt;/h2&gt;

&lt;p&gt;Edit your Kaia.ai firmware &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yaml&lt;/code&gt; configuration file. In the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lidar&lt;/code&gt; section comment out everything except your LiDAR model:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YDLIDAR X3&lt;/code&gt; for YDLIDAR X3&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YDLIDAR X3 PRO&lt;/code&gt; for YDLIDAR X3 PRO&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YDLIDAR X2&lt;/code&gt; for YDLIDAR X2&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YDLIDAR X2L&lt;/code&gt; for YDLIDAR X2L&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is &lt;a href=&quot;https://kaia.ai/blog/kaiaai-configuration-file/&quot;&gt;reference documentation&lt;/a&gt; for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yaml&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Here is an example configuring YDLIDAR X3 PRO for use.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;lidar:
# model: LDROBOT LD14P
# model: NEATO XV11
# model: SLAMTEC RPLIDAR A1
# model: XIAOMI LDS02RR
# model: YDLIDAR SCL
# model: YDLIDAR X2
# model: YDLIDAR X2L
# model: YDLIDAR X3
  model: YDLIDAR X3 PRO
# model: 3IROBOTIX DELTA-2G
# model: 3IROBOTIX DELTA-2A 115200
# model: 3IROBOTIX DELTA-2A
# model: 3IROBOTIX DELTA-2B
# model: YDLIDAR X4 PRO
# model: YDLIDAR X4
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Your board’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yaml&lt;/code&gt; already contains ESP32 GPIO pin mapping to the board’s LiDAR connector, including LiDAR TX, RX, PWM and EN:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/makerspet/store/blob/main/BDC-30P/v1.1.1/config.yaml&quot;&gt;BDC-30P config.yaml&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/makerspet/store/blob/main/BDC-38C4/v1.2.0/config.yaml&quot;&gt;BDC-38C4 config.yaml&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For illustration purposes, here is the ESP32 GPIO pin assignment LiDAR from the &lt;a href=&quot;https://github.com/makerspet/store/blob/main/BDC-30P/v1.1.1/config.yaml&quot;&gt;BDC-30P config.yaml&lt;/a&gt;.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;lidar:
  gpio:
    tx: 35
    rx: 27
    pwm: 13
    en: 32
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Upload your edited configuration file to ESP32 as Arduino sketch data, see &lt;a href=&quot;https://www.youtube.com/watch?v=tKfVU1n5TjA&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;index=4&quot;&gt;video&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Next, boot your firmware and check the Arduino Serial Monitor. The firmware should print your LiDAR model, e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LIDAR model YDLIDAR X3 PRO&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13964
load:0x40080400,len:3600
entry 0x400805f0

Kaia.ai firmware version 0.8.0-iron
ESP IDF version v4.4.7-dirty
SPIFFS mounted successfully
/network.yaml found; loaded OK
/config.yaml found; loaded OK
To enter web config push-and-release EN, then push-and-hold BOOT within 1 sec
Board model MINI-BDC30P-BODY with BDC-30P, version v1.1.1, manufacturer makerspet.com
LIDAR model YDLIDAR X3 PRO
LIDAR RX buffer size 1024, baud rate 115200
Battery ADC attenuation 7.00, voltage 2.68V
Motor driver type IN1_IN2; motor encoder type AB_QUAD
Motor Max RPM 180.00; encoder PPR 1035.00 TPR 4140.00

Connecting to WiFi NETGEAR48 ... 
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;ros2-software-configuration&quot;&gt;ROS2 Software Configuration&lt;/h2&gt;

&lt;p&gt;Follow this step if you are using Kaia.ai ROS2 PC software for robot mapping, navigation, SLAM and visualization. Otherwise you can skip this step.&lt;/p&gt;

&lt;p&gt;Override the default LiDAR model when you launch your robot using the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lidar_model&lt;/code&gt; argument, see &lt;a href=&quot;https://github.com/kaiaai/kaiaai#overriding-default-robot-and-lidar-models-per-launch&quot;&gt;more details&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Set the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lidar_model&lt;/code&gt; argument as follows:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YDLIDAR-X3&lt;/code&gt; for YDLIDAR X3&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YDLIDAR-X3-PRO&lt;/code&gt; for YDLIDAR X3 PRO&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YDLIDAR-X2-X2L&lt;/code&gt; for YDLIDAR X2 and X2L&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;ros2 launch kaiaai_bringup physical.launch.py robot_model:=makerspet_loki lidar_model:=YDLIDAR-X3-PRO
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The full list of supported &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lidar_model&lt;/code&gt; arguments is &lt;a href=&quot;https://github.com/kaiaai/kaiaai#list-of-supported-lidars&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When your robot’s ESP32 connects to your local ROS2 PC, your local PC should print your LiDAR model &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LDS model YDLIDAR-X3-PRO&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Your YDLIDAR sensor should be powered on and spinning.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/powershell_delta-2g_connected.png&quot; alt=&quot;YDLIDAR X3 PRO connected to Maker&apos;s Pet BDC-30P ESP32 Board ROS2 Bash Terminal Output&quot; title=&quot;3irobotix Delta-2G LiDAR connected to Makers Pet BDC-30P ESP32 Board ROS2 Bash Terminal Output&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In the meantime, you should see your ESP32 firmware printing out &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LiDAR RPM&lt;/code&gt; around 4.75 or 5. This means your Lidar is spinning at 4.75 rotations per second.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;connected, IP 192.168.1.153
Connecting to Micro-ROS agent 192.168.1.113 ... 

Telem avg 46 max 52ms, LiDAR RPM 4.75, wheels RPM 0.00 0.00, battery 8.00V, RSSI -60dBm
Telem avg 46 max 52ms, LiDAR RPM 4.75, wheels RPM 0.00 0.00, battery 8.00V, RSSI -59dBm
Telem avg 46 max 52ms, LiDAR RPM 4.75, wheels RPM 0.00 0.00, battery 8.00V, RSSI -61dBm
Telem avg 46 max 52ms, LiDAR RPM 4.75, wheels RPM 0.00 0.00, battery 8.00V, RSSI -62dBm
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;text-center&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/_VuRCiO55gA&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Mon, 28 Apr 2025 00:00:00 +0000</pubDate>
        <link>https://makerspet.com/blog/connect-ydlidar-x3-to-makerspet-esp32-boards/</link>
        <guid isPermaLink="true">https://makerspet.com/blog/connect-ydlidar-x3-to-makerspet-esp32-boards/</guid>
        
        
        <category>YDLIDAR X3</category>
        
        <category>YDLIDAR X3PRO</category>
        
        <category>YDLIDAR X2</category>
        
        <category>YDLIDAR X2L</category>
        
        <category>YDLIDAR SCL</category>
        
        <category>ESP32</category>
        
      </item>
    
      <item>
        <title>How to Connect Delta-2A, 2B and 2G LiDAR to Maker&apos;s Pet ESP32 Boards</title>
        <description>&lt;p&gt;3irobotix Delta-2A, 2B and 2G are a low-cost 2D LiDAR 360-degree distance sensor used in smart vacuum cleaners for navigation. Here are instructions to connect Delta-2G to the LiDAR port on Maker’s Pet &lt;a href=&quot;https://makerspet.com/store#!/Driver-Board-for-ESP32-DOIT-DevKit-V1-Brushed-DC-Motors-and-LiDAR/p/724227009&quot;&gt;BDC-30P&lt;/a&gt; and &lt;a href=&quot;https://makerspet.com/store#!/Driver-Board-for-ESP32-DevKitC-V4-Brushed-DC-Motors-and-LiDAR/p/724216505&quot;&gt;BDC-38P&lt;/a&gt; motor driver and ESP32 carrier boards.&lt;/p&gt;

&lt;h2 id=&quot;hardware-wiring&quot;&gt;Hardware Wiring&lt;/h2&gt;

&lt;p&gt;Maker’s Pet BDC-30P and BDC-38C4 motor driver and ESP32 carrier boards have an 8-pin LiDAR header connector. The LiDAR header can be connected to a large variety of 2D LiDARs. The LiDAR header pins include:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;LiDAR TX&lt;/li&gt;
  &lt;li&gt;LiDAR RX&lt;/li&gt;
  &lt;li&gt;+5V power for LiDAR&lt;/li&gt;
  &lt;li&gt;GND ground for LiDAR&lt;/li&gt;
  &lt;li&gt;M- LiDAR’s motor negative terminal&lt;/li&gt;
  &lt;li&gt;M+ LiDAR’s motor positive terminal (connected to +5V power)&lt;/li&gt;
  &lt;li&gt;PWM for LiDAR motor speed control&lt;/li&gt;
  &lt;li&gt;EN for LiDAR enable/disable (used by YDLIDAR X4 only)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some LiDARs, including 3irobotix Delta-2G, do not have a built-in LiDAR motor control. Maker’s Pet BDC-30 and BDC-38C4 have a special on-board circuit that drives the LiDAR motor directly. Kaia.ai Arduino ESP32 firmware controls that special circuit to perform real-time LiDAR motor speed control.&lt;/p&gt;

&lt;p&gt;3irobotix Delta-2A, 2B and 2G use a JST PH 2.0mm 5-pin connector. The photo below shows the Delta-2G connector pinout and connections to Maker’s Pet &lt;a href=&quot;https://makerspet.com/store#!/Driver-Board-for-ESP32-DOIT-DevKit-V1-Brushed-DC-Motors-and-LiDAR/p/724227009&quot;&gt;BDC-30P&lt;/a&gt; board with a 30-pin ESP32 dev kit.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;connect Delta LiDAR TX to BDC-30P LiDAR TX&lt;/li&gt;
  &lt;li&gt;connect Delta LiDAR GND to BDC-30P LiDAR GND&lt;/li&gt;
  &lt;li&gt;connect Delta LiDAR MOT- to BDC-30P LiDAR M-&lt;/li&gt;
  &lt;li&gt;connect Delta LiDAR +5V to BDC-30P LiDAR +5V&lt;/li&gt;
  &lt;li&gt;connect Delta LiDAR +5V/MOT+ to BDC-30P LiDAR +5V&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Idential wiring applies to the Maker’s Pet &lt;a href=&quot;https://makerspet.com/store#!/Driver-Board-for-ESP32-DevKitC-V4-Brushed-DC-Motors-and-LiDAR/p/724216505&quot;&gt;BDC-38P&lt;/a&gt; board with a 38-pin ESP32 dev kit as well.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/webp/delta-2g_with_bdc-30p_marked_up.webp&quot; alt=&quot;3irobotix Delta-2G LiDAR connected to Maker&apos;s Pet BDC-30P ESP32 Board&quot; title=&quot;3irobotix Delta-2G LiDAR connected to Makers Pet BDC-30P ESP32 Board&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Optionally, put a resistor in series with TX because Delta-2G TX outputs 5V signal, not 3.3V. A 100 Ohm to 10k resistor should work.&lt;/p&gt;

&lt;p&gt;For easy connection, Maker’s Pet sells a &lt;a href=&quot;https://makerspet.com/store#!/Breakout-Cable-for-YDLIDAR-X2-X2L-X3-X3-PRO-SCL/p/746225737&quot;&gt;breakout cable for 3irobotix Delta-2A and 2G&lt;/a&gt; with 2.54mm female DuPont connectors.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/webp/delta_2g_breakout_cable_1_cropped.webp&quot; alt=&quot;breakout cable for 3irobotix Delta-2A and 2G&quot; title=&quot;breakout cable for 3irobotix Delta-2A and 2G&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Here are more high-resolution photos of the wiring.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/webp/Delta-2G-connected-to-BDC-30P.webp&quot; alt=&quot;3irobotix Delta-2G LiDAR connected to Maker&apos;s Pet BDC-30P ESP32 Board&quot; title=&quot;3irobotix Delta-2G LiDAR connected to Makers Pet BDC-30P ESP32 Board&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/webp/Delta-2G-connected-to-BDC-30P-3.webp&quot; alt=&quot;3irobotix Delta-2G LiDAR connected to Maker&apos;s Pet BDC-30P ESP32 Board&quot; title=&quot;3irobotix Delta-2G LiDAR connected to Makers Pet BDC-30P ESP32 Board&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/webp/Delta-2G-connected-to-BDC-30P-2.webp&quot; alt=&quot;3irobotix Delta-2G LiDAR connected to Maker&apos;s Pet BDC-30P ESP32 Board&quot; title=&quot;3irobotix Delta-2G LiDAR connected to Makers Pet BDC-30P ESP32 Board&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;firmware-configuration&quot;&gt;Firmware Configuration&lt;/h2&gt;

&lt;p&gt;Edit your Kaia.ai firmware &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yaml&lt;/code&gt; configuration file. In the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lidar&lt;/code&gt; section comment out everything except your LiDAR model:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;3IROBOTIX DELTA-2A&lt;/code&gt; for Delta-2A&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;3IROBOTIX DELTA-2A&lt;/code&gt; for Delta-2A that runs at 115200 baud (I’m not 100% sure of this LiDAR model name)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;3IROBOTIX DELTA-2B&lt;/code&gt; for Delta-2B&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;3IROBOTIX DELTA-2G&lt;/code&gt; for Delta-2G&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is &lt;a href=&quot;https://kaia.ai/blog/kaiaai-configuration-file/&quot;&gt;reference documentation&lt;/a&gt; for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yaml&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;lidar:
# model: LDROBOT LD14P
# model: NEATO XV11
# model: SLAMTEC RPLIDAR A1
# model: XIAOMI LDS02RR
# model: YDLIDAR SCL
# model: YDLIDAR X2
# model: YDLIDAR X2L
# model: YDLIDAR X3
# model: YDLIDAR X3 PRO
  model: 3IROBOTIX DELTA-2G
# model: 3IROBOTIX DELTA-2A 115200
# model: 3IROBOTIX DELTA-2A
# model: 3IROBOTIX DELTA-2B
# model: YDLIDAR X4 PRO
# model: YDLIDAR X4
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Your board’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yaml&lt;/code&gt; already contains ESP32 GPIO pin mapping to the board’s LiDAR connector, including LiDAR TX, RX, PWM and EN:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/makerspet/store/blob/main/BDC-30P/v1.1.1/config.yaml&quot;&gt;BDC-30P config.yaml&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/makerspet/store/blob/main/BDC-38C4/v1.2.0/config.yaml&quot;&gt;BDC-38C4 config.yaml&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For illustration purposes, here is the ESP32 GPIO pin assignment LiDAR from the &lt;a href=&quot;https://github.com/makerspet/store/blob/main/BDC-30P/v1.1.1/config.yaml&quot;&gt;BDC-30P config.yaml&lt;/a&gt;.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;lidar:
  gpio:
    tx: 35
    rx: 27
    pwm: 13
    en: 32
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Upload your edited configuration file to ESP32 as Arduino sketch data, see &lt;a href=&quot;https://www.youtube.com/watch?v=tKfVU1n5TjA&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;index=4&quot;&gt;video&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Next, boot your firmware and check the Arduino Serial Monitor. The firmware should print &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LIDAR model 3IROBOTIX DELTA-2G&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13964
load:0x40080400,len:3600
entry 0x400805f0

Kaia.ai firmware version 0.8.0-iron
ESP IDF version v4.4.7-dirty
SPIFFS mounted successfully
/network.yaml found; loaded OK
/config.yaml found; loaded OK
To enter web config push-and-release EN, then push-and-hold BOOT within 1 sec
Board model MINI-BDC30P-BODY with BDC-30P, version v1.1.1, manufacturer makerspet.com
LIDAR model 3IROBOTIX DELTA-2G
LIDAR RX buffer size 1024, baud rate 115200
Battery ADC attenuation 7.00, voltage 2.68V
Motor driver type IN1_IN2; motor encoder type AB_QUAD
Motor Max RPM 180.00; encoder PPR 1035.00 TPR 4140.00

Connecting to WiFi NETGEAR48 ... 
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;ros2-software-configuration&quot;&gt;ROS2 Software Configuration&lt;/h2&gt;

&lt;p&gt;Follow this step if you are using Kaia.ai ROS2 PC software for robot mapping, navigation, SLAM and visualization. Otherwise you can skip this step.&lt;/p&gt;

&lt;p&gt;Override the default LiDAR model when you launch your robot using the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lidar_model&lt;/code&gt; argument, see &lt;a href=&quot;https://github.com/kaiaai/kaiaai#overriding-default-robot-and-lidar-models-per-launch&quot;&gt;more details&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Set the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lidar_model&lt;/code&gt; argument as follows:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;3IROBOTIX-DELTA-2A&lt;/code&gt; for 3irobotix Delta-2A and the 115200 baud Delta-2A&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;3IROBOTIX-DELTA-2B&lt;/code&gt; for 3irobotix Delta-2B&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;3IROBOTIX-DELTA-2G&lt;/code&gt; for 3irobotix Delta-2G&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;ros2 launch kaiaai_bringup physical.launch.py robot_model:=makerspet_loki lidar_model:=YDLIDAR-X3-PRO
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The full list of supported &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lidar_model&lt;/code&gt; arguments is &lt;a href=&quot;https://github.com/kaiaai/kaiaai#list-of-supported-lidars&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When your robot’s ESP32 connects to your local ROS2 PC, your local PC should print your LiDAR model &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LDS model 3IROBOTIX-DELTA-2G&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Your Delta LiDAR should be powered on and spinning.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/powershell_delta-2g_connected.png&quot; alt=&quot;3irobotix Delta-2G LiDAR connected to Maker&apos;s Pet BDC-30P ESP32 Board ROS2 Bash Terminal Output&quot; title=&quot;3irobotix Delta-2G LiDAR connected to Makers Pet BDC-30P ESP32 Board ROS2 Bash Terminal Output&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In the meantime, you should see your ESP32 firmware printing out &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;LiDAR RPM&lt;/code&gt; around 4.75 or 5. This means your Lidar is spinning at 4.75 rotations per second.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;connected, IP 192.168.1.153
Connecting to Micro-ROS agent 192.168.1.113 ... 

Telem avg 46 max 52ms, LiDAR RPM 4.75, wheels RPM 0.00 0.00, battery 8.00V, RSSI -60dBm
Telem avg 46 max 52ms, LiDAR RPM 4.75, wheels RPM 0.00 0.00, battery 8.00V, RSSI -59dBm
Telem avg 46 max 52ms, LiDAR RPM 4.75, wheels RPM 0.00 0.00, battery 8.00V, RSSI -61dBm
Telem avg 46 max 52ms, LiDAR RPM 4.75, wheels RPM 0.00 0.00, battery 8.00V, RSSI -62dBm
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;text-center&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/K2i_wee3JU8&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
        <pubDate>Sun, 27 Apr 2025 00:00:00 +0000</pubDate>
        <link>https://makerspet.com/blog/connect-delta-2g-lidar-to-makerspet-esp32-boards/</link>
        <guid isPermaLink="true">https://makerspet.com/blog/connect-delta-2g-lidar-to-makerspet-esp32-boards/</guid>
        
        
        <category>Delta-2A</category>
        
        <category>Delta-2B</category>
        
        <category>Delta-2G</category>
        
        <category>ESP32</category>
        
      </item>
    
      <item>
        <title>How to Design, 3D Print Bearings and Save Thousands of Dollars</title>
        <description>&lt;p&gt;I’m building a robot that somewhat resembles R2D2 - a round body with a spinning semi-sphere head - NOT a clone for copyright reasons and deep respect to the filmmakers! The robot’s spinning head needs a large, thin bearing.&lt;/p&gt;

&lt;p&gt;I have tried searching for a bearing like that to purchase - those are not easy to find, costing around $1000! Therefore, I have looked into making a DIY bearing like that. Thankfully, this bearing would not have to carry much weight or move around much. Therefore, this type of bearing can be 3D printed.&lt;/p&gt;

&lt;p&gt;Long story short, I have designed and 3D printed a small 60mm OD bearing as a starter prototype - and it worked great! So, I leveled up to 190mm OD, which also worked well. Finally, I have printed a 340mm (13.3 inch) OD bearing on my DIY Voron 2.4.&lt;/p&gt;

&lt;p&gt;Here is a YouTube reel illustrating the concept.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/STbCVhdgLSw&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;And here is a complete from-scratch tutorial for absolute beginners showing step-by-step how to design a radial bearing in Autodesk Fusion 360 (free for personal use as of the time of the writing), 3D printed on my glorious Voron 2.4 350mm (and my old reliable Prusa MK3S) and assembled by yours truly using 1/4” steel bearing balls I purchased on Amazon.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/7-wJyKk90GI&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;After posting this video on Reddit and Facebook I got (harsh) negative replies saying that 3D printed plastic bearings are of no use. I do beg to disagree. After extensive testing, I can recommend 3D printed bearings for use in light-duty applications including pan-and-tilt hardware - cameras, lights and R2D2-style robot heads. More specifically, the larger your light-duty bearing is, the more money you can save by 3D printing it istead of purchasing one (made from steel). Moreover, thanks to 3D printing you can make your large bearing of just about any custom size you want - as long as the bearing fits your 3D printer.&lt;/p&gt;

&lt;p&gt;I printed my bearings usint PETG plastic. If you want to level-up from very-light-duty to something more durable, consider using Nylon, Nylon reinforced with glass beads or Delrin (POM-H) self-lubricating plastic filament.&lt;/p&gt;

&lt;p&gt;Last, but not the least. There are radial bearings and there are axial load bearings. My DIY bearing tutorial shows the former, while your specific use case may need the latter.&lt;/p&gt;

&lt;p&gt;Happy 3D printing!&lt;/p&gt;
</description>
        <pubDate>Tue, 18 Mar 2025 00:00:00 +0000</pubDate>
        <link>https://makerspet.com/blog/how-to-design-and-3d-print-bearings/</link>
        <guid isPermaLink="true">https://makerspet.com/blog/how-to-design-and-3d-print-bearings/</guid>
        
        
        <category>Arduino</category>
        
      </item>
    
      <item>
        <title>Build an Arduino Self-Driving Robot - Video Instructions Series</title>
        <description>&lt;p&gt;Here is my &lt;a href=&quot;https://www.youtube.com/watch?v=6GtjAB19GP8&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;si=UG-gdWqQZZMGCvMy&quot;&gt;video instructions series&lt;/a&gt; with step-by-step explanations “How to Build an Arduino/ROS2 Self-driving Robot”.&lt;/p&gt;

&lt;p&gt;There are five video lessons:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=6GtjAB19GP8&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;si=UG-gdWqQZZMGCvMy&quot;&gt;Self-driving robot assembly&lt;/a&gt; video&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=IOQBNl0O_tI&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;si=UG-gdWqQZZMGCvMy&quot;&gt;Software and firmware setup&lt;/a&gt; video&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=tKfVU1n5TjA&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;si=UG-gdWqQZZMGCvMy&quot;&gt;Robot bring-up&lt;/a&gt; video&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=7uo4BGxWHCA&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;si=UG-gdWqQZZMGCvMy&quot;&gt;Create a map of your place&lt;/a&gt; video (manual driving)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=81-9q7QfkHs&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;si=UG-gdWqQZZMGCvMy&quot;&gt;Robot self-drives&lt;/a&gt; video - create a map, navigate your place automatically&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=fHPyjVdTNg4&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;si=UG-gdWqQZZMGCvMy&quot;&gt;Software, firmware install and bring-up on Ubuntu PC&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=RCPUQmvS37Q&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;si=UG-gdWqQZZMGCvMy&quot;&gt;Finished&lt;/a&gt;  self-driving robot&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Happy learning and building!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=6GtjAB19GP8&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;si=UG-gdWqQZZMGCvMy&quot;&gt;&lt;img src=&quot;/assets/images/webp/arduino-self-driving-robot-assembly-with-playlist2.webp&quot; alt=&quot;Build an Arduino self-driving robot - video instructions series&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 09 Mar 2025 00:00:00 +0000</pubDate>
        <link>https://makerspet.com/blog/build-arduino-self-driving-robot-video-instructions/</link>
        <guid isPermaLink="true">https://makerspet.com/blog/build-arduino-self-driving-robot-video-instructions/</guid>
        
        
        <category>Arduino</category>
        
        <category>Mini</category>
        
        <category>self-driving</category>
        
      </item>
    
      <item>
        <title>How to Connect TB6612FNG Motor Driver to Your ESP32 DIY Robot</title>
        <description>&lt;p&gt;TB6612FNG is a low-cost driver IC for brushed DC motors - popular with DIY enthusiasts to build small wheeled robots. One TB6612FNG can drive two
motors with power supply voltage up to 15V, average output current up to 1.2A per motor and up to 3.2A peak current. I’ve used TB6612FNG it on many occasions to drive small, low-cost N20-size motors.&lt;/p&gt;

&lt;h2 id=&quot;hardware-wiring&quot;&gt;Hardware Wiring&lt;/h2&gt;

&lt;p&gt;Here is how you can connect a &lt;a href=&quot;https://toshiba.semicon-storage.com/info/TB6612FNG_datasheet_en_20141001.pdf?did=10660&amp;amp;prodName=TB6612FNG&quot;&gt;TB6612FNG motor driver IC&lt;/a&gt; to ESP32 to drive a couple of small brushed DC motors.&lt;/p&gt;

&lt;p&gt;Kaia.ai firmware aims works with all kinds of boards and drivers, so you can reuse your components.&lt;/p&gt;

&lt;p&gt;Here is a schematic connecting TB6612FNG to ESP32 30-pin dev board.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/webp/tb6612fng_connected_to_esp32_schematic.webp&quot; alt=&quot;TB6612FNG motor driver IC connected to ESP32 schematic&quot; title=&quot;TB6612FNG motor driver IC connected to ESP32 schematic&quot; class=&quot;zoom-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In the schematic&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;ESP32 GPIOs (configured as outputs) connect to TB6612FNG that drives two (left and right) DC brushed motors.&lt;/li&gt;
  &lt;li&gt;ESP32 GPIOs (configured as inputs) also connect to (quadrature) motor encoders. Each quadrature motor encoder has 2 signals called A and B (or C1, C2 or something like that).&lt;/li&gt;
  &lt;li&gt;resistors in series with GPIO inputs protect ESP32 from 5V encoder signal levels&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The choice of GPIO numbers to connect TB6612FNG and encoders is up to you - subject to ESP32 GPIO own limitations. Read more about ESP32 GPIO limitations:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://makerspet.com/blog/esp32-gpio-limitations/&quot;&gt;GPIO limitations in ESP32 modules&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://makerspet.com/blog/esp32-s3-gpio-limitations/&quot;&gt;GPIO limitations in ESP32S3 modules&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;firmware-configuration&quot;&gt;Firmware Configuration&lt;/h2&gt;

&lt;p&gt;Kaia.ai firmware has a special &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yaml&lt;/code&gt; &lt;a href=&quot;https://github.com/kaiaai/firmware/blob/iron/kaiaai-esp32/data/config.yaml&quot;&gt;file&lt;/a&gt;
where you can specify your GPIO assignments. Kaia.ai firmware loads this file at boot time.
Please see more &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yaml&lt;/code&gt; documentation &lt;a href=&quot;https://kaia.ai/blog/kaiaai-configuration-file/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Edit &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yaml&lt;/code&gt; for TB6612FNG as follows:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;set &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;motor.driver.type&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IN1_IN2&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;assuming TB6612FNG AO1 and AO2 outputs drive the left motor
    &lt;ul&gt;
      &lt;li&gt;set &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;motor.driver.left.gpio.in1&lt;/code&gt; to GPIO number driving TB6612FNG AIN1 input&lt;/li&gt;
      &lt;li&gt;set &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;motor.driver.left.gpio.in2&lt;/code&gt; to GPIO number driving TB6612FNG AIN2 input&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;assuming TB6612FNG BO1 and BO2 outputs drive the right motor
    &lt;ul&gt;
      &lt;li&gt;set &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;motor.driver.right.gpio.in1&lt;/code&gt; to GPIO number driving TB6612FNG BIN1 input&lt;/li&gt;
      &lt;li&gt;set &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;motor.driver.right.gpio.in2&lt;/code&gt; to GPIO number driving TB6612FNG BIN2 input&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Upload the edited &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yaml&lt;/code&gt; to ESP32 as sketch data, see &lt;a href=&quot;https://www.youtube.com/watch?v=tKfVU1n5TjA&amp;amp;list=PLOSXKDW70aR8uA1IFahSKVuk5ODDfjTZV&amp;amp;index=4&quot;&gt;video&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here is an example of TB6612FNG setup in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;config.yaml&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;motor:
  driver:
    type: IN1_IN2
  left:
    driver:
      gpio:
        in1: 26
        in2: 25
  right:
    driver:
      gpio:
        in1: 23
        in2: 22
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Thu, 06 Mar 2025 00:00:00 +0000</pubDate>
        <link>https://makerspet.com/blog/connect-tb6612fng-motor-driver-to-esp32/</link>
        <guid isPermaLink="true">https://makerspet.com/blog/connect-tb6612fng-motor-driver-to-esp32/</guid>
        
        
        <category>TB6612FNG</category>
        
        <category>ESP32</category>
        
      </item>
    
      <item>
        <title>100K+ Members in My Facebook Group</title>
        <description>&lt;p&gt;I’ve been running several Facebook groups related to Arduino, robotics, DIY and programming. Today my &lt;a href=&quot;https://www.facebook.com/groups/351994643955858&quot;&gt;Arduino and Robotics group&lt;/a&gt; has reached over 100K members 🥳🎉.&lt;/p&gt;

&lt;p&gt;Also, my other Facebook group &lt;a href=&quot;https://www.facebook.com/groups/243730868651472&quot;&gt;Arduino and DIY Robots&lt;/a&gt; that focuses on DIY robots in a more narrow fashion.&lt;/p&gt;

&lt;p&gt;Please visit and/or join my groups to&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;learn Arduino and robotics and find free popular learning resources&lt;/li&gt;
  &lt;li&gt;find a project you like&lt;/li&gt;
  &lt;li&gt;get inspiration, motivation for your project&lt;/li&gt;
  &lt;li&gt;see what’s happening in Arduino and robotics around the world&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Thu, 06 Mar 2025 00:00:00 +0000</pubDate>
        <link>https://makerspet.com/blog/100k-members-in-facebook-group/</link>
        <guid isPermaLink="true">https://makerspet.com/blog/100k-members-in-facebook-group/</guid>
        
        
        <category>Arduino</category>
        
      </item>
    
      <item>
        <title>Online Robotics Store is Open</title>
        <description>&lt;p&gt;We’re excited to announce the launch of our online store, where innovation meets education! Whether you’re a hobbyist, educator, or robotics enthusiast, our store offers educational robots designed to make learning fun and interactive.&lt;/p&gt;

&lt;p&gt;What We Offer&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;DIY Kits – Assemble your own robot and learn hands-on.&lt;/li&gt;
  &lt;li&gt;Robot Parts – Including motor driver boards, LiDAR sensor accessories, and more.&lt;/li&gt;
  &lt;li&gt;TODO Ready-to-Use Robots – Pre-built and ready to go!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Our robots are built using Arduino, ROS2, micro-ROS, and ESP32, ensuring flexibility and expandability. We provide firmware and software to help you get started.&lt;/p&gt;

&lt;p&gt;Why Choose Us?&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Step-by-Step Instructional Videos – Learn with ease.&lt;/li&gt;
  &lt;li&gt;Open-Source Products – Modify and enhance as you like.&lt;/li&gt;
  &lt;li&gt;Worldwide Shipping (*) – Bringing robotics to you, no matter where you are!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Join us on this journey and start exploring the world of educational robotics today! 🚀&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://makerspet.com/store&quot;&gt;Visit Our Store Now&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(*) see the &lt;a href=&quot;https://makerspet.com/pages/shipping-policy&quot;&gt;Shipping Policy&lt;/a&gt; for exceptions&lt;/p&gt;
</description>
        <pubDate>Sun, 23 Feb 2025 00:00:00 +0000</pubDate>
        <link>https://makerspet.com/blog/online-robotics-store-is-open/</link>
        <guid isPermaLink="true">https://makerspet.com/blog/online-robotics-store-is-open/</guid>
        
        
        <category>store</category>
        
      </item>
    
  </channel>
</rss>
