# Loyal Peach Scramble Suit ## Description Industrial dual motor controller using an ESP8266 NodeMCU and L298N dual H-bridge for 2x 12V 2A DC motors, with MQTT remote control, manual override buttons, 5-bit DIP addressing, reset input, status LEDs, SS34 reverse-polarity protection, 5A fuse, LM2596 5V buck conversion, TVS surge protection, and future expansion provisions for INA219 current sensing, OTA firmware, RS485, and enclosure integration. ## Project Details - **Owner:** rudhrarajus - **Created:** 3/25/2026 - **Last Updated:** 3/26/2026 - **Visibility:** Public - **Software:** ESP8266 firmware controls MQTT topics device/{id}/motor1 and device/{id}/motor2 with payloads F, R, and S. Device ID is read from a 5-bit DIP switch on D0, RX, TX, GPIO9, and GPIO10. Manual override buttons on D5, D6, D7, and D8 command direct motor actions. GPIO2 drives WiFi status LED and GPIO16 drives MQTT status LED. - **Connectivity:** MQTT control using topics device/{id}/motor1 and device/{id}/motor2 with payloads F, R, and S. Manual override buttons, 5-bit DIP addressing on D0/RX/TX/GPIO9/GPIO10, external reset input, screw terminals for power and motors, future RS485 and INA219 expansion. - **System Architecture:** ```mermaid flowchart TD PWR["12V DC Input"] --> FUSE["5A Fuse"] FUSE --> RP["SS34 Reverse Polarity Protection"] RP --> TVS["TVS Surge Clamp"] TVS --> BUS12["12V Power Bus"] BUS12 --> BUCK["LM2596 Buck 12V to 5V"] BUCK --> VIN5["5V Rail to NodeMCU VIN"] BUS12 --> DRV["L298N Dual H Bridge"] DRV --> M1["Motor 1 12V 2A"] DRV --> M2["Motor 2 12V 2A"] MCU["ESP8266 NodeMCU"] --> DRV MCU --> MQTT["MQTT Topics device slash id slash motor1 and motor2"] MCU --> DIP["5 Bit DIP Address Inputs"] MCU --> BTN["Manual Override Buttons"] MCU --> LEDS["Power WiFi MQTT LEDs"] MCU --> RST["External Reset Input"] MCU --> EXP["Expansion Headers INA219 OTA RS485"] BUS12 --> EXP "``` - **Power Requirements:** 12V DC nominal input on J1 with 5A fuse and SS34 reverse polarity protection. LM2596S-5.0 generates 5V for NodeMCU VIN and L298N logic. L298N motor supply remains on the protected 12V rail for two 12V 2A motors. TVS protection is placed from protected 12V rail to ground. - **Implementation Details:** Industrial controller notes: main 12V input path includes 5A fuse, SS34 series reverse-polarity diode, and SM6T12A TVS clamp. Route J1 to F1 to D1 to U2 VS and U3 VIN with high-current copper wider than 2mm. Keep motor output traces from U2 to J2 and J3 wider than 2mm. Use a solid ground return, separate noisy motor current loops from logic return where possible, and maintain ventilation around L298N and buck regulator heat sources. Reserve J4 for INA219 current sensing, J5 for future RS485 field wiring, and J6 for future expansion and enclosure integration. OTA support is intended in firmware and should be preserved in connector and programming access decisions. Note: NodeMCU flash pins GPIO6 GPIO7 GPIO8 GPIO9 GPIO10 and command pins are not ideal for general external interfacing in production hardware; they are reserved here as requested for addressing placeholders and should be reviewed before manufacturing release. ## Key Components ### D1 — [SS34-E3/57T](https://www.flux.ai/adrian95/ss34-e357t~rn2.md) - License: https://creativecommons.org/licenses/by/4.0/ - Part Type: Diode - Package: DO-214AB - Role Details: Series reverse polarity protection diode on the external 12V DC input. - Role: Protection - Datasheet URL: https://www.vishay.com/docs/88751/ss32.pdf - Manufacturer Part Number: SS34-E3/57T - Manufacturer Name: Vishay General Semiconductor - Diodes Division **Pins:** - A [pin 2] - K [pin 1] ### D2 — [SM6T12A](https://www.flux.ai/jecstronic/sm6t12a~mln.md) - Package: SMB - Role Details: TVS clamp across protected 12V rail to ground for surge and transient suppression. - Manufacturer Name: STMicroelectronics - Datasheet URL: https://www.mouser.com/datasheet/2/389/sm6t100a-1916590.pdf - Role: Protection - License: https://creativecommons.org/licenses/by/4.0/ - Part Type: Diode - Manufacturer Part Number: SM6T12A **Pins:** - A [pin 2] - K [pin 1] ### D3 — [150060VS55040](https://www.flux.ai/adrian95/150060vs55040~c2q.md) - License: https://creativecommons.org/licenses/by/4.0/ - Role: Indicator - Package: 0603 - Datasheet URL: https://www.we-online.com/components/products/datasheet/150060VS55040.pdf - Role Details: Power present status indicator on the 5V rail. - Manufacturer Part Number: 150060VS55040 - Part Type: LED - Manufacturer Name: Würth Elektronik **Pins:** - A [pin 2] - K [pin 1] ### D4 — [150060VS55040](https://www.flux.ai/adrian95/150060vs55040~c2q.md) - Role Details: WiFi connectivity status indicator driven by ESP8266 GPIO2. - Part Type: LED - Manufacturer Name: Würth Elektronik - Role: Indicator - License: https://creativecommons.org/licenses/by/4.0/ - Package: 0603 - Datasheet URL: https://www.we-online.com/components/products/datasheet/150060VS55040.pdf - Manufacturer Part Number: 150060VS55040 **Pins:** - A [pin 2] - K [pin 1] ### D5 — [150060VS55040](https://www.flux.ai/adrian95/150060vs55040~c2q.md) - Manufacturer Name: Würth Elektronik - Part Type: LED - Role: Indicator - Manufacturer Part Number: 150060VS55040 - Role Details: MQTT connectivity status indicator driven by ESP8266 GPIO16. - Datasheet URL: https://www.we-online.com/components/products/datasheet/150060VS55040.pdf - Package: 0603 - License: https://creativecommons.org/licenses/by/4.0/ **Pins:** - A [pin 2] - K [pin 1] ### F1 — [MST 5A 250V](https://www.flux.ai/lcsc/mst-5a-250v~sdxa.md) - JLCPCB Part Class: Extended Part - Package or Case Code: FUSE-TH_L8.4-W4.3-P5.08-D1.0 - Role: Protection - Datasheet URL: https://storage.googleapis.com/graviton-electric-symbols/document_assets/lcsc/2304140030_CONQUER-MST-5A-250V_C388806.pdf - Role Details: Main 5A input fuse protecting the 12V input rail and downstream motor controller circuitry. - LCSC Part Number: C388806 - Manufacturer Name: CONQUER(功得) - Product Info Url: https://lcsc.com/product-detail/Fuses-with-Leads-Through-Hole_CONQUER-MST-5A-250V_C388806.html - Package: Axial Fuse - Manufacturer Part Number: MST 5A 250V - Part Type: Fuses with Leads (Through Hole) **Pins:** - 1 [pin 1] - 2 [pin 2] ### H1 — [MountingHole 7.4mm Pad 3.2mm drill](https://www.flux.ai/adrian95/mountinghole-74mm-pad-32mm-drill~7o1.md) - Manufacturer Part Number: MountingHole_Pad **Pins:** - 1 ### H2 — [MountingHole 7.4mm Pad 3.2mm drill](https://www.flux.ai/adrian95/mountinghole-74mm-pad-32mm-drill~7o1.md) - Manufacturer Part Number: MountingHole_Pad **Pins:** - 1 ### H3 — [MountingHole 7.4mm Pad 3.2mm drill](https://www.flux.ai/adrian95/mountinghole-74mm-pad-32mm-drill~7o1.md) - Manufacturer Part Number: MountingHole_Pad **Pins:** - 1 ### H4 — [MountingHole 7.4mm Pad 3.2mm drill](https://www.flux.ai/adrian95/mountinghole-74mm-pad-32mm-drill~7o1.md) - Manufacturer Part Number: MountingHole_Pad **Pins:** - 1 ### J1 — [2-Position Screw Terminal](https://www.flux.ai/corynrobinson/2-position-screw-terminal~s4.md) - Datasheet URL: https://www.we-online.com/katalog/datasheet/691137710002.pdf - Manufacturer Name: Würth Elektrik - Package: 5.0mm Terminal Block - Manufacturer Part Number: 691137710002 - Role: Connector - Role Details: Main external 12V DC power entry connector. - Part Type: Connector **Pins:** - P1 [pin 1] - P2 [pin 2] ### J2 — [2-Position Screw Terminal](https://www.flux.ai/corynrobinson/2-position-screw-terminal~s4.md) - Package: 5.0mm Terminal Block - Manufacturer Part Number: 691137710002 - Role Details: Motor 1 field wiring output connector from the H-bridge. - Part Type: Connector - Datasheet URL: https://www.we-online.com/katalog/datasheet/691137710002.pdf - Role: Connector - Manufacturer Name: Würth Elektrik **Pins:** - P1 [pin 1] - P2 [pin 2] ### J3 — [2-Position Screw Terminal](https://www.flux.ai/corynrobinson/2-position-screw-terminal~s4.md) - Part Type: Connector - Manufacturer Part Number: 691137710002 - Role Details: Motor 2 field wiring output connector from the H-bridge. - Package: 5.0mm Terminal Block - Manufacturer Name: Würth Elektrik - Role: Connector - Datasheet URL: https://www.we-online.com/katalog/datasheet/691137710002.pdf **Pins:** - P1 [pin 1] - P2 [pin 2] ### J4 — [Pin Header 01x04 2.54mm Vertical i2c](https://www.flux.ai/hasanbasri93/pin-header-01x04-2p54mm-vertical-i2c~37.md) - Role: Expansion - Part Type: Connector - Role Details: Reserved header for future INA219 current sensing connection with power and I2C lines. - License: https://creativecommons.org/licenses/by/4.0/ - Package: 1x04 2.54mm **Pins:** - 5V [pin 1] - GND [pin 2] - SCL [pin 4] - SDA [pin 3] ### J5 — [2-Position Screw Terminal](https://www.flux.ai/corynrobinson/2-position-screw-terminal~s4.md) - Manufacturer Name: Würth Elektrik - Datasheet URL: https://www.we-online.com/katalog/datasheet/691137710002.pdf - Role Details: Reserved field connector for future RS485 differential interface wiring. - Role: Expansion - Part Type: Connector - Manufacturer Part Number: 691137710002 - Package: 5.0mm Terminal Block **Pins:** - P1 [pin 1] - P2 [pin 2] ### J6 — [Pin Header 01x04 2.54mm Vertical i2c](https://www.flux.ai/hasanbasri93/pin-header-01x04-2p54mm-vertical-i2c~37.md) - License: https://creativecommons.org/licenses/by/4.0/ - Part Type: Connector - Package: 1x04 2.54mm - Role: Expansion - Role Details: Reserved expansion header for OTA support signals, spare GPIO, and enclosure integration options. **Pins:** - 5V [pin 1] - GND [pin 2] - SCL [pin 4] - SDA [pin 3] ### SW1 — [210-5MS](https://www.flux.ai/mvniekerk/210-5ms~46.md) - Manufacturer Part Number: 210-5MS - Package or Case Code: 2105MS - Role: Addressing - Package: 5-position DIP - Role Details: Five-bit DIP switch providing hardware address inputs on D0, RX, TX, GPIO9, and GPIO10 using switch-to-ground logic. - Datasheet URL: https://componentsearchengine.com/Datasheets/1/210-5MS.pdf **Pins:** - 1 [pin 1] - 10 [pin 10] - 2 [pin 2] - 3 [pin 3] - 4 [pin 4] - 5 [pin 5] - 6 [pin 6] - 7 [pin 7] - 8 [pin 8] - 9 [pin 9] ### SW2 — [Push Button](https://www.flux.ai/jharwinbarrozo/push-button~eqk.md) - Datasheet URL: https://datasheet.lcsc.com/lcsc/1809271215_Omron-Electronics-B3FS-1050P_C231326.pdf - Role: Human Interface - Part Type: Switch - Manufacturer Name: OMRON - Manufacturer Part Number: B3FS-1050P - Role Details: Manual override pushbutton commanding Motor 1 forward input to the controller. - Package: Tactile THT **Pins:** - P1 [pin 1] - P2 [pin 3] ### SW3 — [Push Button](https://www.flux.ai/jharwinbarrozo/push-button~eqk.md) - Role: Human Interface - Part Type: Switch - Datasheet URL: https://datasheet.lcsc.com/lcsc/1809271215_Omron-Electronics-B3FS-1050P_C231326.pdf - Role Details: Manual override pushbutton commanding Motor 1 reverse input to the controller. - Package: Tactile THT - Manufacturer Name: OMRON - Manufacturer Part Number: B3FS-1050P **Pins:** - P1 [pin 1] - P2 [pin 3] ### SW4 — [Push Button](https://www.flux.ai/jharwinbarrozo/push-button~eqk.md) - Role: Human Interface - Part Type: Switch - Datasheet URL: https://datasheet.lcsc.com/lcsc/1809271215_Omron-Electronics-B3FS-1050P_C231326.pdf - Package: Tactile THT - Manufacturer Part Number: B3FS-1050P - Manufacturer Name: OMRON - Role Details: Manual override pushbutton commanding Motor 2 forward input to the controller. **Pins:** - P1 [pin 1] - P2 [pin 3] ### SW5 — [Push Button](https://www.flux.ai/jharwinbarrozo/push-button~eqk.md) - Manufacturer Name: OMRON - Manufacturer Part Number: B3FS-1050P - Role Details: Manual override pushbutton commanding Motor 2 reverse input to the controller. - Role: Human Interface - Package: Tactile THT - Part Type: Switch - Datasheet URL: https://datasheet.lcsc.com/lcsc/1809271215_Omron-Electronics-B3FS-1050P_C231326.pdf **Pins:** - P1 [pin 1] - P2 [pin 3] ### SW6 — [Push Button](https://www.flux.ai/jharwinbarrozo/push-button~eqk.md) - Manufacturer Part Number: B3FS-1050P - Manufacturer Name: OMRON - Part Type: Switch - Datasheet URL: https://datasheet.lcsc.com/lcsc/1809271215_Omron-Electronics-B3FS-1050P_C231326.pdf - Role: Reset - Role Details: Dedicated external reset input for the NodeMCU reset line. - Package: Tactile THT **Pins:** - P1 [pin 1] - P2 [pin 3] ### U1 — [Nodemcu-12E ESP8266](https://www.flux.ai/jharwinbarrozo/nodemcu-12e-esp8266~5t.md) - Role Details: ESP8266 NodeMCU master controller handling MQTT topics device/{id}/motor1 and device/{id}/motor2, DIP address readback, manual override buttons, and status LEDs. - Datasheet URL: https://components101.com/development-boards/nodemcu-esp8266-pinout-features-and-datasheet - Role: Controller - Part Type: Microcontroller - Package: NodeMCU Dev Board - Manufacturer Part Number: Nodemcu-12E ESP8266 **Pins:** - 3V3 [pin 25] - 3V3 [pin 16] - 3V3 [pin 11] - A0 [pin 1] - CMD GPIO11 [pin 7] - D0 GPIO16 [pin 30] - D1 GPIO5 SCL [pin 29] - D2 GPIO4 SDA [pin 28] - D3 GPIO0 [pin 27] - D4 GPIO2 [pin 26] - D5 GPIO14 [pin 23] - D6 GPIO12 [pin 22] - D7 GPIO13 [pin 21] - D8 GPIO15 [pin 20] - EN [pin 12] - GND [pin 10] - GND [pin 24] - GND [pin 14] - GND [pin 17] - RST [pin 13] - RSV1 [pin 2] - RSV2 [pin 3] - RX GPIO3 [pin 19] - SCLK GPIO6 [pin 9] - SD0 GPIO7 MISO [pin 8] - SD1 GPIO8 MOSI [pin 6] - SD2 GPIO10 [pin 4] - SD2 GPIO9 [pin 5] - TX GPIO1 [pin 18] - VIN [pin 15] ### U2 — [L298N](https://www.flux.ai/vasy_skral/l298n~uhf.md) - Role: Motor Driver - Role Details: Dual H-bridge stage for Motor 1 and Motor 2 bidirectional drive from ESP8266 control inputs. - Symbol Style: Parametric - Manufacturer Part Number: L298N - Package: Multiwatt-15 - Datasheet URL: https://www.st.com/content/ccc/resource/technical/document/datasheet/82/cc/3f/39/0a/29/4d/f0/CD00000240.pdf/files/CD00000240.pdf/jcr:content/translations/en.CD00000240.pdf - License: https://creativecommons.org/licenses/by/4.0/ - Part Type: Integrated Circuit - Manufacturer Name: STMicroelectronics **Pins:** - ENA [pin 6] - ENB [pin 11] - GND [pin 8] - IN1 [pin 5] - IN2 [pin 7] - IN3 [pin 10] - IN4 [pin 12] - OUT1 [pin 2] - OUT2 [pin 3] - OUT3 [pin 13] - OUT4 [pin 14] - SENSE_A [pin 1] - SENSE_B [pin 15] - VS [pin 4] - VSS [pin 9] ### U3 — [LM2596S-5.0/NOPB](https://www.flux.ai/adrian95/lm2596s-5p0nopb~ji8.md) - Datasheet URL: https://www.ti.com/lit/ds/symlink/lm2596.pdf - License: https://creativecommons.org/licenses/by/4.0/ - Manufacturer Name: Texas Instruments - Role Details: Main buck converter generating 5V rail from protected 12V input for NodeMCU VIN and low power logic loads. - Package: TO-263-5 - Manufacturer Part Number: LM2596S-5.0/NOPB - Part Type: Integrated Circuit - Role: Regulator **Pins:** - ~ON~/OFF [pin 5] - FEEDBACK [pin 4] - GND_TAB [pin 6] - GROUND [pin 3] - OUTPUT [pin 2] - VIN [pin 1] *The full schematic, PCB layout, bill of materials, and interactive design are available at [https://www.flux.ai/rudhrarajus/loyal-peach-scramble-suit~k5](https://www.flux.ai/rudhrarajus/loyal-peach-scramble-suit~k5).* --- *Generated from [https://www.flux.ai/rudhrarajus/loyal-peach-scramble-suit~k5](https://www.flux.ai/rudhrarajus/loyal-peach-scramble-suit~k5)*