Line Encodings
Reference for what you can display on each line of a Cloud Display Device — text, barcodes, QR codes, icons, and quantities.
Display Layout Overview
You control the layout of the display by specifying the content for up to five lines and a quantity parameter, using either the REST API or the QueryString API. Each of the five lines can contain simple text (scaled to maximum size to fit), a barcode, a QR-Code, or an icon.
The quantity parameter will display in a box on the upper left-hand corner of the display if the number is less than 64. If the quantity number is higher, it will display elsewhere.
Fewer Lines = Better Readability
About Code Examples
statica, staticb, staticc, staticd, statice). Command examples omit the seconds parameter for brevity. See the Commands vs. Statics Quick Reference for complete detail on command vs. static behavior.Using Line Encodings with Commands vs. Statics
All the encoding techniques on this page work with both commands and statics:
Commands (Temporary)
Use line1–line5 with commands
- Lights up LED, plays sound
- Requires button press (ACK/NACK)
- Times out after
seconds - Returns to static display after
Statics (Persistent)
Use statica–statice without commands
- No LED or sound
- No ACK/NACK feedback
- Never times out
- Persists until changed
Example: Same Display as Command and Static
# Temporary display with LED and button press
session.post(
url + "device/DEVICE_ID/",
headers=headers,
json={
'command': 'flash',
'arrow': 'up',
'line1': 'Pick Widget A',
'barcode': 'SKU12345',
'quantity': 3,
'color': 'g',
'seconds': 600
}
)Note
arrow, barcode, qrcode, quantity, and icon work with both commands and statics. The same 5-element display limit applies to both.Simple Text
Each line supports up to 26 Western characters. The shorter the text the better, both because it's easier to read and because the text will scale to fill the surrounding area.
session.post(
url + "device/DEVICE_ID/",
headers=headers,
json={
'command': 'flash',
'line1': 'Pick Item',
'line2': 'SKU-12345',
'line3': 'Qty: 5'
}
)Barcode
Up to 23 characters can be encoded in a barcode. Barcodes are always placed at the bottom of the display. Barcodes less than 10 characters in length will scan more easily than longer barcodes.
If barcodes are combined with both an icon and a QR code, the maximum length is reduced to 15 characters. Barcodes are encoded in Code 128 B.
Two Ways to Specify Barcodes
You can specify barcodes using either line encoding or a convenience field:
| Method | Format | Example |
|---|---|---|
| Line Encoding | \bc prefix on any line | \bc12345Test |
| Convenience Field | barcode parameter | "barcode": "12345Test" |
session.post(
url + "device/DEVICE_ID/",
headers=headers,
json={
'command': 'flash',
'line1': 'Pick Item A',
'barcode': '12345Test' # barcode as field
}
)URL Encoding
\) in a test URL typed into a browser, use the encoded form %5c. For example: %5cbc12345Test.QR Code
Like barcodes, 2-D QR codes can hold up to 23 characters. When specified, they always appear in the top left corner of the display. QR-Codes are encoded using Version 3.
Two Ways to Specify QR Codes
You can specify QR codes using either line encoding or a convenience field:
| Method | Format | Example |
|---|---|---|
| Line Encoding | \qr prefix on any line | \qr12345Test |
| Convenience Field | qrcode parameter | "qrcode": "12345Test" |
session.post(
url + "device/DEVICE_ID/",
headers=headers,
json={
'command': 'flash',
'line1': 'Scan to verify',
'qrcode': 'myspecialcode' # QR code as field
}
)Icons (Arrows)
Icons are placed in the top left corner of the display (unless a QR-Code is also used, in which case they are placed in the bottom left corner).
Info
icon / arrow convenience fields. Both methods are shown in the examples below.Arrow Directions
| Direction | Line Encoding | Convenience Field |
|---|---|---|
| Left | \icleft | "left" |
| Right | \icright | "right" |
| Top / Up | \ictop | "up" |
| Bottom / Down | \icbottom | "down" |
| Top Left | \ictopleft | "upleft" |
| Top Right | \ictopright | "upright" |
| Bottom Left | \icbottomleft | "downleft" |
| Bottom Right | \icbottomright | "downright" |
session.post(
url + "device/DEVICE_ID/",
headers=headers,
json={
'command': 'flash',
'arrow': 'up', # arrow as field
'line1': 'Pick Item',
'line2': 'Shelf Above'
}
)Quantity
Quantity values are displayed in a large text box in the top left corner of the display. Values must be between 0 and 63.
| Method | Syntax | Example |
|---|---|---|
| Line Encoding | \qt prefix on any line | \qt22 |
| Convenience Field | quantity parameter | "quantity": 22 |
session.post(
url + "device/DEVICE_ID/",
headers=headers,
json={
'command': 'flash',
'line1': 'Pick Widget A',
'quantity': 5 # displays "5" in quantity box
}
)Quantity in Feedback
Combined Example
You can combine multiple encoding types in a single command. Here's the same command using both methods:
Display Limit: 5 Elements Maximum
- Text lines (line1–line5 for commands, or statica–statice for statics)
- Barcode (either
\bcorbarcodefield) - QR Code (either
\qrorqrcodefield) - Quantity (either
\qtorquantityfield) - Icon/Arrow (either
oricon/arrowfield)
In the examples below, we use 4-5 elements combining these types.
session.post(
url + "device/DEVICE_ID/",
headers=headers,
json={
'command': 'flash',
'arrow': 'up', # arrow pointing up
'line1': 'Pick Widget A', # text
'barcode': 'SKU12345', # barcode
'quantity': 3, # quantity box
'color': 'g', # green LED
'sound': '15,c5,4' # beep pattern
}
)Encoding Reference Summary
| Content Type | Line Prefix | Convenience Field | Max Length | Position |
|---|---|---|---|---|
| Text | (none) | — | 26 chars/line | Any line |
| Barcode | \bc | barcode | 23 chars (15 with icon+QR) | Bottom |
| QR Code | \qr | qrcode | 23 chars | Top left |
| Icon/Arrow | \ic | icon or arrow | — | Top left (or bottom left with QR) |
| Quantity | \qt | quantity | 0–63 | Top left (boxed) |
Line Encoding vs. Convenience Fields
\ic, \bc, etc.) is useful when you need to dynamically construct display strings or when working with QueryString mode. See the Commands vs. Statics page for more details on how these fields behave in different contexts.Additional Icons (Hazard Signs)
In addition to arrows, devices support a full set of hazard and safety icons. These use the same \ic prefix followed by hazard and the icon character, or you can use the icon convenience field.
For example, hazardd or "icon": "hazardd" displays a "No Smoking" sign.
The complete icon reference is shown below with visual representations and their corresponding codes:
| a | b | c | d | e |
| hazarda | hazardb | hazardc | hazardd | hazarde |
| f | g | h | i | j |
| hazardf | hazardg | hazardh | hazardi | hazardj |
| k | l | m | n | o |
| hazardk | hazardl | hazardm | hazardn | hazardo |
| p | q | r | s | t |
| hazardp | hazardq | hazardr | hazards | hazardt |
| u | v | w | x | y |
| hazardu | hazardv | hazardw | hazardx | hazardy |
| z | A | B | C | D |
| hazardz | hazardA | hazardB | hazardC | hazardD |
| E | F | G | H | I |
| hazardE | hazardF | hazardG | hazardH | hazardI |
| J | K | L | M | N |
| hazardJ | hazardK | hazardL | hazardM | hazardN |
| O | P | Q | R | S |
| hazardO | hazardP | hazardQ | hazardR | hazardS |
| T | U | V | W | X |
| hazardT | hazardU | hazardV | hazardW | hazardX |
| Y | Z | / | 0 | 1 |
| hazardY | hazardZ | hazard` | hazard0 | hazard1 |
| 2 | 3 | 4 | 5 | 6 |
| hazard2 | hazard3 | hazard4 | hazard5 | hazard6 |
| 7 | 8 | 9 | - | = |
| hazard7 | hazard8 | hazard9 | hazard- | hazard= |
| ~ | ! | @ | # | $ |
| hazard~ | hazard! | hazard@ | hazard# | hazard$ |
| % | ^ | & | * | ( |
| hazard% | hazard^ | hazard& | hazard* | hazard( |
| ) | _ | + | { | } |
| hazard( | hazard_ | hazard+ | hazard{ | hazard} |
| [ | ] | | | \ | ; |
| hazard[ | hazard] | hazard| | hazard\ | hazard; |
| : | ' | " | < | |
| hazard: | hazard' | hazard" | hazard< | |
| , | . | / | ||
| hazard, | hazard. | hazard/ |
