<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bespokerobotsociety.org/index.php?action=history&amp;feed=atom&amp;title=SimpleBot</id>
	<title>SimpleBot - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bespokerobotsociety.org/index.php?action=history&amp;feed=atom&amp;title=SimpleBot"/>
	<link rel="alternate" type="text/html" href="https://wiki.bespokerobotsociety.org/index.php?title=SimpleBot&amp;action=history"/>
	<updated>2026-04-25T08:41:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.bespokerobotsociety.org/index.php?title=SimpleBot&amp;diff=90&amp;oldid=prev</id>
		<title>John: /* Design Goals */</title>
		<link rel="alternate" type="text/html" href="https://wiki.bespokerobotsociety.org/index.php?title=SimpleBot&amp;diff=90&amp;oldid=prev"/>
		<updated>2025-10-11T20:29:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Design Goals&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:29, 11 October 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SimpleBot was designed with BRS&amp;#039;s core mission in mind:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SimpleBot was designed with BRS&amp;#039;s core mission in mind:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Optical odometry and line following&lt;/del&gt;&#039;&#039;&#039; - SimpleBot is a demonstrator for dead reckoning and line maze problems, required study for all entry-level roboticists.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Enable Real-World Use Cases&lt;/ins&gt;&#039;&#039;&#039; - SimpleBot is a demonstrator for dead reckoning and line maze problems, required study for all entry-level roboticists.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Design and build custom robots&amp;#039;&amp;#039;&amp;#039; - 3D-printed chassis with modular sensor mounts&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Design and build custom robots&amp;#039;&amp;#039;&amp;#039; - 3D-printed chassis with modular sensor mounts&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;Lower the barrier to entry&#039;&#039;&#039; - Under $20 total cost with &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;all batteries &lt;/del&gt;included&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;Lower the barrier to entry&#039;&#039;&#039; - Under $20 total cost with &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Optical odometry and line following sensors &lt;/ins&gt;included&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Teach robotics fundamentals&amp;#039;&amp;#039;&amp;#039; - Every component serves an educational purpose&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Teach robotics fundamentals&amp;#039;&amp;#039;&amp;#039; - Every component serves an educational purpose&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key brs_wiki:diff:1.41:old-89:rev-90:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://wiki.bespokerobotsociety.org/index.php?title=SimpleBot&amp;diff=89&amp;oldid=prev</id>
		<title>John: /* Design Goals */</title>
		<link rel="alternate" type="text/html" href="https://wiki.bespokerobotsociety.org/index.php?title=SimpleBot&amp;diff=89&amp;oldid=prev"/>
		<updated>2025-10-11T20:27:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Design Goals&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:27, 11 October 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SimpleBot was designed with BRS&amp;#039;s core mission in mind:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SimpleBot was designed with BRS&amp;#039;s core mission in mind:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Build automatons, not remote controlled toys&lt;/del&gt;&#039;&#039;&#039; - SimpleBot &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;makes decisions &lt;/del&gt;and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;follows lines autonomously&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Optical odometry and line following&lt;/ins&gt;&#039;&#039;&#039; - SimpleBot &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is a demonstrator for dead reckoning &lt;/ins&gt;and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;line maze problems, required study for all entry&lt;/ins&gt;-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;level roboticists.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;&#039;Enable real-world use cases&#039;&#039;&#039; &lt;/del&gt;- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Optical odometry and line following are practical navigation techniques&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Design and build custom robots&amp;#039;&amp;#039;&amp;#039; - 3D-printed chassis with modular sensor mounts&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Design and build custom robots&amp;#039;&amp;#039;&amp;#039; - 3D-printed chassis with modular sensor mounts&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Lower the barrier to entry&amp;#039;&amp;#039;&amp;#039; - Under $20 total cost with all batteries included&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;Lower the barrier to entry&amp;#039;&amp;#039;&amp;#039; - Under $20 total cost with all batteries included&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key brs_wiki:diff:1.41:old-33:rev-89:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://wiki.bespokerobotsociety.org/index.php?title=SimpleBot&amp;diff=33&amp;oldid=prev</id>
		<title>John: Claude edited based on my notes, prompt, and SimpleBot code repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.bespokerobotsociety.org/index.php?title=SimpleBot&amp;diff=33&amp;oldid=prev"/>
		<updated>2025-10-11T16:18:18Z</updated>

		<summary type="html">&lt;p&gt;Claude edited based on my notes, prompt, and SimpleBot code repository&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Robot&lt;br /&gt;
| name = SimpleBot&lt;br /&gt;
| image = simplebot.jpeg&lt;br /&gt;
| caption = SimpleBot - BRS&amp;#039;s first robot design&lt;br /&gt;
| use_case = Educational robot for learning line following, optical odometry, and basic robotics&lt;br /&gt;
| microcontroller = [[Raspberry Pi Pico]] or [[Raspberry Pi Pico W]]&lt;br /&gt;
| sensors = 2× [[Infrared Line Detector]], 2× Optical Encoders (custom), optional [[MPU6050]] IMU, optional nRF24L01 radio&lt;br /&gt;
| power = 4× AA batteries (6V nominal) via [[MP1584]] buck converter (3.3V output)&lt;br /&gt;
| pcb = [[BRS Differential Drive Robot Control Board]] (through-hole assembly)&lt;br /&gt;
| cost = &amp;#039;&amp;#039;&amp;#039;Under $20&amp;#039;&amp;#039;&amp;#039; (with batteries)&lt;br /&gt;
| repository = [https://github.com/Bespoke-Robot-Society/simplebot GitHub Repository]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SimpleBot&amp;#039;&amp;#039;&amp;#039; is the Bespoke Robot Society&amp;#039;s original robot design, created for students, educators, and cost-conscious makers. It&amp;#039;s a fully functional {{Wikipedia|Differential_wheeled_robot|differential drive robot}} that demonstrates core robotics concepts including motor control, sensor integration, and autonomous navigation.&lt;br /&gt;
&lt;br /&gt;
== Design Goals ==&lt;br /&gt;
&lt;br /&gt;
SimpleBot was designed with BRS&amp;#039;s core mission in mind:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Build automatons, not remote controlled toys&amp;#039;&amp;#039;&amp;#039; - SimpleBot makes decisions and follows lines autonomously&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Enable real-world use cases&amp;#039;&amp;#039;&amp;#039; - Optical odometry and line following are practical navigation techniques&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Design and build custom robots&amp;#039;&amp;#039;&amp;#039; - 3D-printed chassis with modular sensor mounts&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Lower the barrier to entry&amp;#039;&amp;#039;&amp;#039; - Under $20 total cost with all batteries included&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Teach robotics fundamentals&amp;#039;&amp;#039;&amp;#039; - Every component serves an educational purpose&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
SimpleBot is based on commonly available &amp;quot;Arduino Smart Car&amp;quot; components (motors, wheels, battery holder) combined with a custom 3D-printed chassis and optional custom PCB. The robot can be built three ways:&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Breadboard Version&amp;#039;&amp;#039;&amp;#039; - Wire everything on a breadboard (fastest to prototype)&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Protoboard Version&amp;#039;&amp;#039;&amp;#039; - Solder components to perfboard (more permanent)&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Custom PCB Version&amp;#039;&amp;#039;&amp;#039; - Use the [[BRS Differential Drive Robot Control Board]] (most compact)&lt;br /&gt;
&lt;br /&gt;
All three versions run the same code and have identical functionality.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
&lt;br /&gt;
=== Line Following ===&lt;br /&gt;
Two [[Infrared Line Detector|infrared line detectors]] mounted under the chassis track a black line on a white surface (or vice versa). The robot adjusts its motor speeds to stay centered on the line.&lt;br /&gt;
&lt;br /&gt;
=== Optical Odometry ===&lt;br /&gt;
Custom encoder circuits use LEDs and photoresistors to count pulses from slotted wheels attached to the motors. This allows the robot to measure distance traveled and perform [[dead reckoning]].&lt;br /&gt;
&lt;br /&gt;
=== Motor Control ===&lt;br /&gt;
The [[TB6612FNG]] dual H-bridge provides independent speed and direction control for both wheels via PWM signals from the Pico.&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ready ===&lt;br /&gt;
The PCB includes headers for:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;MPU6050&amp;#039;&amp;#039;&amp;#039; 6-axis IMU (accelerometer + gyroscope) via I²C&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;nRF24L01&amp;#039;&amp;#039;&amp;#039; 2.4 GHz radio module via SPI&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;4× sensor headers&amp;#039;&amp;#039;&amp;#039; for additional sensors (3.3V + GND + GPIO)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Analog/digital breakout headers&amp;#039;&amp;#039;&amp;#039; for custom additions&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Base Components ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Description !! Qty !! Est. Cost&lt;br /&gt;
|-&lt;br /&gt;
| Arduino Smart Car Kit || 2× TT motors with wheels, encoder discs, battery holder, power switch, caster wheel || 1 || $6&lt;br /&gt;
|-&lt;br /&gt;
| [[Raspberry Pi Pico]] || Microcontroller board (or Pico W for Wi-Fi) || 1 || $4&lt;br /&gt;
|-&lt;br /&gt;
| [[TB6612FNG]] Module || Dual H-bridge motor driver || 1 || $3&lt;br /&gt;
|-&lt;br /&gt;
| [[MP1584]] Module || Buck converter (6V → 3.3V) || 1 || $1&lt;br /&gt;
|-&lt;br /&gt;
| [[Infrared Line Detector]] || Line following sensors || 2 || $1&lt;br /&gt;
|-&lt;br /&gt;
| [[LM393]] IC || Dual comparator for optical encoders || 1 || $0.25&lt;br /&gt;
|-&lt;br /&gt;
| Resistors, LEDs, photoresistors || Encoder circuit components || Set || $1&lt;br /&gt;
|-&lt;br /&gt;
| 4× AA Batteries || Power supply (1.5V each = 6V total) || 4 || $2&lt;br /&gt;
|-&lt;br /&gt;
| 3D Printed Parts || Chassis, motor mounts, sensor mounts || Set || $2 (filament)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Total&amp;#039;&amp;#039;&amp;#039; || || || &amp;#039;&amp;#039;&amp;#039;~$20&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PCB Options ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[BRS Differential Drive Robot Control Board]]&amp;#039;&amp;#039;&amp;#039; (Through-Hole) - $5-10 for 5 PCBs from JLCPCB, ~$5 in components&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Breadboard/Perfboard&amp;#039;&amp;#039;&amp;#039; - Cheaper but less compact&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
SimpleBot uses a modular 3D-printed chassis with several key features:&lt;br /&gt;
&lt;br /&gt;
=== Chassis Modules ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Main Chassis Plate&amp;#039;&amp;#039;&amp;#039; - Central platform with mounting points for all modules&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Battery Block&amp;#039;&amp;#039;&amp;#039; - Secures 4× AA battery holder with velcro strap retention&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Caster Assembly&amp;#039;&amp;#039;&amp;#039; - Front-mounted caster wheel with adjustable height&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Motor Mounts&amp;#039;&amp;#039;&amp;#039; - Dovetail attachment system for easy motor positioning&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sensor Rail&amp;#039;&amp;#039;&amp;#039; - Underside mounting for adjustable line sensors&lt;br /&gt;
&lt;br /&gt;
All STL files and the FreeCAD source are available in the [https://github.com/Bespoke-Robot-Society/simplebot GitHub repository].&lt;br /&gt;
&lt;br /&gt;
=== Assembly ===&lt;br /&gt;
&lt;br /&gt;
See the detailed [[SimpleBot Assembly Guide]] (or [https://github.com/Bespoke-Robot-Society/simplebot/blob/master/ASSEMBLY_GUIDE.md GitHub version]) for step-by-step mechanical assembly instructions with images.&lt;br /&gt;
&lt;br /&gt;
== Electronics ==&lt;br /&gt;
&lt;br /&gt;
=== Circuit Design ===&lt;br /&gt;
&lt;br /&gt;
The electronics integrate:&lt;br /&gt;
* Power regulation (6V battery → 3.3V via buck converter)&lt;br /&gt;
* Motor control (TB6612FNG dual H-bridge)&lt;br /&gt;
* Optical encoder circuits (LM393 comparators)&lt;br /&gt;
* Sensor interfaces (line detectors, IMU, radio)&lt;br /&gt;
* GPIO expansion (analog and digital headers)&lt;br /&gt;
&lt;br /&gt;
=== PCB Design ===&lt;br /&gt;
&lt;br /&gt;
See the detailed [[SimpleBot PCB Guide]] (or [https://github.com/Bespoke-Robot-Society/simplebot/blob/master/PCB_GUIDE.md GitHub version]) for:&lt;br /&gt;
* Full schematic&lt;br /&gt;
* PCB layout views&lt;br /&gt;
* Component placement&lt;br /&gt;
* Assembly instructions&lt;br /&gt;
* Gerber files for manufacturing&lt;br /&gt;
&lt;br /&gt;
The PCB uses &amp;#039;&amp;#039;&amp;#039;through-hole components&amp;#039;&amp;#039;&amp;#039; for easy hand-soldering, making it ideal for educational builds and beginners.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
SimpleBot runs &amp;#039;&amp;#039;&amp;#039;MicroPython&amp;#039;&amp;#039;&amp;#039; on the [[Raspberry Pi Pico]], making it accessible to beginners while providing full control over hardware.&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
# Install [https://thonny.org/ Thonny IDE] or use any MicroPython-compatible editor&lt;br /&gt;
# Connect Pico via USB&lt;br /&gt;
# Copy Python files from the repository to the Pico&lt;br /&gt;
# Edit configuration for your specific hardware&lt;br /&gt;
# Run and test!&lt;br /&gt;
&lt;br /&gt;
=== Code Structure ===&lt;br /&gt;
&lt;br /&gt;
The SimpleBot code is organized into modular files:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;motor.py&amp;#039;&amp;#039;&amp;#039; - Motor control class with PWM speed control&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;encoder.py&amp;#039;&amp;#039;&amp;#039; - Optical encoder pulse counting&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;line_sensor.py&amp;#039;&amp;#039;&amp;#039; - Line detector interface&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;robot.py&amp;#039;&amp;#039;&amp;#039; - High-level robot control (drive forward, turn, etc.)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;main.py&amp;#039;&amp;#039;&amp;#039; - Main program loop&lt;br /&gt;
&lt;br /&gt;
=== Example Code ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from robot import SimpleBot&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
# Initialize robot&lt;br /&gt;
bot = SimpleBot()&lt;br /&gt;
&lt;br /&gt;
# Drive forward 30cm using odometry&lt;br /&gt;
bot.drive_distance(30)  # cm&lt;br /&gt;
&lt;br /&gt;
# Follow a line&lt;br /&gt;
while True:&lt;br /&gt;
    left, right = bot.read_line_sensors()&lt;br /&gt;
&lt;br /&gt;
    if not left and not right:&lt;br /&gt;
        bot.forward(speed=50)  # Both on white - go straight&lt;br /&gt;
    elif left:&lt;br /&gt;
        bot.turn_right(speed=40)  # Left on line - turn right&lt;br /&gt;
    elif right:&lt;br /&gt;
        bot.turn_left(speed=40)  # Right on line - turn left&lt;br /&gt;
&lt;br /&gt;
    time.sleep(0.01)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Full code examples available in the [https://github.com/Bespoke-Robot-Society/simplebot GitHub repository].&lt;br /&gt;
&lt;br /&gt;
== Build Paths ==&lt;br /&gt;
&lt;br /&gt;
Choose the path that matches your skill level and available resources:&lt;br /&gt;
&lt;br /&gt;
=== Path 1: Buy Everything (Easiest) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Best for:&amp;#039;&amp;#039;&amp;#039; Complete beginners, classrooms&lt;br /&gt;
&lt;br /&gt;
# Purchase all components from the bill of materials&lt;br /&gt;
# 3D print the chassis parts (or use a print service)&lt;br /&gt;
# Order the pre-assembled PCB (or use breadboard)&lt;br /&gt;
# Follow assembly guide&lt;br /&gt;
# Upload code and go!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Time:&amp;#039;&amp;#039;&amp;#039; 2-4 hours assembly + printing time&lt;br /&gt;
&lt;br /&gt;
=== Path 2: Solder It Yourself (Learning) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Best for:&amp;#039;&amp;#039;&amp;#039; Learning electronics, gaining soldering experience&lt;br /&gt;
&lt;br /&gt;
# Purchase components and blank PCB&lt;br /&gt;
# Order Gerber files from JLCPCB (~$2 for 5 PCBs)&lt;br /&gt;
# Learn through-hole soldering techniques&lt;br /&gt;
# Assemble PCB step by step&lt;br /&gt;
# Integrate into 3D-printed chassis&lt;br /&gt;
# Upload code and test!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Time:&amp;#039;&amp;#039;&amp;#039; 4-8 hours including soldering practice&lt;br /&gt;
&lt;br /&gt;
=== Path 3: Design Your Own (Advanced) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Best for:&amp;#039;&amp;#039;&amp;#039; Experienced makers, custom requirements&lt;br /&gt;
&lt;br /&gt;
# Use SimpleBot as a reference design&lt;br /&gt;
# Modify the FreeCAD chassis for your needs&lt;br /&gt;
# Adapt the PCB design in KiCad&lt;br /&gt;
# Add custom sensors or actuators&lt;br /&gt;
# Create your own robot variant!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Time:&amp;#039;&amp;#039;&amp;#039; Unlimited - this is your custom project!&lt;br /&gt;
&lt;br /&gt;
== Learning Outcomes ==&lt;br /&gt;
&lt;br /&gt;
Building and programming SimpleBot teaches:&lt;br /&gt;
&lt;br /&gt;
=== 3D Printing ===&lt;br /&gt;
* Printing functional mechanical parts&lt;br /&gt;
* Working with heat-set inserts&lt;br /&gt;
* Designing for printability&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
* Motor control with H-bridges&lt;br /&gt;
* Sensor interfacing (analog and digital)&lt;br /&gt;
* Power regulation with buck converters&lt;br /&gt;
* PCB assembly (through-hole soldering)&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* MicroPython programming&lt;br /&gt;
* PWM for motor speed control&lt;br /&gt;
* Interrupt-driven encoder counting&lt;br /&gt;
* Sensor polling and decision making&lt;br /&gt;
* PID control (optional advanced topic)&lt;br /&gt;
&lt;br /&gt;
=== Robotics Concepts ===&lt;br /&gt;
* Differential drive kinematics&lt;br /&gt;
* Optical odometry for position tracking&lt;br /&gt;
* Line following algorithms&lt;br /&gt;
* Dead reckoning navigation&lt;br /&gt;
* Sensor fusion (with IMU)&lt;br /&gt;
&lt;br /&gt;
== Variations ==&lt;br /&gt;
&lt;br /&gt;
=== SimpleBot Mini ===&lt;br /&gt;
A smaller version designed to fit standard micromouse mazes (under development).&lt;br /&gt;
&lt;br /&gt;
=== SimpleBot Pro ===&lt;br /&gt;
Enhanced version with additional sensors, faster motors, and ROS integration (future development).&lt;br /&gt;
&lt;br /&gt;
=== Community Variants ===&lt;br /&gt;
See [[Build Logs:SimpleBot]] for community members&amp;#039; custom builds and modifications.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
SimpleBot is designed as an educational platform, so it has intentional limitations:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Speed&amp;#039;&amp;#039;&amp;#039; - Deliberately slow for safety and learning&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Maze Size&amp;#039;&amp;#039;&amp;#039; - Too large for standard micromouse mazes (see SimpleBot Mini)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Terrain&amp;#039;&amp;#039;&amp;#039; - Designed for flat, smooth surfaces only&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Line Following&amp;#039;&amp;#039;&amp;#039; - Two-sensor configuration is simple but less robust than arrays&lt;br /&gt;
&lt;br /&gt;
These limitations are features, not bugs - they provide opportunities for learning and improvement!&lt;br /&gt;
&lt;br /&gt;
== Next Steps After Building SimpleBot ==&lt;br /&gt;
&lt;br /&gt;
Once you&amp;#039;ve built and programmed SimpleBot, consider:&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Master line following&amp;#039;&amp;#039;&amp;#039; - Optimize your code for speed and accuracy&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Add the IMU&amp;#039;&amp;#039;&amp;#039; - Implement heading-based navigation&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Add the radio&amp;#039;&amp;#039;&amp;#039; - Control remotely or implement swarm behavior&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Design custom sensors&amp;#039;&amp;#039;&amp;#039; - Add ultrasonic, IR distance, or other sensors&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Build a maze&amp;#039;&amp;#039;&amp;#039; - Create line-following challenges&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Modify the chassis&amp;#039;&amp;#039;&amp;#039; - Add a pen holder for drawing robots&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Teach others&amp;#039;&amp;#039;&amp;#039; - Document your build and help newcomers&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://github.com/Bespoke-Robot-Society/simplebot GitHub Repository]&amp;#039;&amp;#039;&amp;#039; - CAD files, code, PCB designs&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[SimpleBot Assembly Guide]]&amp;#039;&amp;#039;&amp;#039; - Step-by-step mechanical assembly&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[SimpleBot PCB Guide]]&amp;#039;&amp;#039;&amp;#039; - Electronics and PCB information&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[Raspberry Pi Pico]]&amp;#039;&amp;#039;&amp;#039; - Microcontroller documentation&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[BRS Differential Drive Robot Control Board]]&amp;#039;&amp;#039;&amp;#039; - PCB details&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Differential Drive]] - Theory behind two-wheeled robots&lt;br /&gt;
* [[Optical Odometry]] - Measuring distance with encoders&lt;br /&gt;
* [[Line Following]] - Algorithms and techniques&lt;br /&gt;
* [[Motor Control]] - PWM and H-bridge operation&lt;br /&gt;
* [[3D Printing for Robotics]] - Designing and printing robot parts&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
&lt;br /&gt;
Share your SimpleBot build:&lt;br /&gt;
* Post photos and videos on the [[Discord]]&lt;br /&gt;
* Create a [[Build Logs:SimpleBot|build log]] on the wiki&lt;br /&gt;
* Submit improvements via pull request on GitHub&lt;br /&gt;
* Help answer questions from new builders&lt;br /&gt;
&lt;br /&gt;
[[Category:Robot]]&lt;br /&gt;
[[Category:Educational]]&lt;br /&gt;
[[Category:Line Following]]&lt;br /&gt;
[[Category:Differential Drive]]&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
</feed>