Skip to content

QR scanner app detection quality improvement#2

Merged
eupn merged 3 commits intoFoundation-Devices:mainfrom
immz4:qr-improvement
Mar 30, 2026
Merged

QR scanner app detection quality improvement#2
eupn merged 3 commits intoFoundation-Devices:mainfrom
immz4:qr-improvement

Conversation

@immz4
Copy link
Copy Markdown
Contributor

@immz4 immz4 commented Mar 28, 2026

Description

This PR seeks to improve current state of QR code detection quality and performance. This is done by switching from quircs library to a rxing.

Test suite

Testing was done using test harness and device simulator. Additionally, rxing can be checked with online WASM demo

BlueWallet Unstoppable Wallet Trust Wallet
BlueWallet QR code which contains Bitcoin address image image
Inverted QR code Simple QR code "Stylized" QR code
image image image

Test results

Test case quircs rxing Additional notes
BlueWallet
Unstoppable Wallet
Trust Wallet quircs takes a lot of time to scan it
Inverted QR
Simple QR
Stylized QR

Additionally, binary build size was reduced by 12%

quircs:

❯ du -h target/armv7a-unknown-xous-elf/release/apps/gui-app-qr-scanner/app.elf
4.1M target/armv7a-unknown-xous-elf/release/apps/gui-app-qr-scanner/app.elf

rxing:

❯ du -h target/armv7a-unknown-xous-elf/release/apps/gui-app-qr-scanner/app.elf
3.6M target/armv7a-unknown-xous-elf/release/apps/gui-app-qr-scanner/app.elf

immz4 added 2 commits March 28, 2026 19:58
`quircs` library was replaced with `rxing` in order to improve detection
reliability and speed. Also, app binary size was reduced by 17%.
@eupn eupn self-assigned this Mar 28, 2026
@eupn eupn self-requested a review March 28, 2026 17:33
@eupn eupn removed their assignment Mar 28, 2026
@eupn eupn merged commit e2d0d93 into Foundation-Devices:main Mar 30, 2026
@eupn
Copy link
Copy Markdown
Member

eupn commented Mar 30, 2026

Should land into an upcoming major release (e.g. 1.3.0).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants