How to build your own

Part list

The parts are relatively inexpensive, with the entire BOM and board costing less than $10 in total. To accomodate easier soldering I've selected larger surface mount components where possible, and the pads on the board are also wider.

  • 1x attiny85-20su
  • 1x SDD1306 monochrome OLED (128x32 pixels)
  • 1x Mini 7-pin SMD toggle slide switch, SPDT MSK-12C02
  • 4x SMD micro-switch 6x6x5mm
  • 1x 470k SMD resistor (2512 size)
  • 1x battery holder CR2032, Keystone 1060

Make the PCB

Order a PCB using the gerber files within the pcb/fabrication folder — simply zip this up and process the files through your favourite prototyping fab. The source also includes the Kicad project if you'd like to modify the PCB, components, or even just the silkscreen graphics.

Programming the board

The board includes 6 programming pads directly connected to the attiny. You can see them here on the right-hand side of the rear of the pcb;

These can be easily connected using a SOP16 programming clip for SOIC16 chips. Only the top section of the clip is used, and is mapped to GND, RST, PB0, PB1, PB3, and VCC. Connect the programming clip to your programming device or Arduino using DuPont jumper wires — learn more at SOICBite

Once the board is connected, load up the Arduino IDE and test the connection by burning the bootloader to the attiny. The bootloader configuration is defined within the attiny_tetromino.ino project.

If the bootloader completes without issue, you can now compile and upload the attiny_tetromino.ino project to your board. Pop in a CR2032 battery and enjoy playing!