Field Manual / T-Display C5 Edition

Pocket
Prowler

A pocket WiFi and Bluetooth scanner for seeing the radio chatter around you.

LilyGO T-Display C5 firmware by Paul Hodara
Proud PocketProwler face
Device Flash WiFi BLE Buttons Battery Serial
01

What It Is

PocketProwler turns a LilyGO T-Display C5 into a handheld WiFi and BLE field scanner with a built-in screen, two top buttons, and battery readout.

PocketProwler WiFi scanner screen
PocketProwler BLE scanner screen
WiFi view shows SSID, RSSI, channel, band, security, and crowding hints.
Battery voltage and percentage stay visible in the WiFi view header for field checks.
BLE view shows nearby advertisements, names when available, signal, address details, and manufacturer data.
02

Install Firmware

The easiest path is the release image. It includes the bootloader, partition table, and app, so fresh installs and updates both flash at offset 0x0.

No-build flashing

pip install --upgrade esptool
esptool.py --chip esp32c5 --port /dev/ttyACM0 write_flash 0x0 firmware.factory.bin
StepAction
1Download firmware.factory.bin from the latest GitHub release.
2Connect the LilyGO T-Display C5 with USB-C.
3Run the flash command using your serial port. On Windows it may look like COM5.
4If upload does not start, hold BOOT, tap RST, release RST, then release BOOT.
Neutral guide face

For development builds, use pio run, pio run --target upload, and pio device monitor from the project folder.

03

Button Map

Two top buttons control everything. The selected row wraps back to the first item when you reach the end of a list.

PocketProwler button function diagram
ControlWiFi ModeBLE Mode
Tap upperSelect next access pointSelect next BLE device
Tap lowerCycle RSSI history, BSSID detail, and full AP listCycle RSSI history, address detail, manufacturer data, and full BLE list
Tap bothNo actionToggle passive or active BLE scanning
Hold both for about 700 msSwitch to BLE modeSwitch to WiFi mode
04

WiFi Scan

WiFi mode is the startup view. It passively scans nearby access points and keeps the screen focused on the strongest and selected networks.

FieldMeaning
SSIDNetwork name, or a hidden-network marker when the name is not advertised.
RSSISignal strength in dBm. Less negative values are stronger.
Channel / bandRadio channel and 2.4 GHz or 5 GHz band when available.
SecurityOpen, WPA, WPA2, WPA3, or mixed security labels.
BSSID countSame-channel crowding hint used instead of unreliable raw bandwidth data.
Tap lower button once for the RSSI graph, again for BSSID detail, and again for the full access-point list.
Listening guide face

Changing the selected access point clears the old RSSI history so the graph can refill for the new BSSID.

05

Bluetooth Scan

BLE mode listens for nearby advertisements from phones, watches, earbuds, sensors, tags, smart-home devices, and other small broadcasters.

FieldMeaning
NameAdvertised device name, when a device chooses to share one.
AddressBLE address. Some devices rotate this for privacy.
Address typePublic, random, public identity, or random identity.
SeenAge of the most recent advertisement.
Manufacturer dataVendor-specific advertisement bytes, shown as a company hint plus length when recognized.
Service UUIDFirst advertised service UUID, with a count when more are present.
Passive scan listens quietly. Active scan asks for scan-response data and may reveal names that passive scan misses.
Surprised guide face

BLE devices stay visible for about 60 seconds after their last advertisement, which keeps intermittent devices from flickering away too quickly.

06

Read Signal

Signal strength is useful for rough proximity, not exact distance. Walls, antenna orientation, body blocking, and device transmit power all change the reading.

RSSI RangeField ReadingPractical Use
-30 to -50 dBmVery strongLikely nearby or line-of-sight.
-51 to -67 dBmStrongGood quality signal for most scanning and identification work.
-68 to -80 dBmModerateUsable, but movement and obstacles may matter.
Below -80 dBmWeakFarther away, blocked, or low-power broadcaster.
Use the RSSI history view when walking around. The trend is often more useful than one instant reading.
07

Battery

PocketProwler reads the AXP2602 PMU for voltage, current, and state of charge. Voltage is the best quick truth check when charging or near full.

VoltageMeaning
4.18 V to 4.20 VEffectively full.
4.16 V to 4.17 VVery close to full.
4.10 VHigh, but still charging.
4.04 V to 4.05 VNot full. Try a different cable, charger, or port if it stays here while plugged in.
3.40 V to 3.50 VLow enough for a battery learning-cycle discharge target.
The lightning bolt appears only when measured charge current is above the firmware threshold.
Proud guide face

Small one-percent changes are intentionally smoothed so the header does not flicker while scanning.

08

Case And Ports

The optional printed case adds room for an internal LiPo, power switch, and button caps while keeping the USB-C port available.

ConnectorPinsGood For
Left near USB-CGND, 5V, 3V3, TXD, RXDUART devices such as GPS, serial sensors, or test readers.
Right near USB-CGND, 3V3, SDA, SCLI2C sensors such as BME280, SHT31, BMP280, BH1750, SGP30, SCD40/SCD41, RTC modules, and Qwiic or Stemma QT boards.
GPIO logic is 3.3 V. Do not feed 5 V signals into ESP32-C5 GPIO pins.
Exploded render of the LilyGO T-Display C5 case

Case Downloads

Print the PocketProwler enclosure with room for the board, internal LiPo, power switch, and control buttons.

09

Troubleshooting

SymptomTry This
Upload will not startUse the BOOT and RST sequence, then retry upload.
No BLE namesSwitch BLE to active scan. Some devices still stay unnamed by design.
Battery percent looks stuckWatch voltage instead. Percent is smoothed to avoid flicker.
Weak or jumpy RSSIMove slowly, rotate the scanner, and compare the trend over several samples.
Serial output neededRun pio device monitor at 115200 baud.
Happy guide face

For firmware work, pin definitions live in include/pin_config.h and the main app logic lives in src/main.cpp.

End of PocketProwler Instruction Manual