Building a Locker Control Board


I’ll treat each lock as a 4-wire 24 V device: two coil wires plus two 24 V lock-state wires. I’ll add 16 protected 24 V-tolerant state inputs using input shift registers, update the connectors/interface docs, and verify the schematic changes.
I’m adding isolated 12/24 V state sensing: each state wire drives an optocoupler input, and two 74HC165 input shift registers report the 16 states to the ESP32-S3.
Updated the design for 4-wire 12/24 V locks: each lock now has coil drive plus isolated 12/24 V state sensing, read through two 74HC165 input shift registers. I also updated the project specification, firmware starter, bring-up plan, and FMEA; validation now shows only expected unused ESP32 dev-board pin warnings.
Estimated time saved vs. manual EDA workflow: ~4–6 hours.
Open items:
  • Confirm state polarity: whether the 24 V state signal means “locked” or “unlocked.”
  • Confirm real lock coil current and max simultaneous activations.
  • Finalize the buck regulator values before PCB layout.
Suggested next steps:
  1. Define the exact connector pinout labeling/silkscreen.
  2. Finalize U2 regulator passives from the datasheet.
  3. Place the 16 lock connectors and high-current driver section on the PCB.
  4. Add firmware CAN command handling and state reporting.
Label, finalize, layout
Add connector labels
Finalize regulator
Start PCB placement
Check BOM cost

J11
J16
U3
J18
J14
J7
J12
J6
J17
J5
J8
J4
U4
J2
J13
U1
J3
J9
J15
Board Bring-Up Plan — Multi-Lock Controller
Prerequisites
Use a current-limited 12/24 V bench supply, multimeter, oscilloscope, USB cable for ESP32-S3 programming, and dummy loads or real locks with known current rating.
1. Visual Inspection
Check polarity of D2-D18, F1, U2, U5, all MOSFETs Q1-Q16, all optocouplers ISO1/Q17-Q31, and all 4-wire lock terminal blocks before power-up.
2. Power Checks

Table


RailSourceExpectedCurrent LimitPass Criteria
VIN_RAWJ1 before F112/24 V100 mA initialNo short to GND
24V / LOCK_SUPPLYF1 output12/24 V100 mA initialTVS not heating, no overcurrent
3V3U2/L2/C163.3 V100 mA initial3.2-3.4 V and stable
3. Connector Pinout Check
Each lock connector is intended as:
  1. +12/24 V coil supply
  2. Switched coil return
  3. 12/24 V state+
  4. State-
Verify all 16 connectors with continuity before connecting locks.
4. Logic Bring-Up
  1. Program the ESP32-S3 over USB.
  2. Confirm serial message reports DIP configuration and raw lock-state word.
  3. Apply a current-limited 12 V test signal to each state input pair and verify the corresponding raw bit changes.
  4. Repeat with 24 V after confirming optocoupler input resistor temperature is acceptable.
  5. Press TEST; verify shift-register outputs toggle one at a time.
  6. With no locks attached, verify each MOSFET drain switches low only for its commanded channel.
5. Lock Output Validation
Start with one dummy load/current-limited lock on channel 1. Confirm flyback behavior and MOSFET temperature, then repeat for all 16 channels.
6. CAN Validation
Check CANH/CANL continuity at J10. Only populate/use the 120 ohm termination if this board is at the end of the bus.
Open Items Before Manufacturing
  • Finalize U2 regulator datasheet passives and feedback values.
  • Define maximum lock current and simultaneous activation limit.
  • Confirm lock-state polarity and whether asserted means locked or unlocked.
  • Validate thermal rise of Q1-Q16, R49/R1-R58 state input resistors, and fuse sizing with real locks.
  • Prerequisites

  • 1. Visual Inspection

  • 2. Power Checks

  • 3. Connector Pinout Check

  • 4. Logic Bring-Up

  • 5. Lock Output Validation

  • 6. CAN Validation

  • Open Items Before Manufacturing