Welcome to Flux


How would you describe your current role?
Hardware founder / entrepreneur
How did you hear about Flux?
AI (ChatGPT, Perplexity, Gemini, Claude, etc.)
Thanks! It really helps us to know that. Do you have a specific project in mind already?
Yes, well-defined
What's your goal with this project?
Personal or learning
Great! Let's get started on your project.
We can work on the spec together, and I can give you a sense of feasibility, timeline, and cost. Next, we can start building a working prototype.
Can you tell me what you want to build, or what problem you want to solve with it?
If you have some existing documents, or sketches already, feel free to drop them in as well.

PCB Operation and Wiring Guide
Project: Chakra Brain
Engineering snapshot: 2026-09-03
Release state: Design electrically routed; manufacturing release is blocked by the items in Section 16.
1. What This Board Is
Chakra Brain is a 100 mm × 100 mm, two-layer, through-hole carrier PCB for a student robotics kit. It accepts:
  • one socketed 38-pin ESP32-DevKitC-VE controller module (U1),
  • two socketed Pololu #713 TB6612FNG dual-motor-driver modules (U2 and U3),
  • four custom 6P6C motor jacks (J2–J5),
  • one 1×8 remote-breakout socket header (J1),
  • separate regulated 5 V logic and nominal 8 V motor inputs (J7 and J6), and
  • local bulk capacitors and a 5 V indicator LED.
The carrier intentionally contains no local fuse, master switch, TVS clamp, buck regulator, or carrier-level reverse-polarity device. The external power assembly must provide regulation, current limiting/fusing, correct polarity, and safe handling of motor regenerative energy.
2. Board Construction and Verified CAD State

Table


ItemCurrent design valueVerification status
Board outline100 × 100 mm rectangleVerified in live layout
Finished stackup thickness1.50 mm nominalVerified in live stackup
CopperTop + Bottom, 0.035 mm each (about 1 oz)Verified in live stackup
Core1.499 mm, nominal εr 4.3Verified in live stackup
Solder maskTop + Bottom, 0.025 mm modeledVerified in live stackup
SilkscreenTop + Bottom layers available; active production markings are Top SilkscreenVerified in live layout
Standard via0.60 mm pad / 0.30 mm drillVerified in live stackup
Mounting holesH1–H4, 3.20 mm NPTH at (±46, ±46) mmVerified in live layout
Routed nets30Verified in schematic/layout
Route segments201Verified in live layout
Vias42Verified in live layout
Copper fills1Verified in live layout
Remaining airwires0Fresh routing-state check
Dangling traces0Fresh routing-state check
Routed copper widths actually present

Table


FunctionActual routed width
Logic/control and remote GPIO0.30 mm
3V3 breakout rail0.50 mm
Motor outputs M1–M41.00 mm
5V0 distribution1.00 mm
8V motor trunkpredominantly 2.00 mm
8V capacitor branches1.20 mm
GNDbottom copper fill with 42 stitching/transition vias and direct pad connections
The stored layout rules define 2.0 mm motor-trunk intent, 1.0 mm motor outputs, 0.8 mm 5 V intent, 0.5 mm 3.3 V intent, and 0.5 mm future logic-routing intent. Existing logic traces remain 0.30 mm because rules do not retroactively resize routed copper.
3. Component, Footprint, and Mechanical Table
“Verified” below means verified against current CAD and available manufacturer information. “Measured/controlling” means the PCB was built from a user measurement or supplied drawing and still requires a physical sample or 1:1 print check.

Table


Ref.Item / MPNCarrier footprintBody/envelope and fit status
U1Espressif ESP32-DEVKITC-VETwo 19-pin rows, 2.54 mm longitudinal pitch, 24.75 mm measured row spacing55 × 28 mm controlling measured module envelope; current socket footprint and 3D body were adjusted to this measurement. Physical sample fit still required.
U2, U3Pololu #713Two 8-pin rows, 2.54 mm pitch, 14.75 mm measured row spacing21 × 18 mm controlling measured envelope. Current physical output/power row order is VMOT, VCC, GND, AO1, AO2, BO2, BO1, GND. Physical sample fit and orientation check still required.
J1Samtec SSQ-108-03-G-S1×8, 2.54 mm pitch, THT socketExact orderable MPN set. Pin 1 is the square pad at world X −19.11 mm; pin numbering runs right-to-left on the assembled board. Reserved external breakout keepout is 28 × 25 mm.
J2–J5Custom 6P6C jack, PLACEHOLDER-CB-6P6C-12MM-STAGGERSix 1.40 mm signal pads with 0.90 mm drills; two 2.30 mm mounting holes on 12.00 mm centersExact supplier MPN is unresolved. Current component-side relative contact centers: 1 (−1.27,0), 2 (0,+2.54), 3 (−3.81,0), 4 (−2.54,+2.54), 5 (−6.35,0), 6 (−5.08,+2.54) mm. Mounting holes: (+2.825,−2.30) and (−9.175,−2.30) mm. Must match the controlling drawing and a real sample.
J6, J7Phoenix Contact 17291282-position, 5.08 mm pitch, THTManufacturer-rated terminal family; current layout presents wire entry at the top board edge. Verify purchased part body and screw-access direction.
C1, C2AISHI SPZ1AM331E08O00RRadial THT, 2.50 mm lead pitch330 µF, 10 V, D6.3 × L8 mm. Datasheet/distributor dimensions verified.
C3AISHI ERS1AM471E12OTRadial THT, 2.50 mm lead pitch470 µF, 10 V, D6.3 × L12 mm. MPN existence and dimensions verified; a dedicated Flux library part is not available.
R1Yageo CFR-25JB-52-1KHorizontal axial, 7.62 mm pitch, D2.5 body class1 kΩ, ±5%, 0.25 W.
LED1Lite-On LTL-4233Radial THT LED footprintGreen LED; current board pads are K at (−23,17) and A at (−15.38,17) mm.
H1–H4Custom 3.2 mm NPTH3.20 mm drillExcluded from BOM; intended for M3 clearance hardware.
4. External Connector Pinouts
J7 — regulated 5 V logic input

Table


PinNetFunction
15V0Regulated +5 V input for U1, U2/U3 logic, C3, and LED1
2GNDCommon logic and motor return
Use one power method for U1 at a time. Do not simultaneously back-power U1 from USB and J7 unless the exact module power-path behavior has been verified.
J6 — nominal 8 V motor input

Table


PinNetFunction
18V_MOTOR_PROTECTEDExternally protected motor supply for U2/U3 VMOT and C1/C2
2GNDHigh-current return
J1 — remote breakout socket
Top silkscreen P8…P1 is placed directly below the corresponding physical pads.

Table


Physical pinNetFunction / restriction
1GNDReference ground
23V3ESP32 module 3.3 V rail; use only for low-current remote loads
3REMOTE_GPIO32GPIO32, bidirectional 3.3 V logic
4REMOTE_GPIO33GPIO33, bidirectional 3.3 V logic
5REMOTE_GPIO34GPIO34, input only
6REMOTE_GPIO35GPIO35, input only
7NCIntentionally unconnected
8NCIntentionally unconnected
J1 is not Ethernet and has no magnetics, PHY, shield, or protection. External signals must remain within ESP32 3.3 V limits.
J2–J5 — motor connectors

Table


JackMotorContact 3 / board labelContact 4 / board labelContacts 1,2,5,6
J2M1M1_MOTOR_PLUS / M+ / U2 AO1M1_MOTOR_MINUS / M− / U2 AO2NC
J3M2M2_MOTOR_PLUS / M+ / U2 BO1M2_MOTOR_MINUS / M− / U2 BO2NC
J4M3M3_MOTOR_PLUS / M+ / U3 AO1M3_MOTOR_MINUS / M− / U3 AO2NC
J5M4M4_MOTOR_PLUS / M+ / U3 BO1M4_MOTOR_MINUS / M− / U3 BO2NC
Important: M+ and M− are net-name and wiring conventions. An H-bridge reverses instantaneous voltage polarity during reverse drive, so M+ is not permanently positive relative to M−.
5. U1 ESP32-DevKitC 38-Pin Carrier Map

Table


PinModule labelCarrier connection
13V3J1 pin 2 / 3V3
2ENNC on carrier; reset/enable handled on module
3VP / GPIO36NC; input-only analog pin; library falsely classifies it as a power input
4VN / GPIO39NC; input-only analog pin
5IO34J1 pin 5 / REMOTE_GPIO34, input only
6IO35J1 pin 6 / REMOTE_GPIO35, input only
7IO32J1 pin 3 / REMOTE_GPIO32
8IO33J1 pin 4 / REMOTE_GPIO33
9IO25MOTOR_STBY_GPIO25 to both driver STBY pins
10IO26U3 BIN1 / motor M4 direction
11IO27U3 PWMB / motor M4 PWM
12IO14U2 AIN2 / motor M1 direction
13IO12NC
14GND_1GND
15IO13U2 AIN1 / motor M1 direction
16D2NC
17D3NC
18CMDNC
195V5V0 from J7
20CLKNC
21D0NC
22D1NC
23IO15NC
24IO2NC
25IO0NC
26IO4U3 BIN2 / motor M4 direction
27IO16U2 PWMA / motor M1 PWM
28IO17U2 BIN1 / motor M2 direction
29IO5NC
30IO18U2 BIN2 / motor M2 direction
31IO19U2 PWMB / motor M2 PWM
32GND_2GND
33IO21U3 AIN1 / motor M3 direction
34RXNC
35TXNC
36IO22U3 AIN2 / motor M3 direction
37IO23U3 PWMA / motor M3 PWM
38GND_3GND
Espressif identifies VP/GPIO36, VN/GPIO39, GPIO34, and GPIO35 as input pins. The board includes a two-layer trace/via/fill keepout under the module antenna region; keep metal, batteries, cable bundles, and enclosure hardware away from that region.
6. U2 and U3 TB6612 Module Pin Maps
U2 — motors M1 and M2

Table


PinSignalNet / function
1GNDGND
2VCC5V0 logic supply
3AO1M1_MOTOR_PLUS → J2 contact 3
4AO2M1_MOTOR_MINUS → J2 contact 4
5BO2M2_MOTOR_MINUS → J3 contact 4
6BO1M2_MOTOR_PLUS → J3 contact 3
7VMOT8V_MOTOR_PROTECTED
8GNDGND
9GNDGND
10PWMBD1_PWMB_GPIO19
11BIN2D1_BIN2_GPIO18
12BIN1D1_BIN1_GPIO17
13STBYMOTOR_STBY_GPIO25
14AIN1D1_AIN1_GPIO13
15AIN2D1_AIN2_GPIO14
16PWMAD1_PWMA_GPIO16
U3 — motors M3 and M4

Table


PinSignalNet / function
1GNDGND
2VCC5V0 logic supply
3AO1M3_MOTOR_PLUS → J4 contact 3
4AO2M3_MOTOR_MINUS → J4 contact 4
5BO2M4_MOTOR_MINUS → J5 contact 4
6BO1M4_MOTOR_PLUS → J5 contact 3
7VMOT8V_MOTOR_PROTECTED
8GNDGND
9GNDGND
10PWMBD2_PWMB_GPIO27
11BIN2D2_BIN2_GPIO4
12BIN1D2_BIN1_GPIO26
13STBYMOTOR_STBY_GPIO25
14AIN1D2_AIN1_GPIO21
15AIN2D2_AIN2_GPIO22
16PWMAD2_PWMA_GPIO23
Pololu specifies VCC = 2.7–5.5 V, recommended VMOT = 4.5–13.5 V, 1 A continuous per channel, and 3 A peak per channel. The TB6612 control inputs and STBY have internal 200 kΩ pull-downs; the drivers therefore default to standby/off until STBY is driven high. The Pololu carrier includes supply filtering and motor-supply reverse-power protection, but not VCC reverse protection.
7. Passive and Mechanical Pin Connections

Table


Ref.Pin 1Pin 2 / otherPurpose
C18V_MOTOR_PROTECTED, positiveGND, negative330 µF local motor-rail bulk near U2
C28V_MOTOR_PROTECTED, positiveGND, negative330 µF local motor-rail bulk near U3
C35V0, positiveGND, negative470 µF logic-rail bulk
R15V05V_POWER_LED_ALimits LED current
LED1K/cathode = GNDA/anode = 5V_POWER_LED_AGreen 5 V indicator
H1–H4Mechanical only—3.2 mm NPTH mounting clearances
Nominal LED current is approximately (5 V − 2.1 V) / 1 kΩ = 2.9 mA. Resistor dissipation is about 8.4 mW, far below the 0.25 W rating.
8. Complete Live Netlist — All 30 Nets

Table


NetLive endpoints
5V0C3:1, R1:1, J7:1, U1:5V, U2:VCC, U3:VCC
5V_POWER_LED_AR1:2, LED1:A
8V_MOTOR_PROTECTEDC1:1, C2:1, J6:1, U2:VMOT, U3:VMOT
3V3U1:3V3, J1:2
GNDC1:2, C2:2, C3:2, LED1:K, J1:1, J6:2, J7:2, U1:GND_1/GND_2/GND_3, U2:GND pins 1/8/9, U3:GND pins 1/8/9
MOTOR_STBY_GPIO25U1:IO25, U2:STBY, U3:STBY
D1_AIN1_GPIO13U1:IO13, U2:AIN1
D1_AIN2_GPIO14U1:IO14, U2:AIN2
D1_PWMA_GPIO16U1:IO16, U2:PWMA
D1_BIN1_GPIO17U1:IO17, U2:BIN1
D1_BIN2_GPIO18U1:IO18, U2:BIN2
D1_PWMB_GPIO19U1:IO19, U2:PWMB
D2_AIN1_GPIO21U1:IO21, U3:AIN1
D2_AIN2_GPIO22U1:IO22, U3:AIN2
D2_PWMA_GPIO23U1:IO23, U3:PWMA
D2_BIN1_GPIO26U1:IO26, U3:BIN1
D2_BIN2_GPIO4U1:IO4, U3:BIN2
D2_PWMB_GPIO27U1:IO27, U3:PWMB
REMOTE_GPIO32U1:IO32, J1:3
REMOTE_GPIO33U1:IO33, J1:4
REMOTE_GPIO34U1:IO34, J1:5
REMOTE_GPIO35U1:IO35, J1:6
M1_MOTOR_PLUSU2:AO1, J2:3
M1_MOTOR_MINUSU2:AO2, J2:4
M2_MOTOR_PLUSU2:BO1, J3:3
M2_MOTOR_MINUSU2:BO2, J3:4
M3_MOTOR_PLUSU3:AO1, J4:3
M3_MOTOR_MINUSU3:AO2, J4:4
M4_MOTOR_PLUSU3:BO1, J5:3
M4_MOTOR_MINUSU3:BO2, J5:4
9. How Current Flows
Logic path
  1. A protected, regulated 5 V source enters J7 pin 1.
  2. C3 provides local bulk storage between 5V0 and GND.
  3. 5V0 powers U1's 5 V input and U2/U3 VCC logic supplies.
  4. 5V0 also flows through R1 and LED1 to GND, lighting the power indicator.
  5. U1's on-module regulator creates 3.3 V, which is exposed at J1 pin 2.
  6. ESP32 GPIO outputs source/sink only small control currents into the TB6612 AIN/BIN/PWM/STBY inputs, referenced to common GND.
Motor path
  1. A protected nominal 8 V source enters J6 pin 1.
  2. The 2.0 mm trunk distributes this rail to U2/U3 VMOT; C1/C2 provide local energy storage.
  3. For forward drive, one bridge high-side device connects VMOT to one motor output while the opposite low-side device returns the other output to GND.
  4. Current flows through the motor winding and returns through J6 pin 2.
  5. Reverse drive swaps the active high- and low-side devices, reversing winding current.
  6. PWM rapidly alternates drive and recirculation states to control average motor voltage and speed.
  7. During deceleration or external back-driving, motor energy can return to the motor rail. The upstream supply/protection must tolerate or clamp this regenerative energy.
10. Functional Operation and Firmware Startup
  1. Apply regulated 5 V to J7 and nominal motor voltage to J6 only after polarity and continuity checks.
  2. At reset, TB6612 control inputs and STBY are internally pulled low, so outputs default disabled.
  3. Firmware must configure all AIN/BIN/PWM/STBY GPIOs as outputs.
  4. Keep GPIO25/STBY low and all PWM outputs low while direction outputs are initialized.
  5. Raise STBY only after safe states are established.
  6. For each motor, use AIN1/AIN2 or BIN1/BIN2 for direction/brake/coast state and PWMA/PWMB for PWM speed control.
  7. Return STBY low for an emergency software disable, but do not treat software as a substitute for the upstream fuse/master disconnect.
11. Why Each Component Is Present

Table


ComponentEngineering purpose
U1Runs firmware, Wi-Fi/BLE, remote I/O, and four motor-control channels. Socketing permits service replacement.
U2/U3Each module provides two H-bridges, level-compatible control, internal input pull-downs, supply filtering, and motor-supply reverse-power protection.
J1Serviceable remote breakout for GND, 3V3, and four GPIO signals.
J2–J5Keyed motor cable interface using only center contacts 3/4.
J6Separates high-current motor power from logic input.
J7Accepts regulated logic power independently of the motor rail.
C1/C2Reduce local motor-rail droop and cable-inductance transients at the driver modules.
C3Reduces logic-rail dips that could reset the ESP32 during load steps.
R1Limits LED1 current.
LED1Immediate visual confirmation that 5V0 is present; it does not prove 3V3 or firmware health.
H1–H4Mechanical mounting and serviceability.
12. Assembly and Polarity
  1. Print the board 1:1 and place the actual U1, U2/U3, J2–J5, J6/J7, C1–C3, and J1 over their footprints.
  2. Verify U1 24.75 mm row spacing and U2/U3 14.75 mm row spacing with calipers before ordering the PCB.
  3. Verify the custom motor-jack contact stagger and 12 mm mounting-hole centers against the exact purchased jack.
  4. Install low-profile socket strips and R1 first.
  5. Install C1–C3 with pin 1/positive toward the positive rail and the negative stripe toward GND.
  6. Install LED1 with cathode K at the square pad / GND side.
  7. Install J6/J7 with screw access and wire entry facing the intended enclosure opening.
  8. Inspect soldering before inserting U1/U2/U3.
  9. Insert each module without a one-pin offset and with the correct orientation.
13. Silkscreen and Service Markings
  • J1 physical pins are labeled P8 through P1 below the header row.
  • J2–J5 physical contact 3 is labeled M+ and contact 4 M−.
  • J1, R1, and LED1 labels were separated to remove ambiguity.
  • The supplied Chakra monkey logo is implemented as real Top Silkscreen vector geometry at approximately X −47.23…−37.52 mm, Y −32.31…−24.24 mm.
  • “Chakra” is centered below the logo at (−43, −34.2) mm.
  • The raster preview does not reliably render white silkscreen; the vector PCB geometry is the verification source.
14. Electrical and Mechanical Limits
  • J7: regulated 5 V only. Never connect the raw 2S battery directly.
  • J6: intended nominal 8 V motor rail; Pololu specifies 4.5–13.5 V recommended VMOT.
  • U2/U3: design around 1 A continuous per channel; 3 A is a short peak rating, not a continuous operating target.
  • J2–J5 carry a stated 1.5 A current rating in the project. Confirm connector and cable heating at worst-case duty cycle.
  • C1/C2 are rated 10 V on an 8 V nominal motor rail. This is conditional on measured startup/regenerative peaks remaining below the capacitor limit; 16 V parts are preferred if mechanically compatible.
  • External motor and logic supplies must share GND because the control signals are not isolated.
  • J1 GPIO is 3.3 V only; GPIO34 and GPIO35 are input-only.
  • Keep the ESP32 antenna area free of copper, metal, and dense wiring.
15. Validation Evidence
Fresh checks on 2026-09-03:
  • 0 airwires.
  • 0 dangling traces.
  • No reported errors from the requested PCB checks for floating copper, overlapping copper, missing footprints, invalid layers, overlapping fills, under-connected vias, stackup validation, body overlap, pad access, edge placement, keepouts, or overlapping traces.
  • 14 PCB warnings remain, all from intentional !important footprint/contact corrections and manufacturing exclusions.
  • Manufacturer-part-number check has no remaining missing-MPN errors after adding the custom-jack placeholder and exact J1 MPN.
  • ERC reports 18 known non-functional errors: 16 floating undefined pins plus one missing designator on the inactive Alternative Tomato Interocitor artifact, and one false U1 VP “missing power” error. U1 VP/GPIO36 is intentionally NC and is an input-only signal.
16. Manufacturing Release Blockers
The design must not be treated as a complete released manufacturing package until all items below are closed:
  1. Custom motor jack sourcing: Replace PLACEHOLDER-CB-6P6C-12MM-STAGGER with an approved supplier/manufacturer MPN and confirm physical fit to the controlling drawing.
  2. Automatic BOM error: Flux currently groups C1, C2, and C3 as one Generic Capacitor line, quantity 3, under SPZ1AM331E08O00R. The correct BOM is two SPZ1AM331E08O00R plus one ERS1AM471E12OT. Do not use the automatic BOM export until C3 has a dedicated part or the BOM is manually corrected.
  3. Socket hardware BOM: Add exact orderable MPNs for two 1×19 female socket strips for U1 and four 1×8 female socket strips for U2/U3. Confirm whether module-side male headers are included with the purchased modules.
  4. Physical sample fit: Caliper/1:1 verification is still required for the measured U1/U2/U3 row spacings and custom J2–J5 jack footprint.
  5. Motor-rail capacitor margin: Measure worst-case motor-rail regenerative peaks or qualify 16 V replacements for C1/C2.
  6. Inactive database artifact: The Alternative Tomato Interocitor and nested stale U3 are disabled and parked off-board, but cannot be permanently deleted with supported tooling. Final Gerber/drill visual inspection must confirm they do not export.
17. Source References
  • 1. What This Board Is

  • 2. Board Construction and Verified CAD State

  • Routed copper widths actually present

  • 3. Component, Footprint, and Mechanical Table

  • 4. External Connector Pinouts

  • J7 — regulated 5 V logic input

  • J6 — nominal 8 V motor input

  • J1 — remote breakout socket

  • J2–J5 — motor connectors

  • 5. U1 ESP32-DevKitC 38-Pin Carrier Map

  • 6. U2 and U3 TB6612 Module Pin Maps

  • U2 — motors M1 and M2

  • U3 — motors M3 and M4

  • 7. Passive and Mechanical Pin Connections

  • 8. Complete Live Netlist — All 30 Nets

  • 9. How Current Flows

  • Logic path

  • Motor path

  • 10. Functional Operation and Firmware Startup

  • 11. Why Each Component Is Present

  • 12. Assembly and Polarity

  • 13. Silkscreen and Service Markings

  • 14. Electrical and Mechanical Limits

  • 15. Validation Evidence

  • 16. Manufacturing Release Blockers

  • 17. Source References