I had an error when sending off to pcbway, lack of...

I had an error when sending off to pcbway, lack of the bottom soldermask layer, what is this pcb missing to send off to be exported as a 2 layer pcb with the neccessary functions to work, such as top and bottom layer lines, vias that work on both sides etc

Refine this doc
Ask about this doc
Project Specification
Design Summary
Status: Draft
Manufacturing target: Prototype
Software / firmware: STM32 firmware via SWD pogo programming; RS-485 runtime communications to Raspberry Pi master

Scope
Purpose
Create a schematic-only flexible PCB sensor node for an everting soft robot skin. Each node locally measures an 18-cell capacitive tactile array plus 6-axis IMU data, then reports compact packets over a shared RS-485 bus.
In scope
  • STM32G031G8U6 MCU, IMU, CDC, analog multiplexers, RS-485 transceiver, local regulation, SWD pogo pads
  • 18 capacitive sensor-pad electrical interface using three 8:1 multiplexers and one FDC1004 CDC
  • Schematic notes and net labeling supporting flex stiffened-island implementation
Out of scope
  • Final PCB placement and routing
  • Firmware implementation details beyond interface assumptions

System context
This node is one of five identical modules distributed along a 1.2 m sensorized skin section. A Raspberry Pi at the robot base acts as RS-485 bus master, polling nodes for tactile and inertial measurements.
Key interfaces
  • 5 V input rail and ground from shared bus harness
  • RS-485 A/B shared half-duplex communication bus
  • SWD pogo pads: SWDIO, SWCLK, NRST, 3.3V, GND
  • 18 capacitive sensor pads into three multiplexers
Architecture

Diagram


""Power"" ""Capacitive sensing"" ""IMU"" ""Bus and debug"" A0 A1 A2 A0 A1 A2 A0 A1 A2 I2C SPI INT FIFO UART plus DE RE "5V Bus Input" "3.3V Regulator" "STM32G031G8U6" "ICM-42688-P" "FDC1004" "TMUX1308 A" "TMUX1308 B" "TMUX1308 C" "SN65HVD75 Class" "18 Sensor Pads" "ESD Protection" "RS485 A B Bus" "SWD Pogo Pads"

Requirements
Functional
  • The board shall acquire 18 capacitive tactile channels as a 6 x 3 matrix using one FDC1004 and three TMUX1308 multiplexers.
  • The board shall acquire 6-axis inertial data from the ICM-42688-P over SPI using an interrupt-capable connection.
  • The board shall communicate over a shared half-duplex RS-485 bus using master-polled node responses.
  • The board shall support SWD-based programming and debug through pogo pads.
Electrical
  • Input power: distributed 5 V bus
  • Key rails: 5 V input, regulated 3.3 V local rail
  • Critical interfaces: SPI IMU, I2C CDC, UART to RS-485 transceiver, shared mux address lines A0 A1 A2
  • RS-485 termination shall be present only at bus ends using nominal 120 ohm matching to cable characteristic impedance
  • Unused mux inputs shall be tied to ground to avoid floating capacitive nodes
Mechanical / environmental
  • Low-profile flex PCB band node with active components on a stiffened island
  • Bend zones shall remain free of components and vias
  • Large or strain-relieved pads should be used for bus wiring and sensor-line transitions in later layout work

Key constraints
  • Moderate latency is acceptable; reliability and debug visibility are prioritized over high sample rate
  • Keep external interfaces protected: RS-485 A/B requires ESD protection
  • CDC and mux signal paths should avoid floating nodes and preserve low-noise grounding
  • Schematic should be organized into clearly labeled functional blocks for flex-integration handoff

Dependencies and risks
Dependencies
  • Firmware must schedule mux stepping, FDC1004 conversions, IMU reads, and RS-485 framing
  • Mechanical integration will define final pad style and bend-zone geometry
Key risks
  • Parasitic capacitance from textile wiring and motion may reduce tactile signal margin
  • RS-485 termination must not be populated on mid-bus nodes to avoid overloading the bus

Validation
Success criteria
  • Schematic contains STM32 MCU, SPI IMU, I2C CDC, three multiplexers, RS-485 transceiver, ESD protection, SWD pogo access, and 5 V to 3.3 V regulation
  • Functional blocks are clearly separated and named for sensor node bring-up and debug
  • RS-485 end-only termination strategy is documented in the schematic notes and component roles
Planned checks
  • Verify net-level wiring against datasheet pin functions for MCU, IMU, CDC, muxes, and RS-485 transceiver
  • Review for missing decoupling, floating pins, and incorrect bus wiring

Release-facing notes
Expected deliverables
  • Updated schematic
  • Updated BOM
  • Project specification and design notes
Special release notes
  • RS-485 termination resistor is intended only for bus-end variants and should be DNP on intermediate nodes
  • SWD pogo pads are required for firmware flashing and initial bring-up

Change notes / open questions
Changes in this revision
  • Repurposes the project into a flex-band sensor node architecture
  • Adds CDC plus analog-multiplexer tactile front end and SPI IMU requirement
Open questions
  • Final choice of 3.3 V regulator footprint and current margin for the flex node
  • Final mapping of 18 sensor pad names and any shield usage on FDC1004 in revision 1
  • Design Summary

  • Scope

  • System context

  • Requirements

  • Functional

  • Electrical

  • Mechanical / environmental

  • Key constraints

  • Dependencies and risks

  • Validation

  • Release-facing notes

  • Change notes / open questions

Documents

  • Project Specification

Assets

No assets added.

Underground Beige Ecto Goggles

Underground Beige Ecto Goggles thumbnail
Welcome to your new project. Imagine what you can build here.

Properties

flowchart TD subgraph Power [Power] J_PWR_IN["J_PWR_IN 4w RS485 IN"] -->|"VBUS"| VBUS["VBUS"] VBUS --> D_PROT["Input protection"] D_PROT --> U_REG["3.3V Regulator"] U_REG --> VDD_3V3["3V3"] VDD_3V3 --> U_MCU["STM32G031"] VDD_3V3 --> U_IMU["ICM-42688-P"] VDD_3V3 --> U_RS485["RS485 Transceiver"] end subgraph Sensors [IMU] U_IMU -->|"I2C or SPI"| U_MCU U_IMU -->|"INT"| U_MCU end subgraph Comms [RS485] U_MCU -->|"UART"| U_RS485 U_MCU -->|"DE/RE"| U_RS485 U_RS485 -->|"A/B"| J_RS485_IN["J_RS485_IN 4w"] U_RS485 -->|"A/B"| J_RS485_OUT["J_RS485_OUT 4w"] end subgraph Connectors [Connectors] U_MCU --> J_PROG["J_PROG 4w"] U_MCU --> J_MCU_IO["J_MCU_IO 10w"] end subgraph Protection [Protection] J_RS485_IN --> TVS1["TVS"] J_RS485_OUT --> TVS2["TVS"] end

Pricing & Availability

Distributor

Qty 1

Arrow

$7.98–$8.39

Digi-Key

$8.71–$10.18

LCSC

$12.70

Mouser

$14.86

TME

$3.16

Verical

$8.53–$12.30

Controls