fix: latch gate-drive divider, floating buck EN, and missing accelerometer MPNs - #58
Merged
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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):
R_LATCH_G1raised from 10kΩ to 1MΩ. The old value formed an unintended divider withR_INV_PU1acrossD_OR1, leaving only ~0.3V atQ_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 soQ_INV1's idle state doesn't turn into a continuous mA-scale drain.R_INV_BASE1originally tappedPWR_BTN_SENSEin series withR_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.R_PWR_EN_PD1(100kΩ to GND). TI's TLV62569 datasheet explicitly says not to leave EN floating; previously its only connection wasQ_PWR1's drain, with no pull either way.U_ACCEL1,C_ACCEL_1/2/3(leftover from the earlier accelerometer PR).power_control_layoutdiagrams (svg/md/html) updated to match all of the above.Test plan
kicad-cli sch ercon the full schematic hierarchy — 0 errors, 1 pre-existing benign warning (unrelatedlib_symbol_mismatchon 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🤖 Generated with Claude Code