Capito. Allora la cosa utile adesso è gestire il rischio, non rimuginare.
Cosa significa davvero
Se il preview JLC mostrava U1 ruotato, c’è un rischio reale di orientamento errato in assembly.
Però il preview JLC può anche avere problemi di allineamento/mapping e non essere perfettamente affidabile da solo; per file e screenshot bisogna sempre collegare l’immagine al contesto reale del progetto, non trattarla come verità assoluta
Nei file allegati e nei preview la regola giusta è: essere specifici sul rischio e passare a un recovery path chiaro, non generico
Cosa fare subito
Se l’ordine è già partito, fai queste 3 cose:
Contatta subito JLCPCB
Apri il ticket/order note e scrivi che vuoi una manual placement/orientation check per U1, U6, Q2, Q1, D2, D3.
Dì esplicitamente che il CPL preview sembra avere orientamenti errati.
“tab a destra/sinistra” a seconda della tua vista di riferimento
“do not rotate 180 degrees from PCB layout reference”
Chiedi conferma prima del montaggio
Chiedi che ti mandino conferma DFM/CAM o screenshot placement prima di assemblare, se l’ordine è ancora in quella fase.
Messaggio pronto da mandare a JLC
Puoi incollare questo:
Please pause assembly if possible and manually verify component orientation against the PCB layout for these parts: U1, U6, Q1, Q2, D2, D3.
The CPL preview appears to show at least U1 rotated incorrectly relative to the PCB footprint.
Please use the PCB silkscreen / pad orientation as reference and confirm placement before assembly.
Quanto è grave
Se l’ordine è ancora in review / pending / CAM, potresti ancora salvarlo.
Se è già in assembly completed, allora bisognerà aspettare la scheda e verificare.
Software / firmware: ESP32 firmware with timed relay pulse output
Scope
Purpose
Develop a production-grade prototype PCB for a golf ball dispenser machine. Use the uploaded reference only as architectural guidance while removing unnecessary legacy circuitry. The board accepts 12V-24V DC input, generates 5V locally, hosts an ESP32-WROOM-32 based 38-pin ESP32 development board with native USB, drives a 5V relay from an ESP32 GPIO, and exports a fully isolated dry-contact relay output that emulates a mechanical coin-trigger push-button closure.
In scope
12V-24V DC power input through a screw terminal
Reverse-polarity and input filtering protection
12V-24V to 5V buck conversion
ESP32 development board interface powered from the 5V rail
Relay coil drive using an on-board transistor stage
Flyback protection across the relay coil
Dedicated dry-contact output terminal using only COM and NO
Optional debug connector only if it adds capability beyond the ESP32 onboard USB
Out of scope
Using relay NC in the output path
Driving external voltage onto the relay contact output
Adding separate USB interface circuitry on the PCB
System context
This board acts as a controller interface for a golf ball dispenser machine. The PCB accepts 12V-24V DC from the machine, generates a regulated 5V rail, powers an ESP32 development board, and uses a transistor-switched relay to present an isolated contact closure to the machine coin-trigger input.
Key interfaces
Power input: J1 12V-24V DC machine supply
5V buck stage: converts input power to regulated 5V for logic and relay coil
Controller: ESP32-WROOM-32 based 38-pin development board mounted on PCB headers
Dry contact output: RELAY_OUT routed only to K1 COM and NO
Attach: simple block diagram
Diagram
Requirements
Functional
The board shall accept 12V-24V DC from the machine and generate a stable 5V rail.
The board shall power an ESP32-WROOM-32 based 38-pin development board from the 5V rail while still allowing native USB use on the dev board.
The board shall allow an ESP32 GPIO to drive the relay transistor stage.
The board shall expose only relay COM and NO on the dry-contact output terminal.
The board shall leave relay NC unused.
The board shall emulate a momentary mechanical push-button closure for the machine coin-trigger input.
Electrical
Input power: 12V-24V DC on J1
Key rails: VIN, 5V, and GND on PCB side only
Relay coil supply: 5V rail
Coil protection: flyback diode across K1 coil
Isolation requirement: RELAY_OUT must not connect to VIN, GND, or any powered PCB rail
Mechanical / environmental
Through-hole relay, power terminal, dry-contact terminal, and 38-pin ESP32 header interface used for simple assembly and robust field wiring
Key constraints
Keep the relay coil driver topology conventional: NPN low-side switch with flyback diode
Use an ESP32-WROOM-32 based 38-pin development board with onboard USB instead of a bare ESP32 module
Avoid back-power conflicts between the PCB 5V rail and the ESP32 dev board USB input
RELAY_OUT must be a true dry contact using only COM and NO
No PCB rail may be routed onto the relay contact side
Dependencies and risks
Dependencies
External machine provides 12V-24V DC input power
External coin pulse input expects a passive contact closure on RELAY_OUT
Key risks
ESP32 dev board pinout must match the chosen 38-pin DevKitC footprint in the library
USB back-power behavior depends on the chosen dev board implementation and must be handled conservatively
Validation
Success criteria
J1 accepts 12V-24V input and the buck stage generates 5V
ESP32 dev board receives 5V and GND correctly from the PCB
K1 coil is driven from PCB 5V through Q1 and protected by D1
RELAY_OUT connects only to K1 COM and K1 NO
K1 NC is not connected
No PCB supply rail is present on RELAY_OUT
Planned checks
Inspect schematic nets for dry-contact isolation
Review 5V power distribution and ESP32 header mapping
Run ERC and DRC checks before prototype release
Release-facing notes
Expected deliverables
Schematic
BOM
Design notes in project documentation
Special release notes
RELAY_OUT is intentionally isolated and must remain free of applied PCB voltage
ESP32 onboard USB is the preferred programming and debug interface unless a non-redundant auxiliary header is later justified
Change notes / open questions
Changes in this revision
Existing relay driver retained as a starting point for refinement
Project scope expanded to full golf ball dispenser controller with power conversion and ESP32 dev board support
Controller interface updated from 30-pin ESP32-DEVKIT-V1 to 38-pin ESP32-DEVKITC / ESP32-WROOM-32 based board
Relay control remapped to IO23 on the 38-pin controller interface
90 x 70 mm layout checked for fit with the new controller footprint and onboard USB edge access
U2 replacement re-validated against the photographed 38-pin ESP32 board family, preserving EXT_5V, 3V3, GND, IO23, IO21, and IO22 connections
Photographed board reference orientation
USB connector at the bottom
Critical preserved functional mapping used by this project:
GPIO23 -> relay control
GPIO22 -> INA219 SCL
GPIO21 -> INA219 SDA
3V3 -> INA219 supply and I2C pull-ups
5V -> dev-board external power input
GND -> common logic and power reference
Open questions
Select final buck implementation for prototype versus module strategy if desired
Decide whether any auxiliary debug header adds value beyond the dev board USB connection
Design Summary
Scope
System context
Requirements
Functional
Electrical
Mechanical / environmental
Key constraints
Dependencies and risks
Validation
Release-facing notes
Change notes / open questions
Reviews
Documents
Project Specification
Design Notes
Assets
Assets are files uploaded to this project which can be used in various ways.
Golf ball dispenser controller with protected 12V-24V DC input, LM2596 5V buck, ESP32 control, INA219 relay-coil sensing, and dry-contact relay output.
Properties
Properties describe core aspects of the project.
Pricing & Availability
Distributor
Qty 1
Arrow
$6.05–$9.43
Digi-Key
$25.76–$27.71
LCSC
$5.21–$5.33
Mouser
$13.71–$13.77
TME
$9.98
Verical
$4.32–$8.32
Controls
Welcome 👋
Flux helps you build PCBs faster with an AI teammate!
Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.