Back to Guides

Pico Display Setup Guide

External display for dice results

Connect a small LCD to your computer via a Raspberry Pi Pico. When you roll dice in Play mode, Rollsight sends the results over USB so the display shows them next to your tray—great for the Dragon Rig chest display, a desk-side readout, or streaming.

Supported hardware

Rollsight supports two display types. Use the one that matches your hardware; the in-app wizard will install the correct firmware.

  • Pimoroni Pico Display Pack — Small rectangular display that plugs onto the Pico. Uses Pimoroni's MicroPython build and picographics. Flash the Pico .uf2 from Pimoroni releases.
  • Waveshare 1.8" LCD (160×128) — Common 1.8" SPI display (e.g. "1.8inch LCD Display Module for Raspberry Pi Pico"). Uses stock MicroPython and Waveshare's driver. Flash the standard RPI_PICO .uf2 from micropython.org/download/rp2-pico.

If you have a different Pico + LCD combo, it may work with one of these firmware options; otherwise you'd need custom firmware.

One-step setup (in-app wizard)

Rollsight includes a setup wizard that installs the display app on your Pico. No separate tools (like Thonny) are required unless you prefer to set things up manually.

  1. Flash MicroPython on the Pico (first time only)
    • Hold the BOOTSEL button on the Pico, plug in the USB cable, then release BOOTSEL.
    • The Pico appears as a drive named RPI-RP2.
    • Download the correct .uf2: Pimoroni display → Pico .uf2 from Pimoroni releases. Waveshare 1.8"stock MicroPython (RPI_PICO-*.uf2).
    • Drag the .uf2 file onto the RPI-RP2 drive. The Pico reboots.
  2. Unplug and replug the Pico (without holding BOOTSEL) so it boots into MicroPython and appears as a serial (COM) port, not as a drive.
  3. In Rollsight: open Settings (gear menu) → Camera & display → click Set up Pico display...
  4. In the wizard: follow the steps. On the upload step, choose Display type (Pimoroni Pico Display Pack or Waveshare 1.8" LCD). If the port isn’t found automatically, select it from the Port dropdown (e.g. COM4 on Windows). Click Next to install the Rollsight display app on the Pico.
  5. When the wizard finishes, the Pico resets. The display should show "Waiting for dice data..." or "Let's Roll!" (depending on display type).
Success: Enable Pico display in Settings → Camera & display if it isn’t already. Roll dice in Play mode and the display updates with the results.

Enable the display in Rollsight

  • Open SettingsCamera & display.
  • Check Enable Pico display.
  • Leave Pico serial port empty for auto-detect, or enter the port (e.g. COM4 on Windows, /dev/tty.usbmodem... on Mac/Linux) if the Pico isn’t found.
  • Click Save. Status should show Connected when the Pico is plugged in and running the display app.

What you see on the display

  • Pimoroni: Special layouts for two d20s (ADV/DIS), crit/fail, single die, and a normal split-screen with total and individual dice.
  • Waveshare 1.8": Idle "Let's Roll!" or "Waiting for dice data...", then a list of dice results (shape, value, confidence) when you roll.
  • When you quit Rollsight, the display clears and the backlight turns off.

Troubleshooting

White screen after setup

  • Pimoroni: You must use Pimoroni's .uf2 (with picographics), not stock MicroPython. Re-flash the Pico with the Pico Display Pack .uf2 from Pimoroni releases, then run the wizard again to re-upload the app.
  • Waveshare 1.8": Make sure you chose Waveshare 1.8" LCD in the wizard and that the display is firmly connected (right way up). If you had a working Pico before, the wizard now bundles the same driver files—just run the wizard and select Waveshare 1.8".

Rollsight says "Not connected" or "No Pico serial port found"

  • If the Pico appears as a drive (RPI-RP2), it’s in bootloader mode. Unplug and replug without holding BOOTSEL so it boots into MicroPython and appears as a COM/serial port.
  • In the wizard, use the Port dropdown to pick the Pico’s port (e.g. COM4) if auto-detect doesn’t find it.
  • In Settings, check Available ports and enter the Pico’s port manually if needed.
  • Close other apps that might be using the port (e.g. Thonny).

Upload failed: "mpremote not found" or "port in use"

  • mpremote: Install with pip install mpremote in the same Python environment you use to run Rollsight (or install from source with pip install -r requirements.txt).
  • Port in use: The wizard temporarily disconnects the Pico from Rollsight so the upload can use the port. If it still fails, close Thonny or any serial terminal, then run the wizard again.

Display flashes black then goes white

Often the display type or firmware is wrong (e.g. stock MicroPython with a Pimoroni display, or wrong driver for Waveshare). Use the correct .uf2 for your display and choose the matching Display type in the wizard. For Waveshare 1.8", the bundled driver and fixed receiver should give a stable "Let's Roll!" screen.

Requirements

  • Raspberry Pi Pico (or compatible RP2040 board) with a supported display module
  • USB cable to connect the Pico to your computer
  • Rollsight with Pico display enabled in Settings
  • pyserial (usually installed with Rollsight); mpremote for the setup wizard (included in requirements)

Using the display with the Dragon Rig

The Dragon Rig uses a Pico + LCD in the chest to show roll results. Follow this guide to set up the display, then mount it in the chest and route the USB cable as in the Dragon Rig guide. The same "Set up Pico display..." wizard and Settings apply.