DIY Compass Project

Work done
  • Verified the existing baseline is present: 100 mm x 50 mm layout, 3 mm corner radius, and 4-layer stackup.
  • Confirmed core parts are already in place and should remain the baseline: J1, U1, U2, U3, U4, U5, U6, SW1, J2, H1, H2, H3, and H4.
  • Verified key nets exist and are connected: VBAT_12V, VIN_PROT, +5V, +3V3, GND, I2C_SDA, I2C_SCL, RESET_N, SWDIO, and SWDCLK.
  • Confirmed schematic ERC currently reports clean for floating pins, no-connect violations, missing power, single-pin nets, and undriven nets.
  • Confirmed layout still has DRC work remaining: 52 airwire errors and 1 overlapping copper error.
  • Confirmed project files exist for documentation: Design Notes and Firmware Starter.
Success criteria review
  • âś… Existing component selection was preserved and not restarted.
  • âś… Schematic baseline and main net labels were verified.
  • âś… Board baseline was verified as 100 mm x 50 mm, 3 mm corner radius, 4-layer.
  • ❌ PCB placement optimization, routing, final DRC cleanup, and documentation updates are still pending.
Next steps Continue from layout: place H1-H4 at the board corners, keep J1, U1, U2, U3, and L1 grouped near the input, align U6 for dashboard visibility, isolate U5 from power/display currents, then route and re-run DRC/ERC.
continue
I've made a plan, and started work on it.
Add ESD protection
Check ERC/DRC
Document decisions

Started implementing a plan

#Goal

- Complete final implementation steps on the FJ Cruiser Digital Compass project by verifying the schematic, finalizing PCB component placement, applying layout and routing rules, cleaning up DRC issues, and updating all project documentation, ensuring that the current baseline and pre-selected parts are preserved.

#Implementation plan

1. **Schematic and Baseline Verification**

1. Review the existing schematic and component connections, ensuring all key nets (e.g., VBAT_12V, VIN_PROT, +5V, +3V3, GND, I2C_SDA, etc.) remain intact.

2. Confirm that previous verification results are incorporated before proceeding with layout tasks.

2. **PCB Component Placement**

1. Place all PCB components on the 100 mm x 50 mm board per design constraints.

2. Group functional blocks:

1. Place input/power components (J1, U1) near the board edge for easy access.

2. Align U6 (seven-segment display module) for optimum dashboard viewing.

3. Isolate U5 (magnetometer) from high-noise or magnetic interfering components.

4. Arrange SW1 (calibration button) and supporting passives near associated ICs (e.g., U2, U3).

5. Position mounting holes (H1-H4) at corners with proper spacing and account for the 3 mm corner radius.

3. **Routing and Layout Rule Configuration**

1. Set and apply PCB layout rules such as trace width, clearance, and keepout/inset dimensions (0.2 mm).

2. Route remaining airwires using Auto-Route, addressing any overlapping copper issues detected earlier.

3. Run DRC/ERC checks to verify that all errors (e.g., airwires and DRC issues) have been resolved.

4. **Documentation and Project Updates**

1. Update project notes and metadata with final implementation details, component placement decisions, routing and layout rule choices, and any identified risks.

2. Archive verification status and detailed DRC cleanup actions for future reference.

#Success criteria

- The schematic remains compliant with the original design and all key nets are preserved.

- All components are correctly placed according to the grouping and positioning guidelines.

- All airwires and DRC issues are resolved with a clean DRC report.

- Project documentation is updated with final implementation notes and verification status.

Task unable to complete.

5:24:27

Task unable to complete.

5:23:46

Running 8 design checks.
Accessing knowledge.
Read schematic.
Read layout.

Reviewed schematic baseline and current layout violations

0:27

Started: reviewing schematic baseline and layout constraints.
Thought for a moment

Failed

18:15

Accessing knowledge.

Refine this doc
Ask about this doc
Design Notes
Architecture

Diagram


I2C Two Wire Display Bus Vehicle node_12V Input Protected Input eFuse 5V Buck Regulator 3.3V LDO SAMD21 MCU MMC5883MA Magnetometer TM1637 Four Digit Display Calibration Button Programming Header Mounting Holes
Major design decisions

Table


AreaDecisionRationale
Vehicle input2-position screw terminal into TPS26630RGE eFuseRobust harness connection and protected automotive front end.
Main railLMR50410-Q1 fixed 5V buckAutomotive-qualified wide-input buck for vehicle accessory line.
Logic railMIC5504 3.3V LDO from 5VKeeps MCU and magnetometer on a quieter 3.3V rail.
MCUATSAMD21G18A-AU3.3V MCU with enough I2C/GPIO for compass, display, button, and debug.
MagnetometerMMC5883MAI2C 3-axis magnetic sensor for heading measurement.
DisplayTM1637 4-digit seven-segment moduleIntegrates LED driver and digits, simplifying dashboard display wiring.
User inputMomentary calibration buttonEnables in-vehicle hard/soft iron calibration after installation.
MechanicalFour M3 non-plated mounting holesSupports dashboard bracket or enclosure retention.
Board outline100 mm x 50 mm rectangle with 3 mm corner radiusMatches the approved dashboard compass mechanical target.
Stackup targetStandard 4 Layer with layer 2 as GND reference and layer 3 as power distributionAutomotive dashboard EMI environment and switching regulator benefit from continuous ground reference.
Layout rules0.2 mm board inset/keepout and 0.25 mm default trace width with 0.20 mm minimum trace widthBaseline manufacturable rules for a compact four-layer prototype.
Net plan

Table


NetFunctionVerification status
VBAT_12VVehicle accessory input from dashboard harness.Present in schematic baseline.
VIN_PROTProtected input after eFuse.Present in schematic baseline.
+5VBuck output for display and LDO input.Present in schematic baseline.
+3V3MCU, magnetometer, I2C pullups, debug header.Present in schematic baseline.
GNDCommon return and reference plane.Present in schematic baseline.
I2C_SDA / I2C_SCLMCU to magnetometer bus with 4.7k pullups.Present in schematic baseline.
DISP_CLK / DISP_DIOMCU to TM1637 display module through 100 ohm series resistors.Present in schematic baseline.
CAL_BTNButton input with pull-up.Present in schematic baseline.
SWDCLK / SWDIO / RESET_NDebug/programming signals.Present in schematic baseline.
Final placement implementation

Table


Functional blockPlacement decision
Vehicle inputJ1 is placed at the left edge for dashboard harness access.
Protected input and power conversionU1, U2, U3, L1, associated capacitors, and enable/configuration resistors are grouped on the left/lower-left side near J1.
DisplayU6 is placed prominently along the upper/front viewing region and centered for dashboard visibility.
MCUU4 is placed center-right to support short runs to display, magnetometer, button, and programming header.
MagnetometerU5 is placed on the right side, separated from J1, U1, U2, L1, and the high-current display path to reduce magnetic/noise coupling.
Calibration buttonSW1 is placed near an accessible lower edge and close enough to U4 for simple routing.
Programming headerJ2 is placed near the right edge for access while avoiding the magnetometer-to-power-section path.
Mounting holesH1-H4 are placed at the four corners with clearance for the 3 mm corner radius.
Verification archive

Table


CheckResult
Component baselinePreserved. No component reselection or replacement was performed during final implementation.
Schematic ERCPassing for floating pins, no-connect violations, missing power, single-pin nets, and undriven nets at the time of final verification.
Missing footprintsPassing at the time of final verification.
Board setup100 mm x 50 mm rectangle, 3 mm corner radius, Standard 4 Layer stackup, 0.2 mm inset/keepout applied.
PlacementAll 31 PCB components placed on the top layer according to functional blocks.
RoutingAutomated routing improved the board only partially and then stalled. The current layout still has unrouted connections and copper cleanup items, so manual follow-up or a later routing pass is still required.
Manufacturing readinessNot ready for fabrication until routing completes and the final layout review is clean.
DRC cleanup actions attempted
  • Re-applied the approved 100 mm x 50 mm layout shape with 3 mm corner radius.
  • Re-applied the Standard 4 Layer stackup with a continuous GND reference layer and power distribution layer.
  • Applied 0.2 mm keepout/inset and 0.25 mm default trace width rules.
  • Re-placed all components by functional block with top-side placement.
  • Re-optimized placement with explicit constraints: J1 on the left edge, U6 on the upper viewing edge, U4 center-right, U5 in the right-side quiet region, J2 upper-right, and SW1 on the bottom edge.
  • Attempted full automated routing twice; the routing job did not complete.
  • Attempted constrained routing with priorities for VBAT_12V, VIN_PROT, +5V, +3V3, GND, I2C, display, debug, reset, and calibration nets; the router stopped before completion and left remaining cleanup items.
  • Applied net-specific power trace targets before a follow-up routing pass: VBAT_12V/VIN_PROT/SW_5V at 0.6 mm, +5V at 0.5 mm, and +3V3 at 0.35 mm.
  • A later routing attempt rolled back to the better prior state because the new result was worse.
Remaining risks and next actions
  • Finish routing remaining airwires, prioritizing power rails first, then I2C, display, debug, reset, and button nets.
  • Remove floating copper/via artifacts left from partial routing attempts before fabrication.
  • Resolve the remaining overlapping copper items before generating manufacturing outputs.
  • After routing is complete, re-run layout review and archive a clean result.
  • Verify the final eFuse configuration resistor values and load-dump strategy against the TPS26630 datasheet.
  • Confirm final MMC5883MA register settings and I2C address against the datasheet before production firmware release.
  • Add brightness input from vehicle dimmer line if the installation harness exposes a safe, scaled dashboard illumination signal.
Automotive and mounting notes
  • Place the magnetometer away from the buck inductor, input connector, display current paths, and any steel bracket hardware.
  • Mount and calibrate the board in its final dashboard location because the vehicle body, dash frame, speakers, harnesses, and aftermarket accessories create hard-iron and soft-iron errors.
  • Use the four M3 mounting holes for a plastic or non-magnetic bracket where possible.
  • Keep the display at the visible edge of the board with no tall components blocking viewing angle.
  • Route the 12V input and buck switching loop compactly with wider traces and strong local decoupling.

    Architecture

    Major design decisions

    Net plan

    Final placement implementation

    Verification archive

    DRC cleanup actions attempted

    Remaining risks and next actions

    Automotive and mounting notes

Documents

    Firmware Starter

    Design Notes

Assets

Assets are files uploaded to this project which can be used in various ways.

FJ Cruiser Compass thumbnail
Dashboard-mounted automotive digital compass with protected 12V power input, regulated logic supply, 3-axis magnetometer sensing, MCU control, seven-segment display output, calibration controls, and mounting provisions for Toyota FJ Cruiser installation.

Properties

Pricing & Availability

Distributor

Qty 1

Controls