Skip to content


Repository files navigation

Kamaji quiz game system


  • firmware: main source code;
  • demo: code samples;
  • 3d: OpenSCAD models for the enclosure;
  • pcb: schematic and printed circuit board layout in KiCAD format;
  • misc: the rest.


We use PlatformIO with Arduino framework. It should also be possible to compile the code with the official Arduino IDE.

Compile and flash firmware

For v1 and v3 custom fuses must be programmed before first flashing.

pio run -e v1 -t fuses

Select the correct board version (v1, v2, v3) and flash it with:

pio run -e v1 -t upload


V1 uses an ATmega328p running at 8MHz without an external oscillator. USBasp can be used for programming.

V2 uses ATmega32u4 and a 128x64 graphics screen.

V3 runs on ATmega328p with a 16MHz oscillator and and utilizes a PCF8574 I/O extender chip.

Code style

Let's stick to Google C++ Style Guide.