Skip to content

fix: latch gate-drive divider, floating buck EN, and missing accelerometer MPNs - #58

Merged
thePunderWoman merged 1 commit into
mainfrom
jlc-part-fixes
Sep 24, 2026
Merged

thePunderWoman merged 1 commit into
mainfrom
jlc-part-fixes

Conversation

@thePunderWoman

Copy link
Copy Markdown
Owner

Summary

Second round of power-latch fixes, found by cross-checking a friend's third-party static-analysis tool run against this project's own netlist and the real component datasheets (one of its four findings was a false positive — buck EN genuinely is wired, just with no defined rest state — the other three, plus one more found while re-deriving the math, were real):

  • Latch gate-drive divider was too weak — R_LATCH_G1 raised from 10kΩ to 1MΩ. The old value formed an unintended divider with R_INV_PU1 across D_OR1, leaving only ~0.3V at Q_LATCH1's gate on a button press — nowhere near enough to turn it on. This means the inverter fix from the previous PR likely never actually latched on real hardware. Raised the pull-down instead of shrinking the pull-up so Q_INV1's idle state doesn't turn into a continuous mA-scale drain.
  • Button-sense node was being loaded — R_INV_BASE1 originally tapped PWR_BTN_SENSE in series with R_BTN_PU1, sagging the MCU's own button-read node to ~1V at idle instead of near-VSYS. Repurposed into its own dedicated 100kΩ VSYS pull-up, decoupled via a new Schottky (D_INV_ISO1, BAT54W) so a press still pulls the base low without loading the shared sense node.
  • Buck's EN pin had no defined rest state — added R_PWR_EN_PD1 (100kΩ to GND). TI's TLV62569 datasheet explicitly says not to leave EN floating; previously its only connection was Q_PWR1's drain, with no pull either way.
  • Missing MPNs filled in for U_ACCEL1, C_ACCEL_1/2/3 (leftover from the earlier accelerometer PR).
  • Retired the JLCPCB Basic-library matching preference — no longer targeting JLCPCB assembly for this board, so that cost optimization no longer applies (still filling in real MF/MPN for every part regardless).
  • power_control_layout diagrams (svg/md/html) updated to match all of the above.

Test plan

  • kicad-cli sch erc on the full schematic hierarchy — 0 errors, 1 pre-existing benign warning (unrelated lib_symbol_mismatch on D_RGB1)
  • kicad-cli sch export netlist — verified every new/changed net by hand (PWR_LATCH_G, PWR_BTN_INV_BASE, PWR_EN, etc.)
  • kicad-cli pcb drc — 0 violations, 0 unconnected pads
  • Full BOM re-run — every part now has MF/MPN populated, no gaps
  • Production files regenerated (gerbers, BOM, CPL, JLC zip)
  • Physical continuity/bring-up check on next board rev (still not yet validated on real hardware)

🤖 Generated with Claude Code

…meter MPNs

Power latch, round 2 (found via cross-checking a third-party static-analysis
tool run against this project's own netlist and real component datasheets):

- R_LATCH_G1 raised 10kΩ -> 1MΩ. The prior value formed an unintended divider
  with R_INV_PU1 across D_OR1, leaving only ~0.3V at Q_LATCH1's gate on a
  press -- nowhere near enough to turn it on, meaning last round's inverter
  fix likely didn't actually latch on real hardware. Raising the pull-down
  instead of shrinking the pull-up avoids turning Q_INV1's idle state into a
  continuous mA-scale drain.
- R_INV_BASE1 repurposed from a series resistor (which shared current with
  R_BTN_PU1 and sagged the MCU's own button-sense read to ~1V) into its own
  dedicated 100k VSYS pull-up, decoupled via a new Schottky (D_INV_ISO1,
  BAT54W) so a press can still pull the base low without loading the shared
  sense node.
- Added R_PWR_EN_PD1 (100k to GND): the buck's EN pin had no pull-up or
  pull-down at all. TI's TLV62569 datasheet says not to leave it floating;
  Q_PWR1's drain is its only prior connection.

Also fills in MF/MPN for the 4 accelerometer parts (U_ACCEL1, C_ACCEL_1/2/3)
that were missing them, and retires the JLCPCB Basic-library matching
preference -- we're no longer targeting JLCPCB assembly for this board.

power_control_layout diagrams updated to match. Verified via kicad-cli sch
erc, sch export netlist, and pcb drc after every change; production files
regenerated.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@thePunderWoman
thePunderWoman merged commit 9a6cbe9 into main Sep 24, 2026
2 checks passed
@thePunderWoman
thePunderWoman deleted the jlc-part-fixes branch September 24, 2026 03:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant