feat(schematic): replace L7805 with TPS61088 boost converter #1

Merged
0xWheatyz merged 16 commits from feat/boost-converter-integration into master 2026-05-24 02:24:35 +00:00

16 Commits

Author SHA1 Message Date
0xWheatyz 7e8784a06e docs(bom): add purchase column and markdown BOM with combo-kit sourcing
Adds Purchase column to bom.csv with verified sourcing links and a
companion BOM.md with grouped tables, combo-kit recommendations, and
critical pre-order notes.

Flagged during research:
- U1 package description was wrong (3.5x3.5mm); TPS61088 RHL is
  actually VQFN-20 4.5x3.5mm. KiCad footprint is correct, only the
  BOM description was off.
- PCB silkscreen shows TPS61088QRHLRQ1 (auto Q1) but the non-Q1
  TPS61088RHLR is a drop-in substitute with the same RHL pinout and
  is ~5x cheaper at LCSC.
- Pinout verified: schematic pins 1/3/4/5/6/7/8/9/11/12/15 match the
  TI datasheet RHL pinout.

Combo kits collapse R1-R5 (E96 sample book), C6/C8/C9 (0805 ceramic
kit), and C4/C5/C10/C11 (22uF 1206 50-pack) into single orders.

Constraint: ESP32 module excluded per user — sourced separately.
Constraint: L1 must handle >=10A; no-name AliExpress inductors avoided.
Directive: If swapping L1 to TDK SPM10065 from Bourns SRP1265, verify
KiCad footprint matches before ordering (10.5x10mm vs 12.6x12.6mm).
Confidence: high
Scope-risk: narrow
Not-tested: actual delivery/fitment of recommended AliExpress parts
2026-05-23 21:39:56 -04:00
0xWheatyz d1ff44802b chore(outputs): regenerate STEP and PCBWay fabrication package
* firstpcb.step regenerated from current PCB (DRC-clean board with
  four M2 mounting holes). Two component 3D models (R_0805 and
  JST_XH_B4B-XH-A) fail to decompress under the Nix-packaged KiCad;
  affected components are missing 3D shapes but board body and other
  models are present.
* pcbway_export/ contains gerbers (RS-274X Protel, 4.6 mm), separate
  PTH/NPTH Excellon drill files, drill maps, gbrjob, and a README
  with the stackup/spec.
* firstpcb_pcbway.zip is the upload-ready archive for PCBWay.
* .gitignore updated to drop KiCad autosaves and *.pre-drc-fix locals.

Constraint: PCBWay accepts gerbers with Protel extensions and Excellon
  drills, separate PTH/NPTH preferred
Directive: regenerate this package whenever the PCB changes -- the zip
  is a derived artifact; the source of truth is firstpcb.kicad_pcb
2026-05-15 16:39:27 -04:00
0xWheatyz 24d76b1fff feat(pcb): add four M2 NPTH mounting holes at the corners
Insets uniformly 3.00 mm from each board edge. Hole pattern is
75.00 mm (X) x 54.00 mm (Y) center-to-centre on the 81 x 60 mm board.

Hole specs per location:
  MH1 (63, 43)   - top-left
  MH2 (138, 43)  - top-right
  MH3 (63, 97)   - bottom-left
  MH4 (138, 97)  - bottom-right
  drill 2.2 mm (M2 medium-fit clearance), copper keep-out 4.0 mm dia,
  NPTH, no solder-mask opening.

Constraint: M2 clearance hole, NPTH (no electrical connection)
Constraint: board outline gr_rect (60,40)-(141,100) -> 81 x 60 mm
Rejected: 2.5 mm inset | pad edge sits exactly on board edge clearance min
Rejected: solder-mask opening on the pad | ESP32 silk at y=96.36
  near MH3 produced two silk_over_copper warnings; bare drill (no mask
  opening) keeps DRC clean at the cost of less-visible holes
Rejected: putting holes outside Edge.Cuts as silkscreen markers |
  user asked for real mounting holes, not indicators
Confidence: high
Scope-risk: narrow
Directive: hole positions are coupled to the board outline -- if the
  outline changes, the 3.00 mm uniform inset must be recomputed
2026-05-15 16:14:01 -04:00
0xWheatyz cd115c8805 fix(pcb): resolve all DRC errors and unconnected pads
Drop 68 errors + 2 unconnected to 0 + 0. Key changes:

* U2 (TPS61088 RHL0020A) footprint: 8 internal "V" stitching vias
  re-numbered to 21 (thermal pad), drill widened 0.2032 -> 0.3 mm,
  pad 0.5 -> 0.6 mm, net set to GND with solid zone_connect. Two
  unnetted internal fp_poly graphics (F.Cu and F.Mask) deleted.
* U2 reference silk moved off the thermal pad (0,-3.5).
* Bridge segment added between U2 pad 20 (AGND) and pad 21 (PGND).
* MotorPower1 pad 2 and A4988 pad 8 set to solid zone_connect.
* +12V zone (B.Cu) connect_pads clearance 0.5 -> 0.2 mm and
  thermal_gap 0.5 -> 0.2 mm so fill can pass between A4988 pad
  rows and merge the orphan +12V island around pad 8.
* Orphan 0.1 mm F.Cu GND stub at (118.975, 75.325) removed.

Constraint: kicad-cli DRC clean is the acceptance bar
Constraint: U2 RHL0020A footprint edited inline only, source
  library copy untouched (causes a lib_footprint_mismatch warning)
Rejected: route a long F.Cu +12V trace pad8 -> U2 area | adds
  ~28 mm of routing across multiple components; clearance reduction
  is a one-line change with no clearance violations
Rejected: drop a stitching via near pad 8 | still leaves a small
  B.Cu island; zone clearance fix solves the root cause
Confidence: high
Scope-risk: moderate
Directive: do not raise the +12V zone clearance back to 0.5 mm
  without first re-routing pad 8 to merge the islands; otherwise
  the unconnected error returns
Not-tested: high-current behavior with 0.2 mm clearance on +12V
  (acceptable for the design's 12 V / sub-amp load, may need
  review if the load grows)
2026-05-15 16:05:03 -04:00
0xWheatyz 88f8401cff chore(outputs): add tps61088 boost reference schematic exports
Snapshot the PDF and SVG exports plus ERC report for the standalone
TPS61088 boost reference schematic used as the integration source.

Confidence: high
Scope-risk: narrow
2026-05-14 22:35:22 -04:00
0xWheatyz a754b46724 chore(outputs): add bom, schematic pdf/svg, and erc report for current design
Snapshot the post-boost-integration design outputs: BOM CSV, schematic
PDF and SVG exports, and the ERC report against the current schematic.

Confidence: high
Scope-risk: narrow
Directive: These are regenerated outputs - refresh them when the schematic changes
2026-05-14 22:35:14 -04:00
0xWheatyz 2e0b9cc671 chore(erc): add per-feature erc reports from integrate_boost test harness
Capture ERC outputs from the incremental schematic-build test harness used
during boost integration: per-feature slices (bins, junctions, labels,
no-connects, symbols 0-21, texts, wires) and cumulative/incremental runs.
The generating script lives in __pycache__ only (gitignored); these
reports document which slices were ERC-clean at integration time.

Confidence: medium
Scope-risk: narrow
2026-05-14 22:35:06 -04:00
0xWheatyz 6de7d72608 chore(schematic): add exploration schematics for boost integration
Capture the working test schematics produced while iterating on the
boost-converter integration: firstpcb_test through firstpcb_test5 plus
firstpcb_a3 (A3 sheet variant) and firstpcb_nolib (stand-alone copy
with no external lib references). Includes ERC reports for the first
three test variants.

Confidence: medium
Scope-risk: narrow
Directive: These are exploration artifacts, not the production design - do not edit; treat as historical references
2026-05-14 22:34:57 -04:00
0xWheatyz 8bef976db2 chore(backups): rotate kicad autosave snapshots
Drop 24 stale Feb-Mar snapshots and add today's 29 KiCad autosave zips
produced during the boost-converter integration session.

Confidence: high
Scope-risk: narrow
2026-05-14 22:34:18 -04:00
0xWheatyz 0e18a10bdb chore(kicad): migrate project files to kicad 10 format
Open and save the board, project, and project-local state files under
KiCad 10. Bumps board format version 20241229 -> 20260206 with the new
tenting/covering/plugging/capping/filling stackup directives, drops the
removed HPGL plot params, and adds the KiCad 10 schema additions to the
project file (component class settings, IPC-2581 revision fields, ERC
rule keys, tuning-profile DRC keys, netclass meta version 5). Also
captures live editor UI state (active layer, column widths, hierarchy
collapsed list) in the .kicad_prl.

Constraint: Project is now opened with KiCad 10 - cannot be downgraded
Confidence: high
Scope-risk: broad
Directive: Do not edit these files with KiCad 9.x - format is one-way
2026-05-14 22:34:10 -04:00
0xWheatyz afd63000b5 fix(schematic): correct power input connector and namespace RHL0020A footprint
Replace the 3-pos MaiXu MX126-5.0 terminal block footprint on the power
input connector with a 3-pos JST EH vertical header, matching the actual
battery harness. Namespace the RHL0020A footprint reference as
Project:RHL0020A so it resolves through the project-local Project.pretty
library rather than the previous unqualified bare name.

Constraint: RHL0020A footprint lives in the project-local library
Confidence: high
Scope-risk: narrow
2026-05-14 22:33:57 -04:00
0xWheatyz ebda03e2d1 chore: add gitignore and drop regenerated fp-info-cache
Ignore KiCad lock files, the regenerated fp-info-cache, Python bytecode,
and editor/tooling local state (.history, .omc). Delete the previously
tracked fp-info-cache since KiCad regenerates it from the active library
tables on demand.

Confidence: high
Scope-risk: narrow
2026-05-14 22:33:47 -04:00
0xWheatyz 780b3d41ab chore(libs): restore full kicad standard footprint and symbol libraries
Previously fp-lib-table only contained a project-local Library.pretty entry
and sym-lib-table only contained the TPS61088 symbol library, which made
the project unable to resolve standard KiCad footprints/symbols on this
machine. Repopulate both tables with the full KICAD10 standard library
set, and add a project-local "Project" footprint library so footprints
like RHL0020A can be referenced via the Project: prefix.

Constraint: KiCad 10 uses KICAD10_FOOTPRINT_DIR/KICAD10_SYMBOL_DIR env vars
Confidence: high
Scope-risk: narrow
2026-05-14 22:32:11 -04:00
0xWheatyz e63c871611 feat(schematic): add boost converter support circuitry for U2 TPS61088QRHLRQ1
Add complete 5V-to-12V boost converter reference design around U2
(TPS61088QRHLRQ1) matching U1's circuit: input caps, compensation
network, soft-start cap, inductor, bootstrap cap, output caps, and
feedback voltage divider. Fix SW/BOOT pin types from power_in to
passive to resolve ERC errors. Update sym-lib-table to point to the
Q1 variant symbol library.

Constraint: Pin types must match U1's passive designation for SW/BST
Rejected: Leaving SW/BOOT as power_in | causes ERC "not driven" errors
Confidence: medium
Scope-risk: moderate
Not-tested: full ERC pass with both U1 and U2 present
2026-04-22 21:25:06 -04:00
0xWheatyz b0f7a660c7 feat(schematic): assign SMD footprints to all passive components
Replace THT resistor footprints with 0805 SMD, assign 0805 caps for
small values, 1206 for 22uF bulk caps, SMD electrolytic for C3, Bourns
SRR1260 for L1, and QFN-20 for U1 TPS61088.
2026-04-20 19:20:22 -04:00
0xWheatyz e9917837a8 feat(schematic): replace L7805 with TPS61088 boost converter
Remove the L7805 linear regulator (12V→5V) and its input/output caps,
replacing it with a TPS61088 boost converter circuit (5V→12V) for the
A4988 stepper driver. The ESP32 is now powered directly from the 5V
input rail. Includes integration script and project sym-lib-table for
the custom TPS61088 symbol library.
2026-04-20 17:49:23 -04:00