Main Content

TinyPC - A miniature gaming PC


- ATtiny1614 microcontroller
- SOP14 adapter board
- 128x64 OLED screen with SSD1306 driver
- JS5208 5 way switch
- WS2812B LED
- 2mm PMMA optic fiber
- micro usb breakout (I used part of a custom PCB from an earlier project, you could use this one for example. Unfortunately all the breakouts I can find use connectors without through hole pins, so they tear out easily.)
- power switch (this one looks similar to mine)
- Threaded inserts for the LCD case back (These are pretty unnecesary, you can just screw directly into the plastic if you make the hole smaller, or glue the case together. I have a lot of them so I use them for everything. They push into the plastic with a soldering iron set to low heat (~100 °C).)

The hole in the side cover (opposite the window) is used to reprogram the MCU without dissasembling the tinypc. I use a small jig with three spring loaded pogo pins (bought here) to connect to three pads (for power, ground, and UPDI data) in a piece of protoboard underneath (you need to put some solder in the three holes to make a surface for the pins to push against). The holes are the standard pin header ones, 0.1 inch apart, so you can just solder the pogo pins into three adjacent holes of another protoboard to make a jig. Here’s a picture of the programming jig with a PICkit 4 connected (the PICkit doesn’t provide power, so that comes from the usb). (I don’t really recommend the pickit, the AVR support is still in beta and there are some irritating bugs.)

The window is printed using transparent PLA filament. To get it even this transparent I had to polish it a lot, using abrasive paper from 200 to 5000 grit and acrylic polishing compound.”

Link to article