<?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=BRS_Differential_Drive_Robot_Control_Board</id>
	<title>BRS Differential Drive Robot Control Board - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bespokerobotsociety.org/index.php?action=history&amp;feed=atom&amp;title=BRS_Differential_Drive_Robot_Control_Board"/>
	<link rel="alternate" type="text/html" href="https://wiki.bespokerobotsociety.org/index.php?title=BRS_Differential_Drive_Robot_Control_Board&amp;action=history"/>
	<updated>2026-04-25T10:15:19Z</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=BRS_Differential_Drive_Robot_Control_Board&amp;diff=92&amp;oldid=prev</id>
		<title>John at 20:32, 11 October 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.bespokerobotsociety.org/index.php?title=BRS_Differential_Drive_Robot_Control_Board&amp;diff=92&amp;oldid=prev"/>
		<updated>2025-10-11T20:32:49Z</updated>

		<summary type="html">&lt;p&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:32, 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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;{{PCB&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;{{PCB&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;| name = BRS Differential Drive Robot Control Board&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;| name = BRS Differential Drive Robot Control Board&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;| image = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PCB_schematic&lt;/del&gt;.png&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;| image = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BRS_DDRCB&lt;/ins&gt;.png&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;| purpose = Integrated motor control and sensor interface for differential drive robots&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;| purpose = Integrated motor control and sensor interface for differential drive robots&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;| type = Through-Hole (THT) / Surface-Mount (SMT variant planned)&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;| type = Through-Hole (THT) / Surface-Mount (SMT variant planned)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key brs_wiki:diff:1.41:old-40:rev-92:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>John</name></author>
	</entry>
	<entry>
		<id>https://wiki.bespokerobotsociety.org/index.php?title=BRS_Differential_Drive_Robot_Control_Board&amp;diff=40&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=BRS_Differential_Drive_Robot_Control_Board&amp;diff=40&amp;oldid=prev"/>
		<updated>2025-10-11T16:21:17Z</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;{{PCB&lt;br /&gt;
| name = BRS Differential Drive Robot Control Board&lt;br /&gt;
| image = PCB_schematic.png&lt;br /&gt;
| purpose = Integrated motor control and sensor interface for differential drive robots&lt;br /&gt;
| type = Through-Hole (THT) / Surface-Mount (SMT variant planned)&lt;br /&gt;
| microcontroller = [[Raspberry Pi Pico]] or compatible 40-pin boards&lt;br /&gt;
| components = {{TB6612FNG}}, {{MP1584}}, {{LM393}}, nRF24L01 header, MPU6050 header, sensor expansion&lt;br /&gt;
| layers = 2-layer PCB&lt;br /&gt;
| cost = $5-10 for 5 PCBs (JLCPCB) + ~$10-15 components&lt;br /&gt;
| gerbers = [https://github.com/Bespoke-Robot-Society/simplebot/blob/master/diffdrive_robot_microcontroller_board--tht_Gerber.zip GitHub Repository]&lt;br /&gt;
| repository = [https://github.com/Bespoke-Robot-Society/simplebot GitHub - SimpleBot]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;BRS Differential Drive Robot Control Board&amp;#039;&amp;#039;&amp;#039; is a custom PCB designed for [[SimpleBot]] and other small differential drive robots. It integrates all electronics needed for motor control, power regulation, optical odometry, and sensor expansion onto a single compact board.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
This PCB was designed with BRS&amp;#039;s core mission in mind: &amp;#039;&amp;#039;&amp;#039;lower the barrier to entry&amp;#039;&amp;#039;&amp;#039; for robotics. The through-hole version uses only THT (through-hole technology) components, making it ideal for:&lt;br /&gt;
&lt;br /&gt;
* Educational environments (schools, workshops)&lt;br /&gt;
* Beginners learning to solder&lt;br /&gt;
* Rapid prototyping without specialized equipment&lt;br /&gt;
* Easy component replacement and repair&lt;br /&gt;
&lt;br /&gt;
A surface-mount variant is planned for more compact builds and higher-volume production.&lt;br /&gt;
&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
=== Integrated Components ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[Raspberry Pi Pico]] Socket&amp;#039;&amp;#039;&amp;#039; - 40-pin header for any Pico-compatible board&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Motor Driver&amp;#039;&amp;#039;&amp;#039; - [[TB6612FNG]] module socket or external H-bridge header&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Power Regulation&amp;#039;&amp;#039;&amp;#039; - [[MP1584]] buck converter (6V → 3.3V)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Optical Encoders&amp;#039;&amp;#039;&amp;#039; - [[LM393]]-based comparator circuit for wheel encoders&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Expansion Headers&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** nRF24L01 2.4 GHz radio (SPI)&lt;br /&gt;
** MPU6050 IMU (I²C)&lt;br /&gt;
** 4× sensor headers (3.3V + GND + GPIO)&lt;br /&gt;
** Analog expansion (3× ADC pins)&lt;br /&gt;
** Digital expansion (GPIOs)&lt;br /&gt;
&lt;br /&gt;
=== Design Philosophy ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Through-Hole First&amp;#039;&amp;#039;&amp;#039; - Easy to solder for beginners&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Modular&amp;#039;&amp;#039;&amp;#039; - Use standard breakout modules where possible&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Expandable&amp;#039;&amp;#039;&amp;#039; - Room for additional sensors and features&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Repairable&amp;#039;&amp;#039;&amp;#039; - Socketed components can be replaced&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Open Source&amp;#039;&amp;#039;&amp;#039; - Full schematics and KiCad files available&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
&lt;br /&gt;
The PCB is organized into functional sections:&lt;br /&gt;
&lt;br /&gt;
=== Power Section ===&lt;br /&gt;
&lt;br /&gt;
[[File:PCB_power.png|thumb|300px|Power regulation section]]&lt;br /&gt;
&lt;br /&gt;
The power section converts 6V from 4× AA batteries to regulated 3.3V:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Input&amp;#039;&amp;#039;&amp;#039;: 4.5V – 6.5V from battery pack (via power switch)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Buck Converter&amp;#039;&amp;#039;&amp;#039;: [[MP1584]] module provides 3.3V at up to 3A&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Important&amp;#039;&amp;#039;&amp;#039;: Buck converter must be pre-tuned to 3.3V BEFORE soldering to PCB&lt;br /&gt;
&lt;br /&gt;
The power switch should be wired to disconnect batteries when USB is connected, preventing back-feeding.&lt;br /&gt;
&lt;br /&gt;
=== Microcontroller Section ===&lt;br /&gt;
&lt;br /&gt;
40-pin socket for [[Raspberry Pi Pico]] or compatible boards:&lt;br /&gt;
* Raspberry Pi Pico (official or clone)&lt;br /&gt;
* Raspberry Pi Pico W (adds Wi-Fi)&lt;br /&gt;
* Raspberry Pi Pico 2 / 2W (RP2350-based)&lt;br /&gt;
&lt;br /&gt;
The socket allows easy replacement if the Pico is damaged, and permits swapping between different Pico variants.&lt;br /&gt;
&lt;br /&gt;
=== Motor Control Section ===&lt;br /&gt;
&lt;br /&gt;
[[File:PCB_motor.png|thumb|300px|Motor driver section]]&lt;br /&gt;
&lt;br /&gt;
Two options for motor control:&lt;br /&gt;
&lt;br /&gt;
==== Option 1: TB6612FNG Module (Standard) ====&lt;br /&gt;
&lt;br /&gt;
* Solder [[TB6612FNG]] breakout module directly to PCB&lt;br /&gt;
* Controls two TT motors independently&lt;br /&gt;
* PWM speed control via Pico GPIOs&lt;br /&gt;
* Direction control via logic pins&lt;br /&gt;
&lt;br /&gt;
==== Option 2: External H-Bridge (Advanced) ====&lt;br /&gt;
&lt;br /&gt;
* Install 2×5 DuPont header underneath TB6612FNG footprint&lt;br /&gt;
* Provides PWM, direction, and logic signals to external H-bridge&lt;br /&gt;
* Allows use of higher-power motor drivers&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Same Python code works&amp;#039;&amp;#039;&amp;#039; - control signals are identical&lt;br /&gt;
&lt;br /&gt;
This flexibility allows SimpleBot to be upgraded to more powerful motors without redesigning electronics or software.&lt;br /&gt;
&lt;br /&gt;
=== Optical Encoder Section ===&lt;br /&gt;
&lt;br /&gt;
[[File:PCB_Optoencoder.png|thumb|300px|Optical encoder circuit]]&lt;br /&gt;
&lt;br /&gt;
The odometry section uses [[LM393]] dual comparator to convert analog encoder signals to digital pulses:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Per Channel&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** 1× IR LED (emitter)&lt;br /&gt;
** 1× Photoresistor (detector)&lt;br /&gt;
** Voltage divider resistors&lt;br /&gt;
** Comparator output to Pico GPIO&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Function&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
# LED shines through slotted encoder wheel&lt;br /&gt;
# Photoresistor detects light/dark transitions&lt;br /&gt;
# LM393 converts analog voltage to clean digital pulses&lt;br /&gt;
# Pico counts pulses using interrupts&lt;br /&gt;
# Software calculates distance traveled&lt;br /&gt;
&lt;br /&gt;
This provides &amp;#039;&amp;#039;&amp;#039;optical odometry&amp;#039;&amp;#039;&amp;#039; for dead reckoning and position tracking.&lt;br /&gt;
&lt;br /&gt;
=== Expansion Headers ===&lt;br /&gt;
&lt;br /&gt;
==== nRF24L01 Radio (SPI) ====&lt;br /&gt;
&lt;br /&gt;
* 2.4 GHz wireless communication&lt;br /&gt;
* SPI interface (SCK, MOSI, MISO, CS)&lt;br /&gt;
* Range: 10-100m depending on antenna and environment&lt;br /&gt;
* Use cases: Remote control, swarm robotics, telemetry&lt;br /&gt;
&lt;br /&gt;
==== MPU6050 IMU (I²C) ====&lt;br /&gt;
&lt;br /&gt;
* 3-axis accelerometer + 3-axis gyroscope&lt;br /&gt;
* I²C interface (SDA, SCL)&lt;br /&gt;
* Heading estimation, tilt detection, dynamic balancing&lt;br /&gt;
&lt;br /&gt;
==== Sensor Headers (4×) ====&lt;br /&gt;
&lt;br /&gt;
Each header provides:&lt;br /&gt;
* 3.3V power&lt;br /&gt;
* Ground&lt;br /&gt;
* GPIO pin from Pico&lt;br /&gt;
&lt;br /&gt;
Use for:&lt;br /&gt;
* Additional line sensors&lt;br /&gt;
* Ultrasonic distance sensors&lt;br /&gt;
* Bump switches&lt;br /&gt;
* Custom sensors&lt;br /&gt;
&lt;br /&gt;
==== Analog/Digital Expansion ====&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Analog Header&amp;#039;&amp;#039;&amp;#039;: 3× ADC pins for custom analog sensors&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Digital Header&amp;#039;&amp;#039;&amp;#039;: Multiple GPIO pins for digital I/O&lt;br /&gt;
&lt;br /&gt;
== PCB Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Top View ===&lt;br /&gt;
[[File:PCB_front.png|thumb|300px|PCB top side (component placement)]]&lt;br /&gt;
&lt;br /&gt;
The top side contains:&lt;br /&gt;
* All component footprints&lt;br /&gt;
* Module sockets (Pico, TB6612FNG, MP1584)&lt;br /&gt;
* Expansion headers&lt;br /&gt;
* Power and motor terminals&lt;br /&gt;
&lt;br /&gt;
=== Bottom View ===&lt;br /&gt;
[[File:PCB_back.png|thumb|300px|PCB bottom side (traces and ground plane)]]&lt;br /&gt;
&lt;br /&gt;
The bottom side contains:&lt;br /&gt;
* Signal traces&lt;br /&gt;
* Ground plane (for noise reduction and current return)&lt;br /&gt;
* Minimal components (optional pull-up resistors)&lt;br /&gt;
&lt;br /&gt;
=== All Layers ===&lt;br /&gt;
[[File:PCB_all_layers.png|thumb|300px|Complete PCB stack-up]]&lt;br /&gt;
&lt;br /&gt;
The 2-layer design uses:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Top Layer&amp;#039;&amp;#039;&amp;#039;: Signal routing and power traces&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Bottom Layer&amp;#039;&amp;#039;&amp;#039;: Ground plane + additional signal routing&lt;br /&gt;
&lt;br /&gt;
== Bill of Materials ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component !! Description !! Qty !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;background-color: #e0e0e0; font-weight: bold;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Modules&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Raspberry Pi Pico]] || Microcontroller board || 1 || Or Pico W for Wi-Fi&lt;br /&gt;
|-&lt;br /&gt;
| [[TB6612FNG]] Module || Dual H-bridge motor driver || 1 || Or external H-bridge&lt;br /&gt;
|-&lt;br /&gt;
| [[MP1584]] Module || Buck converter || 1 || Pre-tune to 3.3V!&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;background-color: #e0e0e0; font-weight: bold;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;ICs&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[LM393]] || Dual comparator IC || 1 || DIP-8 package&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;background-color: #e0e0e0; font-weight: bold;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Passive Components&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| Resistors || Various values for encoders and pull-ups || ~10 || See schematic&lt;br /&gt;
|-&lt;br /&gt;
| IR LEDs || Encoder emitters (940nm) || 2 || Through-hole&lt;br /&gt;
|-&lt;br /&gt;
| Photoresistors || Encoder detectors || 2 || Through-hole&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;background-color: #e0e0e0; font-weight: bold;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Connectors&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| 40-pin header || Pico socket || 2 || Female, 2×20&lt;br /&gt;
|-&lt;br /&gt;
| Motor terminals || Screw terminals or header || 2 || 2-pin each&lt;br /&gt;
|-&lt;br /&gt;
| Power terminals || Battery input || 1 || 2-pin screw terminal&lt;br /&gt;
|-&lt;br /&gt;
| Sensor headers || Expansion connections || 4 || 3-pin male header&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;background-color: #e0e0e0; font-weight: bold;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Optional&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| nRF24L01 header || Radio module socket || 1 || 2×4 female header&lt;br /&gt;
|-&lt;br /&gt;
| MPU6050 header || IMU socket || 1 || 2×4 female header&lt;br /&gt;
|-&lt;br /&gt;
| DuPont header || External H-bridge || 1 || 2×5 male header&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Full BOM with part numbers and suppliers available in the [https://github.com/Bespoke-Robot-Society/simplebot GitHub repository].&lt;br /&gt;
&lt;br /&gt;
== Assembly Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Assembly Order ===&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Pre-tune buck converter&amp;#039;&amp;#039;&amp;#039; to 3.3V (CRITICAL!)&lt;br /&gt;
# Install low-profile components (resistors, ICs)&lt;br /&gt;
# Install sockets and headers&lt;br /&gt;
# Install modules (buck converter, TB6612FNG)&lt;br /&gt;
# Test voltage output before connecting Pico&lt;br /&gt;
# Insert Pico into socket&lt;br /&gt;
# Connect motors and sensors&lt;br /&gt;
# Upload code and test!&lt;br /&gt;
&lt;br /&gt;
Full step-by-step assembly instructions: [[SimpleBot PCB Guide]] or [https://github.com/Bespoke-Robot-Society/simplebot/blob/master/PCB_GUIDE.md GitHub version]&lt;br /&gt;
&lt;br /&gt;
=== Critical Steps ===&lt;br /&gt;
&lt;br /&gt;
==== 1. Buck Converter Adjustment ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DO THIS FIRST&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
# Connect multimeter to buck converter output&lt;br /&gt;
# Apply power to buck converter input&lt;br /&gt;
# Adjust potentiometer to exactly 3.3V&lt;br /&gt;
# Verify voltage is stable&lt;br /&gt;
# ONLY THEN solder to PCB&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Failure to do this can damage your Pico!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== 2. Test Before Connecting Pico ====&lt;br /&gt;
&lt;br /&gt;
After soldering the buck converter:&lt;br /&gt;
# Apply battery power (do NOT connect Pico yet)&lt;br /&gt;
# Verify 3.3V on all power rails&lt;br /&gt;
# Check for shorts with multimeter&lt;br /&gt;
# Only after confirming correct voltage, insert Pico&lt;br /&gt;
&lt;br /&gt;
== Manufacturing Files ==&lt;br /&gt;
&lt;br /&gt;
=== Gerber Files ===&lt;br /&gt;
&lt;br /&gt;
Ready-to-manufacture Gerber files available:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://github.com/Bespoke-Robot-Society/simplebot/blob/master/diffdrive_robot_microcontroller_board--tht_Gerber.zip Through-Hole Version]&amp;#039;&amp;#039;&amp;#039; - Beginner-friendly THT components&lt;br /&gt;
* SMT version (coming soon) - Compact surface-mount design&lt;br /&gt;
&lt;br /&gt;
=== PCB Specifications ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Dimensions&amp;#039;&amp;#039;&amp;#039;: ~90mm × 70mm (approximate)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Layers&amp;#039;&amp;#039;&amp;#039;: 2-layer PCB&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Thickness&amp;#039;&amp;#039;&amp;#039;: 1.6mm (standard)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Material&amp;#039;&amp;#039;&amp;#039;: FR-4&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Surface Finish&amp;#039;&amp;#039;&amp;#039;: HASL or ENIG&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Min Trace/Space&amp;#039;&amp;#039;&amp;#039;: 0.3mm / 0.3mm&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Min Drill&amp;#039;&amp;#039;&amp;#039;: 0.8mm&lt;br /&gt;
&lt;br /&gt;
=== Ordering ===&lt;br /&gt;
&lt;br /&gt;
Upload the Gerber ZIP file to any PCB manufacturer:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;JLCPCB&amp;#039;&amp;#039;&amp;#039; - ~$2 for 5 PCBs + shipping&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PCBWay&amp;#039;&amp;#039;&amp;#039; - ~$5 for 5 PCBs + shipping&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;OSH Park&amp;#039;&amp;#039;&amp;#039; - ~$20 for 3 PCBs (US-based, high quality)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Seeed Studio&amp;#039;&amp;#039;&amp;#039; - ~$5 for 5 PCBs + shipping&lt;br /&gt;
&lt;br /&gt;
Manufacturing typically takes 2-5 days + shipping time.&lt;br /&gt;
&lt;br /&gt;
== Design Files ==&lt;br /&gt;
&lt;br /&gt;
The PCB was designed in &amp;#039;&amp;#039;&amp;#039;KiCad&amp;#039;&amp;#039;&amp;#039; (open-source EDA software):&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Schematic&amp;#039;&amp;#039;&amp;#039;: Full circuit diagram in KiCad format&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PCB Layout&amp;#039;&amp;#039;&amp;#039;: Complete board design with traces and copper pours&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Gerber Files&amp;#039;&amp;#039;&amp;#039;: Manufacturing-ready outputs&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Bill of Materials&amp;#039;&amp;#039;&amp;#039;: Component list with part numbers&lt;br /&gt;
&lt;br /&gt;
All files available in the [https://github.com/Bespoke-Robot-Society/simplebot GitHub repository] under open-source license.&lt;br /&gt;
&lt;br /&gt;
== Usage in Projects ==&lt;br /&gt;
&lt;br /&gt;
=== SimpleBot ===&lt;br /&gt;
&lt;br /&gt;
This PCB was designed specifically for [[SimpleBot]], but the design is generic enough for any differential drive robot with:&lt;br /&gt;
* Two DC motors&lt;br /&gt;
* Wheel encoders&lt;br /&gt;
* Line sensors or similar digital/analog sensors&lt;br /&gt;
* Battery power (4.5V – 6.5V input)&lt;br /&gt;
&lt;br /&gt;
=== Other Robots ===&lt;br /&gt;
&lt;br /&gt;
The modular design makes this PCB suitable for:&lt;br /&gt;
* Line-following robots&lt;br /&gt;
* Maze-solving robots&lt;br /&gt;
* Dead-reckoning navigation platforms&lt;br /&gt;
* Educational robotics projects&lt;br /&gt;
* Small autonomous vehicles&lt;br /&gt;
&lt;br /&gt;
== Variations ==&lt;br /&gt;
&lt;br /&gt;
=== External H-Bridge Variant ===&lt;br /&gt;
&lt;br /&gt;
Install the 2×5 DuPont header instead of TB6612FNG module to use external motor drivers:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;L298N&amp;#039;&amp;#039;&amp;#039; - Lower efficiency but higher current&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;BTS7960&amp;#039;&amp;#039;&amp;#039; - Much higher current (43A!) for large motors&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Cytron MD30C&amp;#039;&amp;#039;&amp;#039; - High power with heat sink&lt;br /&gt;
&lt;br /&gt;
Same Pico code works with all drivers - only change is physical wiring.&lt;br /&gt;
&lt;br /&gt;
=== Custom Sensor Configurations ===&lt;br /&gt;
&lt;br /&gt;
Use the sensor headers for:&lt;br /&gt;
* Additional line sensors (6-8 sensor arrays)&lt;br /&gt;
* Ultrasonic sensors (HC-SR04)&lt;br /&gt;
* IR distance sensors (Sharp GP2Y0A)&lt;br /&gt;
* Bump switches&lt;br /&gt;
* Servo motor control&lt;br /&gt;
&lt;br /&gt;
=== Future Variants ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SMT Version&amp;#039;&amp;#039;&amp;#039; - All surface-mount components for compact design&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;High-Power Version&amp;#039;&amp;#039;&amp;#039; - Integrated high-current motor driver&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;All-in-One Version&amp;#039;&amp;#039;&amp;#039; - Integrated sensors (no external modules)&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[SimpleBot]] - Robot using this PCB&lt;br /&gt;
* [[Raspberry Pi Pico]] - Microcontroller platform&lt;br /&gt;
* [[TB6612FNG]] - Motor driver&lt;br /&gt;
* [[MP1584]] - Buck converter&lt;br /&gt;
* [[LM393]] - Comparator IC&lt;br /&gt;
* [[PCB Design]] - General PCB design guide&lt;br /&gt;
* [[KiCad]] - PCB design software tutorial&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/Bespoke-Robot-Society/simplebot GitHub Repository] - Design files, Gerbers, BOM&lt;br /&gt;
* [https://github.com/Bespoke-Robot-Society/simplebot/blob/master/PCB_GUIDE.md PCB Assembly Guide] - Detailed assembly instructions&lt;br /&gt;
* [[Soldering Guide]] - Learn through-hole soldering techniques&lt;br /&gt;
&lt;br /&gt;
[[Category:PCB]]&lt;br /&gt;
[[Category:Motor Control]]&lt;br /&gt;
[[Category:Robot Electronics]]&lt;/div&gt;</summary>
		<author><name>John</name></author>
	</entry>
</feed>