Display Mode
Send custom images to Rand/0 over your local network.
Display Mode
Display Mode lets a compatible tool send custom images to Rand/0's e-ink display over the same local network. The display is 200 × 200 pixels and supports black-and-white and four-level grayscale images.
Before you begin
Display Mode is available only on your local network and does not provide additional login authentication. Use it only on a trusted Wi-Fi network and avoid sending sensitive content.
Before You Begin
Make sure that:
- You have connected Rand/0 to Wi-Fi once using Wi-Fi, so it remembers an available network.
- The battery is sufficiently charged, or the device is connected to power. Display Mode will not start when the battery is too low.
- The phone or computer sending the image is connected to the same local network as Rand/0.
- You have a tool that supports Rand/0 Display Mode.
Enter Display Mode
By default, you can enter from this location:
- Main menu → More → Display → Confirm.
If you have customized the home screen, open Display wherever you placed it.
Rand/0 restarts and automatically connects to a remembered Wi-Fi network. When the connection succeeds, the device IP address appears in the center of the display.
The ready screen also shows a QR code that opens this Display Mode guide. Scan it if you need the connection or protocol details.
Connect and Send an Image
- Open a tool that supports Rand/0 Display Mode.
- Enter the IP address shown on the device and start the connection.
- Follow the tool's instructions to select an image and send it to Rand/0.
Only one tool can be connected at a time. When a new connection is established, the previous connection is disconnected automatically.
About Connection Tools
Display Mode allows Rand/0 to receive images over your local network. You still need a compatible tool to connect and send images, and the exact steps may vary between tools.
Official Example
Try the official Rand/0 Display Mode example on GitHub, a dependency-free browser tool for sending images and receiving button events.
Button Controls
| Action | Result |
|---|---|
| Short press the top or bottom button | Sends the corresponding button event to the currently connected tool |
| Long press the top button | Exits Display Mode and restarts Rand/0 in normal mode |
E-ink displays refresh slowly and are better suited to static images. When images are sent continuously, Rand/0 keeps only the latest image; intermediate images may not appear.
After you exit Display Mode, Rand/0 returns to normal mode. If the device resets unexpectedly, it will not enter Display Mode again automatically.
Compatible Tool Protocol
Display Mode exposes these WebSocket endpoints on the device's local IP address:
| Endpoint | Binary frame | Format |
|---|---|---|
ws://<IP>/display/bw | Exactly 5,000 bytes | 1 bit per pixel, black and white |
ws://<IP>/display/gray4 | Exactly 10,000 bytes | 2 bits per pixel, four gray levels |
Send one binary frame for each image. Pixels are row-major from left to right and top to bottom, with the highest bits representing the leftmost pixels. In black-and-white mode, 1 is white and 0 is black. In four-gray mode, 00 is white, 01 is light gray, 10 is dark gray, and 11 is black.
Only one client is active at a time. A new connection replaces the previous one. If images arrive faster than the display can refresh, Rand/0 keeps only the latest frame.
The device sends button events and errors as text JSON. For example:
{"type":"key","key":"up","action":"short"}Invalid frame types or lengths return an error such as expected_binary_5000 or expected_binary_10000.
Common Prompts
| Prompt | What to do |
|---|---|
| Please connect the power | Connect the device to power and try again, or wait until the battery is sufficiently charged. |
| No remembered Wi-Fi | Connect Rand/0 to Wi-Fi using Wi-Fi so the device can remember an available network. |
| Wi-Fi connection failed / Unable to get an IP address | Check that the remembered Wi-Fi network is available and that the device is within range. |
| WebSocket failed to start | Exit, restart the device, and enter Display Mode again. |
Did this solve your problem?
Join our community