+++ title = "The Debug Console" description = "A firmware you can drive from your desk: its console over Wi-Fi, its screen as a PNG, its SD card, its crash dumps, and a way back when an update goes wrong." template = "guide-index.html" page_template = "guide-page.html" sort_by = "weight" weight = 1 [extra] eyebrow = "Developer docs" +++ The **Debug Console** is the serial console, over Wi-Fi, for whoever holds the device's token. It is in **every firmware**, switched off until you switch it on, and it is the most useful thing in the project. With it you can: - **see everything the device prints**, boot messages included, without a cable; - **run every serial command** from your desk; - **press keys** and **take screenshots**, so a UI change can be tested and looked at remotely; - **copy files** to and from the SD card; - **read crash reports and fetch core dumps**, decoded against the exact build that crashed; - **update the firmware** over the same Wi-Fi, and know that a bad update rolls back by itself. Start with [Switch the console on](/dev/debug/switch-it-on/), then [the Debug Console](/dev/debug/console/). The rest are what you can do with it.