BillMock logo

BillMock

Free

Firmware for credit card terminal add-on hardware to install on Korean arcade machines

FreeFree tier
Type
Open Source

About BillMock

BillMock is an open-source embedded firmware project written in Rust, utilizing the embedded-hal and embassy-rs frameworks on an STM32G030C8 microcontroller. It serves as the software component of a hardware/software system that converts I/O signals related to money payment in arcade game machines, enabling compatibility with credit card readers alongside existing open-drain payment systems. Developed at the request of GPARK Co., Ltd, the firmware supports multiple hardware revisions (BillMock-HW 0.5 mini, 0.4 mini, 0.4, and legacy 0.2/0.3 boards) and serves as a proof of concept for using Rust in production embedded code. The project is currently under development with ongoing QA testing and optimization, and is licensed under Apache 2.0 or MIT.

Key Features

Written in Rust using embedded-hal and embassy-rs
Runs on STM32G030C8 microcontroller
Converts open-drain payment I/O signals for compatibility with credit card readers
Supports multiple BillMock hardware revisions (0.5 mini, 0.4 mini, 0.4, 0.3, 0.2)
Production-oriented firmware with proof-of-concept for Rust in embedded systems
Released under Apache 2.0 or MIT license

Pros & Cons

Pros
  • Open source with permissive licensing (Apache 2.0 / MIT)
  • Leverages modern Rust embedded ecosystem (embassy-rs, embedded-hal)
  • Designed for actual production use with multiple hardware revisions
  • Detailed documentation and hardware schematics provided
  • Supports both credit card and legacy open-drain payment systems
Cons
  • Still under development with ongoing QA and optimization
  • Some code in NDA areas is not publicly available
  • Targeted specifically at Korean arcade market and specific BillMock hardware
  • Requires familiarity with Rust embedded development and STM32 platform

Best For

Enabling credit card payments in Korean arcade game machinesReplacing or augmenting existing coin/bill acceptors with card reader systemsEmbedded systems development using Rust for production hardwareLearning reference for production Rust embedded firmware architecture

FAQ

What hardware revisions does BillMock support?
The firmware supports BillMock-HW 0.5 mini (default), 0.4 mini, 0.4, and legacy 0.3 and 0.2 boards. Features are selected via Cargo build flags.
What is the purpose of BillMock?
BillMock is a hardware and software system that converts I/O signals related to money payment in arcade game machines, allowing compatibility with credit card readers alongside existing open-drain payment systems.
Is BillMock fully open source?
The firmware source code is open source under Apache 2.0 or MIT license, but some code in NDA areas (e.g., dependency injection for card reader) is not publicly disclosed.