

Kamaji
A quiz game system
- Size
- 100 × 100 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 49
- Nets
- 45
- Pads
- 207
- Tracks, vias
- 266, 5
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 6 (file 20211014)
- Created
- 22 Oct 2017
- Updated
- 13 Jun 2026
Overview
Kamaji is an open-source printed circuit board by iley, from the iley/kamaji repository on GitHub, published under the MIT licence. It is a 2-layer board of 100 × 100 mm with 49 parts on 45 nets, routed with 266 tracks and 5 vias.
It is built around the ATMEGA328P-PU, PCF8574T and BS170. Its parts include 13 resistors, 10 connectors, 8 capacitors, 3 ICs and 3 switches. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
3ATMEGA328P-PU
DIP-28-300mil-40℃~+85℃ 1.8V~5.5V 10bit 1KB 20MHz 23 2KB 32KB 8 Bit AVR Built-in FLASH DIP-28-300mil Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)PCF8574T
SOP-16-300mil-40℃~+85℃ 100kHz 10uA 2.5V~6V 25mA 300uA 8 8 Cascading and address extension、Built-in LED driver I2C Interrupt Output Open-drain SOP-16-300mil I/O Expanders ROHSHGSEMII/O ExpandersBS170
TO-92-55℃~+150℃ 1 N-channel 1.2Ω@10V 17pF 2.1V 24pF 500mA 60V 7pF 830mW N-Channel TO-92 MOSFETs ROHSonsemiMOSFETs
README
README.mdKamaji quiz game system
See kamaji.cc for assembly instructions and additional information.
Directories:
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.
SDK
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 fusesSelect the correct board version (v1, v2, v3) and flash it with:
pio run -e v1 -t uploadHardware
The recommended version for new builds is "Classic V1".
- 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.
- "Classic V1" is an updated revision of V1. Fully compatible from software point of view.
- "Headless" is a USB MIDI device without a screen or buttons. Built around "Pro Micro" boards (ATMega32U4).
Code style
Let's stick to Google C++ Style Guide.
Parts
49| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 1K | Resistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolder | R1, R2, R3, R5, R8, R9, R10, R12, R18 |
| 6 | RJ10 | kamaji:RJ10 | J1, J3, J4, J5, J6, J7 |
| 4 | 0.1uF | Capacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolder | C1, C4, C5, C7 |
| 2 | 10K | Resistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolder | R4, R19 |
| 2 | 20pF | Capacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolder | C2, C3 |
| 2 | 4K7 | Resistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolder | R6, R7 |
| 1 | 10uF | Capacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolder | C8 |
| 1 | 16MHz | Crystal:Crystal_HC49-U_Vertical | Y1 |
| 1 | 20uF | Capacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolder | C6 |
| 1 | 2N3904 | Package_TO_SOT_THT:TO-92_Inline_Wide | Q2 |
| 1 | ATmega328P-PU | Package_DIP:DIP-28_W7.62mm | U1 |
| 1 | BOOST | kamaji:DD1718PA | J8 |
| 1 | BS170 | Package_TO_SOT_THT:TO-92_Inline_Wide | Q3 |
| 1 | CONTRAST | Potentiometer_THT:Potentiometer_Vishay_T73YP_Vertical | RV1 |
| 1 | CTL1 | kamaji:Pushbutton_12mm | SW1 |
| 1 | CTL2 | kamaji:Pushbutton_12mm | SW2 |
| 1 | CTL3 | kamaji:Pushbutton_12mm | SW3 |
| 1 | ICSP | Connector_IDC:IDC-Header_2x05_P2.54mm_Horizontal | J2 |
| 1 | PCF8574 | Package_DIP:DIP-16_W7.62mm_LongPads | U2 |
| 1 | RC1602A | kamaji:LCD2004 | U3 |
| 1 | SND24V | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | JP1 |
| 1 | SND5V | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | JP2 |
| 1 | Speaker | kamaji:Buzzer_ARIO_98dB | LS1 |
| 1 | USB_A | kamaji:USB_A | J10 |
| 1 | USB_B | kamaji:USB_B | J9 |
| 1 | VOLUME | kamaji:Potentiometer_Wheel_16mm | RV2 |
The 45 most common of 49 parts.
More from iley/kamaji
5- 2 layers100 × 100 mm

- 2 layers130 × 110 mm

- 2 layers100 × 100 mm

- 2 layers69 × 51 mm

- 2 layers30 × 37 mm

Similar boards
- 2 layers

SeguridadPerimetral
flukedf/PCB-Cards
Designing and building electronics cards for own projects.
72 parts - 2 layers82.6 × 79.5 mm

- 2 layers100 × 100 mm

- 2 layers100 × 45 mm

- 2 layers148.6 × 192.2 mm

Badge
NuttyShell/NuttyBadge
NuttyBadge: A NuttyShell crafted multi-tool. Opensourced Hardawre and Software
169 parts31GPL-3.0 - 2 layers139.7 × 88.9 mm

- 2 layers83 × 35 mm

- 2 layers45.7 × 67.3 mm

Questions
How big is the Kamaji PCB?
It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Kamaji use?
49 parts, built around the ATMEGA328P-PU, PCF8574T and BS170. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Kamaji KiCad files?
From the iley/kamaji repository on GitHub, at the commit this page was made from: the board is pcb/v3/v3.kicad_pcb and its schematic pcb/button_v1/kamaji_button_v1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Kamaji design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).