DQR Display Test BenchRIAB dynamic QR device · spec 1.06
USB idle
Socket idle
This browser has no Web Serial API. Use Chrome or Edge on desktop. If the page is opened from a file and the
connect button does nothing, serve it instead: python3 -m http.server 8000 then open
http://localhost:8000/dqr_tester_v1.html.
Serial port
115200 8N1, no flow control
Health checks
ping → OK · snno → device serial no
Show a QR code
AT+QR_DISPLAY="<payload>"
Write a text row
AT+STR_DISPLAY=<row>,"<text>" · rows 1–22, 32 chars per row
Show a stored image
AT+PIC_DISPLAY=<seconds>,<image>[,<image>…] · first number is the hold time, the rest rotate
Each number opens /image<n>.rgb.raw from device storage. A "Failed to open file" reply means that file was never uploaded, not that the command was wrong.
Countdown timer
AT+TI=<seconds> · shown along the bottom of the screen
Filesystem
AT+LS is confirmed working, so the sibling commands are likely Unix-style too
config.txt is 12 bytes and it is the only file on the device. If it holds the image slot
mapping, its contents explain why slots 1 to 4 return an empty path.
Answer a prompt
Goes out as a plain line with no AT prefix — use it when the device is waiting on you
Abort sends ESC then two blank lines. If the device still will not talk, power cycle it.
Build an image payload
320 × 480 RGB565 is 307,200 bytes — check the size matches what AT+LS reports after upload
no payload built yet
The test pattern puts pure red, green and blue bars first and marks the top-left corner.
If red shows up blue, the byte order is wrong; if the corner marker is in the wrong place, width and
height are swapped.
Upload a file
Drives the handshake: command, filename, byte count, then the raw bytes
free space unknown — run AT+LS
Prove the shape with a 5 byte text file first, then run AT+LS to see whether it landed and
whether the reported size matches. Only move to a 307,200 byte image once a small one round-trips.
Probe for undocumented commands
Sends each line, waits 900 ms, reports which ones the firmware answers
idle
Everything in this list only reads. Nothing writes, deletes or reboots.
Commands that could change or wipe the device
These are guesses at names, not documented commands. One of them may format the
filesystem, clear the slot configuration, erase the serial number, or drop the device into a binary
transfer mode that stops answering until it is power cycled. The unit already has no images on it, so
the files are not what is at risk — the configuration and serial number are. Get the vendor's
provisioning tool before reaching for these, and do not run them on a unit you need working.
Send anything
Up and down arrows walk back through what you sent
Payment run
Walks one transaction end to end, 2 s between steps
idle
Middleware socket
Billing app normally holds this socket; middleware owns the USB port
Q200 — put a QR on screen
Reply comes back as R200
The tag table lists TO with a 3-digit length field, but every worked example in the spec uses 2. Tick the box to send the table's version.