BillMock
FreeFirmware for credit card terminal add-on hardware to install on Korean arcade machines
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
Pros & Cons
- 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
- 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