Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
2fdd5ca
bootstrap KiCad projects for backplane PCBs
FerretCode Jul 12, 2026
9aaef11
approve EPS subsystem documentation
FerretCode Jul 17, 2026
bf5f2fd
add pinout documentation
FerretCode Aug 1, 2026
6249735
swap CAN pins for routing ease
FerretCode Aug 1, 2026
e06d4f6
add mechanical constraints
FerretCode Aug 1, 2026
d0fb6c1
finish preliminary 1U design
FerretCode Aug 17, 2026
a9fa95c
clean
FerretCode Aug 17, 2026
715698a
revisions from design review
FerretCode Aug 23, 2026
58239dd
route main CANBus line as differential pair
FerretCode Sep 1, 2026
8c1ef96
reposition PTH using an edge instead of an arc
FerretCode Sep 1, 2026
1618d81
repour
FerretCode Sep 1, 2026
ef9863b
stitching vias
FerretCode Sep 1, 2026
909b4c6
add ICD revision
FerretCode Sep 1, 2026
87d1654
update layout guidelines
FerretCode Sep 1, 2026
59012fe
add board generator script & 2U backplane design
FerretCode Sep 2, 2026
9c2c88c
update checklists for clarity
FerretCode Sep 4, 2026
e4b6129
share footprint & symbol libraries
FerretCode Sep 4, 2026
6dc36bc
add shared KiCad libraries
FerretCode Sep 4, 2026
79d76d5
add initial 3U design
FerretCode Sep 4, 2026
96ae116
add zone keepouts
FerretCode Sep 6, 2026
4118953
finish stitching vias & add zone keepout
FerretCode Sep 6, 2026
3044075
add burnwire & IMU peripherals
FerretCode Sep 17, 2026
fad8699
fix board clearance DRC & modify slot ID
FerretCode Sep 18, 2026
169a11f
reconfigure slot ID on 2u and fix DRC
FerretCode Sep 18, 2026
3ac66d6
add ADC peripherals to test board
FerretCode Sep 18, 2026
824367a
fix mechanical constraints
FerretCode Sep 18, 2026
7a0476b
add first flatsat revision
FerretCode Sep 19, 2026
32fd23f
fix connector orientation on flatsat
FerretCode Sep 20, 2026
95f476a
fixes
FerretCode Sep 20, 2026
33f3962
update test board connector placement
FerretCode Sep 20, 2026
38c9ba2
add silk & clean flatsat
FerretCode Sep 20, 2026
cc7160e
add shunt resistors, rail injection points, and breakout
FerretCode Sep 20, 2026
5588939
continue adding peripherals
FerretCode Sep 23, 2026
a2c4b15
finalize schematic
FerretCode Sep 24, 2026
47e242a
adjust pth on 2u backplane
FerretCode Sep 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions backplane/documentation/design_review/r1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
- [X] Remove solder mask around the edges for grounding
- [ ] Consider M3 over M4
- [X] Ground LC1 & LC2
- [X] Add GND plane to layer 3
- [X] Update rail pour constraints
- [X] Consider removing solder mask instead of silkscreen
- [ ] Consider pull-downs on all SLOT pins by default
- [ ]Consider adding a debug connector
- [ ] Route CAN as a differential pair
1 change: 0 additions & 1 deletion backplane/documentation/spec/keying_standard.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ Reserve a small number of spare pins (already budgeted in the pin-budget methodo
## Open Items

- Define the specific guide pin position/diameter table per slot, and add it to the pinout ICD
- Confirm the number of spare pins available for the electronic slot-ID scheme against the existing pin-budget worksheet
- Decide the exact slot-ID encoding (e.g., grounded pin pattern vs. a small resistor-divider ID vs. a single-wire ID read over an ADC pin)

## References
Expand Down
47 changes: 47 additions & 0 deletions backplane/documentation/spec/pin_budget.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Backplane Pin Budget & Connector Count Worksheet

## Document Control

- Version: 1
- Author: Ethan Eggert
- Approver:
- Last Revised Date: August 1, 2026
- Approval Status: Unapproved

## Purpose

Determines the backplane bus pin allocation, used to inform the backplane pinout ICD

## Basis

Revised from 2025's Inter-Board Connector (IBC) design, which used a 40-pin (2x20) connector and worked out reasonably well in practice. This year's revisions account for: standardizing on CAN as the shared data bus (replacing UART as the primary protocol), adding GND reference pins, reserving pins for the electronic slot-ID scheme defined in the Backplane Keying Scheme doc, and adding a point-to-point SPI bus for Payload<->OBC data transfer.

## Shared Bus Pin Inventory (every board's connector carries this common set)


| Category | Signals | Pin Count | Notes |
| :---- | :---- | :---- | :---- |
| Power rails | RAIL_1_VOUT through RAIL_8_VOUT, 2 pins each | 16 | Matches EPS's existing 8-channel architecture; 2 pins/rail, also present in 2025's design. Current rating per rail is TBD pending EPS's finalized worst-case power budget |
| CAN bus (redundant) | CAN_MAIN_H, CAN_MAIN_L, CAN_AUX_H, CAN_AUX_L | 4 | Renamed from last year's `+/-` convention to standard CAN_H/CAN_L |
| EPS/OBC control & status | EPS_PGOOD, EPS_OBC_RESET, OBC_EPS_RESET, OBC_HEARTBEAT | 4 | Unchanged from last year |
| Ground | Distributed GND | 7 | Replaced some reserved pins with GND |
| Slot-ID (keying scheme, Layer 4) | SLOT_ID0, SLOT_ID1, SLOT_ID2 | 3 | New for this design; supports up to 8 unique slot IDs, per the Backplane Keying Scheme doc |
| Payload<->OBC SPI (point-to-point) | SPI_SCLK, SPI_MOSI, SPI_MISO | 3 | Higher-speed link for image transfer. Not part of the shared communication |
| Spares | Reserved for future revisions | 3 | See rationale in the Backplane Pinout ICD |
| **Total** | | **40** | Matches last year's connector size (2x20 / 40-position), but using a different connector standard |


**Removed from 2025 design:** dedicated UART (SYSTEM_MAIN_UART_RX/TX, SYSTEM_AUX_UART_RX/TX, 4 pins).


## Open Items

- [ ] Confirm per-rail worst-case current; verify 2 pins/rail is sufficient or whether any rail needs additional paralleled pins
- [ ] Confirm slot-ID encoding scheme (grounded pattern vs. resistor-divider vs. other) per the open item in the Backplane Keying Scheme doc

## References

- [Backplane Subsystem Info doc](../subsystem_info.md)
- [Backplane Connector Trade Study](../bom/tradeoffs/backplane_connector.md)
- [Backplane Keying Scheme](../spec/keying_standard.md)
- [Prior-year Inter-Board Connector (IBC) design](../../../eps/v1/hardware/inter_board_connector.kicad_sch)
1 change: 1 addition & 0 deletions backplane/documentation/subsystem_info.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ The backplane is the shared physical and electrical board that every other subsy

# Scope and deliverables


| Deliverable | Description |
| :---- | :---- |
| Connector standard selection | Select a single pin-and-socket connector family (e.g., a small-pitch board-to-board connector) used identically across every subsystem board |
Expand Down
8 changes: 8 additions & 0 deletions backplane/v1/hardware/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
*/*-backups/
*/*.lck
*/*_autosave*
*/production/
scripts/*pycache*/
scripts/.freerouting/
scripts/*.dsn
scripts/*.ses
9 changes: 9 additions & 0 deletions backplane/v1/hardware/1u/backplane.kicad_dru
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# KiCad Custom Design Rules (.kicad_dru)
# Baseline rules for JLCPCB 4-Layer PCB Fabrication (JLC04161H-7628 stackup)

(version 1)

(rule "Edge Plating Via Clearance"
(constraint edge_clearance (min -1mm))
(condition "A.Type == 'Graphic' && A.Layer != 'Edge.Cuts'"))

Loading
Loading