molecule
ESC G431
Public Made by Adomby adom
Single-motor ESC for the drone test cell: STM32G431 + DRV8300 driving a 3-phase bridge of six BSC016N06NS MOSFETs, TPSM365 buck to 12 V, INA181 low-side current sense (25 mV/A, 131 A full-scale). Runs AM32. 64 x 74 mm, 4-layer.
main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
{
"$shape": "adom-board-viewer-config/0.2",
"_note": "Path B ESC viewer; content from the designer's schematic notes; captions author-asserted; behaviours illustrative.",
"board": {
"name": "ESC G431",
"subtitle": "ECS_G431 v2.0.1",
"rev": "as-drawn from ECS_G431_v2.0.1.kicad_pcb",
"source": "KiCad project (4-layer PCB + STEP export)",
"size_mm": [
64.0,
74.0
],
"thickness_mm": 1.6,
"copper_layers": 4
},
"blocks": [
{
"id": "power",
"label": "Power in / rails",
"color": "#f5a524",
"short": "SMBJ26A TVS, TPSM365 buck to 12V, AP2112K-3.3"
},
{
"id": "mcu",
"label": "Microcontroller",
"color": "#3b82f6",
"short": "STM32G431CBT6 + 8 MHz crystal (AM32)"
},
{
"id": "gate",
"label": "Gate driver",
"color": "#a855f7",
"short": "DRV8300, external deadtime"
},
{
"id": "bridge",
"label": "3-phase bridge",
"color": "#ef4444",
"short": "6x BSC016N06NS MOSFETs"
},
{
"id": "isense",
"label": "Current sense",
"color": "#06b6d4",
"short": "INA181A2, 25 mV/A, 131 A full-scale"
},
{
"id": "status",
"label": "Status LEDs",
"color": "#22c55e",
"short": "2x green + 1 blue"
},
{
"id": "debug",
"label": "Debug",
"color": "#8b5cf6",
"short": "STDC14 SWD (J1)"
},
{
"id": "pins",
"label": "Machine pins",
"color": "#64748b",
"short": "contacts + corner MP1-4"
}
],
"modes": {
"assembly": {
"label": "Assembly",
"blurb": "Each grouping seats onto the board while its caption explains it.",
"order": [
"pins",
"power",
"bridge",
"gate",
"isense",
"mcu",
"status",
"debug"
],
"timing": {
"fall_s": 0.47,
"stagger_s": 0.027,
"dwell_s": 6.5,
"rest_s": 4.0,
"drop_height_mm": 16
},
"intro": {
"d": 6,
"eyebrow": "ESC G431",
"head": "STM32G431 + DRV8300 3-phase ESC, AM32",
"rows": [
[
"Drive",
"3-phase, 6x BSC016N06NS"
],
[
"MCU",
"STM32G431CBT6"
],
[
"Sense",
"INA181A2, 25 mV/A"
]
],
"note": "A single-motor ESC: a synchronous buck makes 12 V for the gate driver, the DRV8300 drives a 6-MOSFET bridge, and an INA181 senses phase current. VBAT operating 26 V (TVS standoff), transient clamp ~42 V."
},
"captions": {
"pins": {
"eyebrow": "Datum",
"head": "Machine-pin contacts",
"rows": [
[
"Corners",
"MP1-4"
]
],
"note": "Locates the board and carries VBAT, phases and sense to the cell. GND and 3v3 contacts are sense-only; GND_OUT is battery-out only."
},
"power": {
"eyebrow": "Power",
"head": "Clamped, bucked, regulated",
"rows": [
[
"Protection",
"D1 SMBJ26A TVS (~42 V clamp)"
],
[
"Buck",
"TPSM365R6V5 module (U2) -> +12 V"
],
[
"MCU rail",
"AP2112K-3.3 (U3)"
],
[
"Range",
"+18.0 to +25.2 V in"
]
],
"note": "VBAT is TVS-clamped, a synchronous buck module makes 12 V for the gate driver, and the AP2112K makes 3.3 V for the MCU. Absolute max: VBAT operating 26 V, transient clamp ~42 V."
},
"bridge": {
"eyebrow": "Power stage",
"head": "Three half-bridges",
"rows": [
[
"MOSFETs",
"6x BSC016N06NS (Q1-Q6)"
],
[
"Phases",
"A / B / C"
]
],
"note": "Three half-bridges drive the motor's three phases. Deadtime is configured externally at the gate driver."
},
"gate": {
"eyebrow": "Gate driver",
"head": "DRV8300, bootstrap-fed",
"rows": [
[
"Part",
"DRV8300DPWR (U4)"
],
[
"Drive",
"source 750 mA, sink 1.5 A"
],
[
"Bootstrap",
"C_BST >= 8.6 nF, C_GVDD >= 10x"
]
],
"note": "The DRV8300 level-shifts and drives the six gates from the 12 V rail, deadtime set externally; the bootstrap caps are sized from the MOSFET gate charge."
},
"isense": {
"eyebrow": "Feedback",
"head": "Low-side current sense",
"rows": [
[
"Amp",
"INA181A2 (U6), gain 50 V/V"
],
[
"Shunt",
"0.5 mOhm"
],
[
"Scale",
"25 mV/A, 58.5 A -> 1.46 V, full 131 A"
]
],
"note": "A 0.5 mOhm shunt and INA181A2 give 25 mV/A into the MCU ADC; total error about +/-0.47 A (0.8%). A back-EMF divider/filter feeds commutation sensing."
},
"mcu": {
"eyebrow": "Control",
"head": "STM32G431 running AM32",
"rows": [
[
"Part",
"STM32G431CBT6 (U5)"
],
[
"Clock",
"8 MHz crystal (Y1)"
],
[
"Reset",
"SW1 tact"
]
],
"note": "An STM32G431 running AM32 firmware. Max expected unloaded ERPM 300k, min cycle period 200 us. BOOT0 is not routed, so the DSHOT-wire bootloader (or SWD) is the flashing path."
},
"status": {
"eyebrow": "Indicators",
"head": "Two green, one blue",
"rows": [
[
"Green",
"LED1 ~0.49 mA (12 V), LED2 ~0.45 mA (3.3 V)"
],
[
"Blue",
"LED3 ~0.51 mA"
]
],
"note": "Illustrative: rail/status indicators, LED currents as annotated on the schematic."
},
"debug": {
"eyebrow": "Debug",
"head": "SWD landing",
"rows": [
[
"Connector",
"J1 STDC14"
]
],
"note": "ST STDC14 SWD connector, and a jumper selects an external 5 V."
}
}
},
"static": {
"label": "Static",
"blurb": "The seated board. Camera is yours; hover a part, click legend rows to isolate a section.",
"functions": {
"power_leds": {
"label": "Power",
"refs": [
"LED1",
"LED2",
"LED3"
],
"color": "#39ff88",
"default": false,
"_src": "AUTHOR/illustrative: LED1/LED2 green rail indicators, LED3 blue, per the schematic notes."
}
}
}
},
"tooltips": {
"enabled": true,
"_note": "Measured from geometry + schematic notes; no datasheet citations."
}
}