USB-C powered digital compass for mounting vertically on an FJ dashboard. The board face points toward the cab and carries three retro orange 7-segment LED displays for direction readout.
Intended Use
Dashboard-mounted vehicle accessory.
Board is vertical; display side faces the cab.
Prototype-oriented design, with compact/squat board geometry prioritized.
What the Device Should Do
Read heading from an electronic magnetometer/compass sensor.
Show direction on three 7-segment displays, e.g. N, NE, E, SE, S, SW, W, NW or numeric/abbreviated headings in firmware.
Provide user brightness control with a rotary knob.
Treat lowest knob setting as display-off.
Power from USB-C 5 V.
Main Features
Retro orange 7-segment visual style.
Three display positions across the board face.
USB-C sink power input.
3.3 V logic rail.
MCU-controlled display driver.
I2C magnetic compass sensor.
Analog brightness/off knob input.
System Architecture
Diagram
Hardware Subsystems
Power: USB-C VBUS input, CC pull-downs, 5 V display supply, 3.3 V LDO for logic/sensor.
Compute: ESP32-C3-class MCU module, selected for native USB-capable firmware development and enough GPIO.
Sensor: 3-axis I2C magnetometer mounted away from high-current LED traces as much as possible.
Display: TM1637-class multiplexed LED driver with three orange/red-orange 7-segment display digits.
User control: 10 kΩ rotary potentiometer wired as a 3.3 V ADC divider; firmware maps low ADC to display off.
I2C bus: MCU SDA/SCL to magnetometer with pull-ups.
Display serial bus: MCU CLK/DIO to TM1637 driver.
Analog input: potentiometer wiper to MCU ADC.
Optional debug/programming via MCU module capability.
Power and Runtime Expectations
External USB-C 5 V only; no battery.
Display brightness dominates power draw.
Assumed USB source should support at least 500 mA.
Power Tree and Power Budget
Table
Rail
Load
Typical
Peak assumption
5V
3 orange 7-seg displays via driver
60-120 mA
240 mA
5V
TM1637 driver
5 mA
20 mA
3.3V
ESP32-C3 module
80 mA
250 mA transient
3.3V
magnetometer
1-5 mA
10 mA
3.3V
potentiometer divider
0.33 mA
0.33 mA
Estimated peak USB input current: about 520 mA worst-case if WiFi/USB activity and maximum display brightness overlap. Firmware should keep wireless off unless needed; normal compass-only operation should be lower.
Manufacturing and Assembly Expectations
Compact SMD design where practical.
Displays may be through-hole because orange retro parts are more available in classic DIP display packages.
Board should be squat: arrange three displays horizontally and place USB/power/control circuitry behind or below the display row.
Firmware-Relevant Hardware Requirements
Read magnetometer over I2C.
Calibrate hard/soft iron offsets after installation in the FJ.
Read brightness ADC and map the low end to display-off.
Drive display driver using two GPIOs.
Physical Design Expectations
Display side faces cab.
Three displays oriented for viewing with board vertical and connector/control access from edges.
Keep magnetometer away from USB connector, large currents, ferrous hardware, and display segment currents where possible.
Low/squat board outline with minimal height above and below display row.
Important Design Decisions
Use orange-red Lite-On 7-segment displays for retro color fidelity.
Use a TM1637-class display driver to reduce MCU pin count and simplify brightness control.
Use an I2C magnetometer; vehicle installation will require firmware calibration.
Use USB-C sink configuration without USB-PD.
Assumptions
USB-C power only is acceptable; no automotive 12 V input requested.
The display can show either cardinal abbreviations or firmware-generated numeric heading; final firmware behavior can be refined later.
Vehicle magnetic interference will be handled by calibration and careful sensor placement.