Copper Shorting Issue Fix

Avancé bastante, pero se agotaron los créditos justo cuando iba a enrutar la nueva versión.
Estado actual del proyecto:
  • Convertí la arquitectura a una versión soldable a mano.
  • Reemplacé los bloques SMD difíciles por headers through-hole:
    • STM32 externo por headers J3–J6.
    • Sensores I2C por headers J7–J9.
    • Módulo de micrófono/MAX4466 por header J10.
    • ESP8266 externo por headers J11–J13.
    • RGB externo por header J14.
    • Motor externo por header J15.
  • Reemplacé componentes SMD posibles por through-hole:
    • Q1 → PN2222A TO-92.
    • D1 → 1N5819G axial.
    • U6 → LM1085T-3.3 TO-220.
    • SW1/SW2 → pulsadores through-hole.
  • Cambié resistencias a formato axial through-hole.
  • Cambié capacitores a disco/radial through-hole.
  • Ajusté el regulador LM1085 según datasheet:
    • C11 entrada → 10uF.
    • C12 salida → 22uF.
  • Agrandé la placa a 120 mm × 140 mm.
  • Recoloqué los componentes para soldadura manual, con headers en bordes y más separación.
Pendiente:
  • El enrutado quedó sin completar porque se agotaron los créditos.
  • La última revisión antes del enrutado mostraba airwires, lo cual es normal porque todavía falta rutear.
  • Falta ejecutar:
    1. Autoruteo/ruteo final.
    2. Revisión completa.
    3. Corrección de posibles errores restantes.
    4. Exportar Gerbers/BOM si quieres fabricar.
Importante: no descargues todavía para fabricar. El esquemático ya está adaptado a soldadura manual, pero la PCB aún necesita el ruteo final y revisión limpia.
Termina lo que te falta

Considering the best approach...

J12
R8
Resistance
10kohms
J14
J8
J2
R3
Resistance
1.0kohms
R5
Resistance
330 ohms
R1
Resistance
4.7kohms
J15
J13
J11
J9
J7
R12
Resistance
100kohms
R4
Resistance
100kohms
R19
Resistance
10kohms
J6
J4
J3
R2
Resistance
4.7kohms
R10
Resistance
10kohms
R9
Resistance
10kohms
J5
J10
R11
Resistance
10kohms
R7
Resistance
220 ohms
R6
Resistance
220 ohms
U6
C1
Capacitance
100nF
C11
End of Life
Capacitance
10uF
C8
Capacitance
100nF
C10
Capacitance
100nF
C2
Capacitance
100nF
C5
Capacitance
100nF
J1
C6
Capacitance
100nF
C14
Capacitance
4.7uF
SW1
C12
End of Life
Capacitance
22uF
C7
Capacitance
100nF
C13
Capacitance
100uF
SW2
C3
Capacitance
100nF
C4
Capacitance
100nF
C9
Capacitance
100nF
D1
Q1

Refine this doc
Ask about this doc
Firmware Getting Started — STM32C011 Wearable Safety Monitor
Platform & Toolchain
  • MCU: STM32C011F6P6, 48 MHz Arm Cortex-M0+.
  • Recommended framework: STM32 HAL using STM32CubeIDE or STM32CubeMX + Make/CMake.
  • Wireless coprocessor: ESP-12F / ESP8266 on USART1-style UART pins.
  • Sensors: MPU6050 and BME280 on shared I2C1 bus with 4.7 kΩ pull-ups.
Pin Mapping

Table


FunctionSTM32 pinConnected netConnected deviceDirectionNotes
I2C SDAPB7I2C_SDAU3 MPU6050 SDA, U4 BME280 SDI, R1 4.7 kΩOpen-drain I/OConfigure I2C1 SDA with external pull-up.
I2C SCLPB6I2C_SCLU3 MPU6050 SCL, U4 BME280 SCK, R2 4.7 kΩOpen-drain outputConfigure I2C1 SCL with external pull-up.
ESP UART TX from STM32PA0UART_ESP_RXU2 ESP-12F RXD / GPIO3OutputSTM32 transmit to ESP receive.
ESP UART RX to STM32PA1UART_ESP_TXU2 ESP-12F TXD / GPIO1InputSTM32 receive from ESP transmit.
Motor PWMPA2MOTOR_PWMR3 to Q1 basePWM outputDrives vibration motor low-side transistor through 1 kΩ.
RGB red PWMPA3LED_R_PWMR5 to LED1 redPWM output330 Ω series resistor.
RGB green PWMPA4LED_G_PWMR6 to LED1 greenPWM output220 Ω series resistor.
RGB blue PWMPA5LED_B_PWMR7 to LED1 bluePWM output220 Ω series resistor.
SOS buttonPA6SOS_BTNSW1Input with pull-upButton pulls input to GND when pressed.
IMU interruptPA7IMU_INTU3 INTInput interruptOptional data-ready/motion interrupt.
Microphone ADCPA8MIC_ADCU5 MAX4466 OUTADC inputSample audio envelope/waveform; signal is biased near mid-supply.
ResetPF2-NRSTMCU_NRSTSW2 and J2Reset inputReset button pulls NRST low.
SWDIOPA13SWDIOJ2Debug I/OSWD programming.
SWCLK / BOOT0PA14-BOOT0SWCLK_BOOT0J2 and R12Debug clock / boot100 kΩ pull-down for normal boot.
External Device Configuration
  • ESP8266: 115200 baud default UART, 3.3 V only. EN, RST, GPIO0, GPIO2 are pulled up; GPIO15 is pulled down for normal boot.
  • BME280: I2C mode selected by CSB tied to VDDIO; SDO tied to GND, so address is 0x76.
  • MPU6050: AD0 tied to GND, so address is 0x68.
  • MAX4466 microphone preamp: output routed to ADC; analog section should be sampled with ADC averaging or envelope detection.
Bring-up Sequence
  1. Configure system clock and SysTick.
  2. Initialize GPIO outputs low: RGB channels off, MOTOR_PWM off.
  3. Initialize I2C1 on PB6/PB7 at 100 kHz first; increase to 400 kHz after validation.
  4. Probe I2C addresses 0x68 and 0x76.
  5. Initialize ADC on PA8.
  6. Initialize UART to ESP8266 at 115200 baud.
  7. Configure EXTI for SOS button and optional MPU interrupt.
  8. Start main safety loop: read sensors, compute thresholds, update LED/vibration, send WiFi telemetry.
Minimal HAL Pseudocode Skeleton

C


// Configure in CubeMX: I2C1 PB6/PB7, USART on PA0/PA1 mapping, ADC PA8, GPIO/PWM pins.
#define MPU6050_ADDR (0x68 << 1)
#define BME280_ADDR  (0x76 << 1)

void app_init(void) {
  HAL_GPIO_WritePin(MOTOR_GPIO_Port, MOTOR_Pin, GPIO_PIN_RESET);
  HAL_GPIO_WritePin(LED_R_GPIO_Port, LED_R_Pin, GPIO_PIN_RESET);
  HAL_GPIO_WritePin(LED_G_GPIO_Port, LED_G_Pin, GPIO_PIN_RESET);
  HAL_GPIO_WritePin(LED_B_GPIO_Port, LED_B_Pin, GPIO_PIN_RESET);
  HAL_I2C_IsDeviceReady(&hi2c1, MPU6050_ADDR, 3, 100);
  HAL_I2C_IsDeviceReady(&hi2c1, BME280_ADDR, 3, 100);
  HAL_UART_Transmit(&huart1, (uint8_t*)"AT\r\n", 4, 100);
}
Verification Checklist
  • Confirm 3V3 rail remains stable during ESP8266 transmit bursts and vibration motor activation.
  • Verify I2C pull-ups measure 4.7 kΩ to 3V3.
  • Confirm ESP8266 boots in normal mode: EN high, RST high, GPIO0 high, GPIO2 high, GPIO15 low.
  • Check microphone ADC idle value is near mid-supply.
  • Platform & Toolchain

  • Pin Mapping

  • External Device Configuration

  • Bring-up Sequence

  • Minimal HAL Pseudocode Skeleton

  • Verification Checklist

Assets

Assets are files uploaded to this project which can be used in various ways.

Wereablew thumbnail
Wearable Industrial Safety Monitor — STM32C011 + ESP8266, IMU/environment/microphone sensing, RGB/vibration alerts, LiPo/AP7361 power, 70 mm × 50 mm 2-layer PCB with bottom GND plane.

Properties

V

Pricing & Availability

Distributor

Qty 1

Arrow

$3.97–$13.04

Digi-Key

$5.58–$6.77

HQonline

$0.30

LCSC

$10.17

Mouser

$8.79–$15.64

TME

$2.28

Verical

$4.00–$155.60

Controls