# Overview

<span style="white-space: pre-wrap;">The debugging board is a </span>**dedicated auxiliary system**<span style="white-space: pre-wrap;"> whose only job is to make the rest of the robot less painful to work with.</span>

<p class="callout info">It is not part of the rover’s core functionality.</p>

## Purpose

At a high level, the debugging board serves roles:

### Visibility

Provide real-time insight into system state:

- logs
- status indicators
- network activity
- subsystem health

Instead of digging through serial output on multiple MCUs or adding temporary debug code everywhere, this board aggregates and presents useful information.

### Control / Interaction

<p class="callout danger">Todo :D</p>

### Isolation of debugging concerns

<p class="callout danger">Todo :D</p>

## Physical components

The exact hardware may evolve, but the debugging board generally consists of:

### Ethernet interface

- Connects to the system network (switch / internal bus)
- Receives and sends packets (including protobuf-based messages)
- Acts as a bridge between the debugging interface and the rest of the robot

### Display

- Shows system state, logs, or selected information
- <span style="white-space: pre-wrap;">It is a </span>**ILI9341 SPI Display**

Used for quick, local feedback without needing a laptop.

### Input interface (buttons / panel)

- Physical buttons or switches
- Used to:
    - trigger actions
    - navigate menus
    - send commands