Home / Open Source / OpenRFID & Barcode Simulator — Virtual HID Keyboard Wedge
Testing & Hardware Emulation C# 13 / .NET 8 / Avalonia UI License: MIT Version: v1.0.0

OpenRFID & Barcode Simulator — Virtual HID Keyboard Wedge

Cross-platform virtual barcode scanner, HF/UHF RFID reader, NFC tag, and industrial sensor keyboard wedge simulator for testing POS, ERP, and WMS software.

Quick Start / Clone Repository

$git clone https://github.com/rfidsoftwares/open-rfid-barcode-simulator.git GitHub

Project Overview

High-performance open-source hardware protocol emulator and virtual HID keyboard wedge built in C# (.NET 8) and Avalonia UI. Emulates 1D/2D optical barcode scanners (Code 128, QR Code, Data Matrix, GS1-128 with FNC1 separators), HF RFID (13.56 MHz Mifare & ISO 15693), NFC NDEF records, UHF RAIN RFID (EPC Gen2 4-bank memory), ICAO Doc 9303 MRZ Passports, Industrial Digital Scales (Mettler-Toledo/CAS), and BLE Beacons (iBeacon/Eddystone). Injects synthetic tag streams and barcode keystrokes directly into any web browser, ERP (SAP, Tally, Zoho), WMS, POS, or desktop application via sub-millisecond Win32 SendInput bursts or human-jitter typing simulation with zero RAM footprint (<30 MB) across 50M+ rows.

Automation CLI & C# Generator Syntax (Terminal / .NET 8)

# 1. Run Headless CLI Simulation in CI/CD pipeline
openscansim --symbology "gs1-128" --mask "01{GTIN:14}21{SEQ:8}" --count 500 --wedge fast
# 2. C# Zero-Allocation Streaming Generator (`IAsyncEnumerable`)
var options = new MaskPatternOptions { Mask = "3034{HEX:8}{SEQ:8}", TotalRecords = 1_000_000 };
await foreach (var record in generator.GenerateAsync(options)) {
await wedgeService.InjectKeystrokesAsync(record.Payload, WedgeMode.FastDevice);
}

Technical Specifications & Compatibility

Supported 1D/2D Barcodes Code 128, Code 39, EAN-13, UPC-A, QR Code, Data Matrix, GS1-128 with FNC1 (0x1D) & AIM IDs (]C1, ]Q1)
Supported RFID & Sensor Protocols HF RFID (ISO 15693 / Mifare 14443A), NFC NDEF (URI/Text/vCard), UHF EPC Gen2 (4-Bank Memory), ICAO Doc 9303 MRZ Passports, Digital Scales (Mettler-Toledo/CAS), BLE Beacons (iBeacon/Eddystone)
Keystroke Injection Engines Fast Device Wedge Mode (<8ms Win32 SendInput burst) & Human-Typing Mode with Gaussian Jitter (60–180ms)
Memory Footprint < 30 MB RAM runtime consumption with Zero-RAM IAsyncEnumerable streaming and Memory-Mapped Files (50M+ rows)
Focus-Safe Mini-HUD Always-on-top 350x220px floating widget with Win32 WS_EX_NOACTIVATE extended style (never steals active window focus)
Global Hotkeys & Tray Daemon F8 (Start/Stop stream), F9 (Pause/Resume), F10 (Single-Step Keystroke Trigger) with background tray minimization
Test Automation & CI/CD Headless CLI executable (openscansim-cli.exe) for automated browser testing (Playwright, Selenium, Cypress) & GitHub Actions
Target Operating Systems Windows 10/11 x64 (Native Single-File Exe), Linux (/dev/uinput), macOS (CGEvent)

User Interface & Studio Screenshots

Explore the Avalonia UI Windows 11 Fluent interface, floating HUD widget, and advanced protocol inspectors:

Open RFID barcode simulator dashboard interface
1. Main Control Dashboard Full reader selector, hex preview & streaming controls.
Open RFID barcode simulator mini HUD for testing
2. Floating Mini-HUD Widget Focus-safe (WS_EX_NOACTIVATE) translucent overlay.
Open RFID barcode simulator generator user interface
3. Advanced Pattern & Mask Generator Sequential counter, cryptographic hex & MMF disk streaming.
Open RFID barcode simulator for effective barcode generation
4. Barcode Symbology & NFC Studio 1D/2D GS1 symbologies with FNC1 separators & NDEF encoding.
A display of an open RFID barcode simulator showcasing telemetry features.
5. Real-Time Telemetry & Chaos Injector Live transmission latency metrics, dropped packet simulator & CRC inversion.

Key SDK Features & Capabilities

  • Multi-Protocol Simulation (1D/2D Barcodes, HF RFID, NFC NDEF, UHF EPC Gen2, MRZ Passports, Digital Scales, BLE Beacons)
  • Ultra-Fast Device HID Wedge (<8ms/tag) & Human-Typing Simulation with Gaussian Jitter & Typo Correction
  • Zero-RAM Streaming Engine (<30 MB RAM) for Continuous Lazy Generation & 50M+ Row File Streams
  • Always-On-Top Floating Mini-HUD (350x220px) with WS_EX_NOACTIVATE Focus-Safe Technology
  • GS1-128 & 2D Barcode Engine with AIM Symbology IDs (]C1, ]Q1) and ASCII 0x1D FNC1 Group Separators
  • System Tray Background Daemon with Global Hotkeys (F8 Start, F9 Pause, F10 Single Test Scan)
  • Headless CLI Automation Tool (openscansim) for CI/CD Pipeline & E2E Testing
  • Hardware Fault & Chaos Injector for Simulating NOREADs, Truncated Strings, and CRC Inversion

Frequently Asked Questions

How does OpenRFID & Barcode Simulator inject keystrokes into web forms and ERPs?

It utilizes native Win32 SendInput hardware batching on Windows (and OS-native input hooks on Linux/macOS) to emulate physical USB HID keyboard wedge scanners. Keystrokes are injected directly into whichever web browser, desktop ERP (SAP, Tally, Zoho), POS, or inventory app has active cursor focus in under 8 milliseconds per tag.

Does the floating Mini-HUD steal cursor focus from test applications?

No! The floating mini-HUD widget is engineered with the Win32 WS_EX_NOACTIVATE extended window style. You can click start, pause, or switch simulation tabs on the mini-HUD while your web browser or ERP retains 100% uninterrupted keyboard focus.

Can it simulate GS1-128 barcodes with FNC1 group separators and AIM Symbology IDs?

Yes. It fully supports GS1-128, QR Code, and Data Matrix symbologies with automatic ASCII 0x1D (GS) FNC1 group separators and standard 3-character AIM prefixes (such as ]C1 and ]Q1), ensuring strict compliance with enterprise barcode parsing standards.

How can QA engineers use OpenScanSim CLI in CI/CD automated test pipelines?

The headless CLI executable (openscansim-cli.exe) can be invoked with arguments like `--symbology code128 --count 500 --wedge fast` in GitHub Actions, GitLab CI, or Jenkins. It integrates seamlessly with Playwright, Selenium, and Cypress automated browser test suites.

How does the Zero-RAM streaming engine handle 50,000,000+ tag files without crashing?

Instead of loading full dataset arrays into RAM, OpenScanSim uses C# IAsyncEnumerable lazy generators and Memory-Mapped Files (MMF) with Span<char> zero-allocation buffers, keeping runtime RAM consumption strictly under 30 MB even across 50M+ rows.

Is OpenRFID & Barcode Simulator free and open-source under the MIT license?

Yes, OpenRFID & Barcode Simulator is 100% free and open-source under the permissive MIT license for both commercial enterprise testing and open-source community development.

Application & SDK Preview

Open RFID Barcode Simulator Banner showcasing features

Tested Hardware Devices

📱 Zebra DS2208, DS3678 & Symbol 1D/2D Barcode Scanners 📱 Honeywell Xenon 1900G & Voyager Barcode Scanners 📱 Impinj Speedway, R700 & Zebra FX9600 Fixed RFID Readers → 📱 Chainway C72 & Zebra RFD8500 UHF Handheld Terminals → 📱 ACR122U & Identiv NFC / HF Desktop Readers → 📱 Mettler-Toledo & CAS Industrial Bench Scales

Paid Customization & Free Help

We offer free community help on GitHub issues and discussions. If you need bespoke features, customized mobile apps, or dedicated on-site deployment, contact us for paid enterprise integration services.

Hi, Can I Help ? 💬
AI