QR Code Recognition Overview
DejaOS devices are equipped with different QR code recognition hardware depending on the device model. This guide provides an overview of the three types of QR code recognition implementations across our product line.
Device Type Comparison
| Type | Hardware Configuration | Implementation Components | Performance | Device Examples |
|---|---|---|---|---|
| Type 1 | Built-in QR Camera + SPI Bus | dxCode + dxBarcode | ⭐⭐⭐ High | FC6820 |
| Type 2 | Built-in QR Camera + UART Bus | dxUart + dxChannel | ⭐⭐⭐ High | FCV4914, FCV4905 |
| Type 3 | Face Camera (Shared) | dxFacial | ⭐⭐ Medium | FCV5002, FCV5003 |
Type 1: Built-in QR Code Camera + SPI Bus
Representative Devices
Hardware Configuration
- Dedicated QR code scanning camera module
- Communication via SPI (Serial Peripheral Interface) bus
Implementation Components
- dxCode: Core QR code decoding engine
- dxBarcode: Barcode and QR code scanning interface
Characteristics
- High-speed scanning capability
- Industrial-grade barcode/QR code recognition
- Dedicated hardware ensures stable performance
Corresponding Example
Type 2: Built-in QR Code Camera + UART Bus (External Scan Engine)
Representative Devices
Hardware Configuration
- Dedicated QR code scanning camera module (independent external scan engine)
- Communication via UART (Universal Asynchronous Receiver-Transmitter) bus
Implementation Components
- dxUart: UART serial communication driver
- dxChannel: Data channel management for device communication
Characteristics
- High-speed scanning capability comparable to Type 1
- Serial communication interface
- Dedicated hardware ensures stable performance
- DejaOS only reads scan results from the module through
dxChannel. Scan interval and beep behavior are controlled inside the scan engine, not by the DejaOS app. To change those settings, scan the module's configuration barcodes. See Configuring the External Scan Engine below.
Corresponding Example
Type 3: QR Recognition via Face Recognition Camera
Representative Devices
Hardware Configuration
- No dedicated QR code camera
- Shares the face recognition camera hardware
Implementation Components
- dxFacial: Face recognition module with built-in QR code detection capability
Characteristics
- Cost-effective design
- Camera is optimized for face recognition, QR code scanning is a secondary function
- Recognition performance is relatively lower compared to Type 1 and Type 2
Corresponding Example
Type 1 and Type 2 devices are equipped with dedicated QR code cameras, offering comparable high-performance recognition. Type 3 devices share the face recognition camera for QR scanning, which results in relatively lower recognition performance but provides a cost-effective solution.
Identifying Your Device Type
To determine which QR code recognition type your device uses:
- Check your device model number (e.g., FC6820, FCV4905, FCV5002)
- Refer to the comparison table above
- Use the corresponding implementation components in your application
In the future, we will work on unifying these three approaches into the dxBarcode component to hide device-level differences.
Configuring the External Scan Engine
This section applies to Type 2 devices only.
On Type 2 hardware, the QR module is an independent external scan engine. Its firmware runs separately from the DejaOS application. DejaOS receives decoded data over UART through dxChannel, but it cannot directly change:
- How often the same code can be scanned again
- Beep / feedback behavior of the scan head
Those rules live inside the scan engine. To update them, point the scanner at the configuration barcodes below (print or display them, then scan once). After a successful scan, the new mode takes effect on the module.
Modes (same code scanned repeatedly)
Both modes describe what happens when the same barcode/QR content is presented continuously. Scanning a different code is not limited by the interval below.
| Mode | Behavior |
|---|---|
| Single | The same code cannot be scanned continuously. After one successful read, the same content is ignored until it leaves the field of view (or you switch to another code). |
| Interval | The same code can be scanned again only after the configured delay (milliseconds). Different codes have no extra delay. |
Configuration barcodes
Scan the barcode that matches the mode you want:
Single mode

Interval mode
| Interval | Configuration barcode |
|---|---|
| 300 ms | ![]() |
| 500 ms | ![]() |
| 1000 ms | |
| 2000 ms | ![]() |
| 3000 ms | ![]() |
Pick an interval that fits your product flow. Shorter intervals allow faster re-reads of the same code; longer intervals reduce duplicate reports when a user holds the same code in front of the scanner.



