Close
0%
0%

Tiny Joypad

A games console that plays ATtiny85 games cartridges. Rotating screen to play both landscape and portrait games.

Similar projects worth following
Daniel Champagne has made some really cool games for the ATtny85 chip, and I wanted to play them, but not on a bread board. I decided to make my own PCB and case design based on his Tiny Joypad schematic. I've added a few things like the rotating central screen, and plug in games "cartridges".

This Tiny Joypad project is now complete. If anybody has any questions - ask away. I might do some kits, but this would be limited to the parts I have left (3 or 4 kits). Message me if you have some interest. Many thanks to the kind people that helped out

This might be a nice platform for people who like to write ATtiny85 games. Having the option of sound, screen rotation, and a joystick does give you a bit more flexibility over projects such as Attiny Arcade (although Tiny Joypad is a harder build).


The games can be found on Daniel Champagne site : https://sites.google.com/view/arduino-collection

Slight code changes are needed for PacMan and Tiny Arkanoid :

PacMan  - Change

if ((analogRead(A3)>=750)&&(analogRead(A3)<950)) {Sprite[0].DirectionH=1;}
else if ((analogRead(A3)>500)&&(analogRead(A3)<750)) {Sprite[0].DirectionH=0;}

To
if ((analogRead(A3)>=750)&&(analogRead(A3)<950)) {Sprite[0].DirectionH=0;}
else if ((analogRead(A3)>500)&&(analogRead(A3)<750)) {Sprite[0].DirectionH=1;}

Tiny Arkanoid  - Change

if ((analogRead(A3)>=750)&&(analogRead(A3)<850)) {if (VARIABLE.TrackBaryDecal<7) {if (VARIABLE.TrackBaryDecal+(VARIABLE.TrackBary*8)<44){ VARIABLE.TrackBaryDecal++;}}else{VARIABLE.TrackBaryDecal=0;VARIABLE.TrackBary++;}}
if ((analogRead(A3)>500)&&(analogRead(A3)<750)) {if (VARIABLE.TrackBaryDecal>0) {if (VARIABLE.TrackBaryDecal+(VARIABLE.TrackBary*8)>4){ VARIABLE.TrackBaryDecal--;}}else{VARIABLE.TrackBaryDecal=7;VARIABLE.TrackBary--;}}

To

if ((analogRead(A3)>=750)&&(analogRead(A3)<850)) {if (VARIABLE.TrackBaryDecal>0) {if (VARIABLE.TrackBaryDecal+(VARIABLE.TrackBary*8)>4){ VARIABLE.TrackBaryDecal--;}}else{VARIABLE.TrackBaryDecal=7;VARIABLE.TrackBary--;}} if ((analogRead(A3)>500)&&(analogRead(A3)<750)) {if (VARIABLE.TrackBaryDecal<7) {if (VARIABLE.TrackBaryDecal+(VARIABLE.TrackBary*8)<44){ VARIABLE.TrackBaryDecal++;}}else{VARIABLE.TrackBaryDecal=0;VARIABLE.TrackBary++;}}


* Don't forget when you program the cartridges, that Pin's 1 and 2 are swapped around on the Pacman and Tiny Arkanoid PCB's.

Gerber_Tiny Joystick PCB.zip

PCB Thickness 1 mm

x-zip-compressed - 96.62 kB - 07/29/2018 at 16:34

Download

x-zip-compressed - 51.68 kB - 07/29/2018 at 16:35

Download

Case_STLs.zip

STL files for the cases and joystick.

x-zip-compressed - 153.56 kB - 07/29/2018 at 15:25

Download

  • 1 × 0.96" 128X64 OLED LED Display Module IIC I2C White or Blue. VCC-GND-SCL-SDA pin configuration
  • 1 × Battery Holder CR2032/2025 Through-hole Mount Manufacturers No: BAT-HLD-001-THM
  • 1 × 4 Pin Single Row 2.54mm Pitch Straight Pin Male Headers
  • 1 × CR2032 Battery
  • 1 × PCBs & 3D printed case - see "files" for the downloads

View all 20 components

  • Notes : Issues & Problems

    megazoid07/29/2018 at 14:31 0 comments

    There is nothing worse than investing time and money in someone else's project only to find there are flaws in the design. In the interest of full disclosure for a prospective builder, here are the issues I am aware of :

    Issues:

    1. The power switch doesn't really protrude from the case. I manage with the side of my nail, or you could use a cocktail stick / match etc.

    2. The screen is 1 mm off central when in the portrait aspect. You might not have noticed... you will now.

    3. The sound is quiet. It's a tiny speaker with no amp, so it isn't much of a surprise. It is what it is :)

    Problems that might come up:

    1. It wont turn on.

    • Have you checked there is a programmed and working game cartridge inserted?  It wont come on without one. Also check the battery is installed correctly. Positive down. Then start thinking about looking at your soldering.

    2. The joystick falls off.

    • It wont really hold on there without a small amount of superglue, however only do this after you are 100% sure you no longer want to take the case apart.

    3. The screen case and joystick case are misaligned

    • We did test the case designs on a couple of printers and with different materials, and are satisfied it will go together without issue. Slight variations could be caused by a badly aligned 3d print bed, but another cause could be that your joysticks female connecting pin is not level. You could risk just bending it a fraction.

  • Fabrication

    megazoid07/24/2018 at 13:07 0 comments

    Adding a fabrication video which I had to split into 3 parts. It's 30 minutes of your life you'll never get back, but perhaps if are going to make a Tiny Joypad it might prove somewhat useful.


  • Magnets

    megazoid07/20/2018 at 11:30 0 comments

    I added some 3 x 1 mm neodymium magnets as a test. They do add a little extra grab, but are perhaps too much work for most people. I'm going to leave this off the design, and people can play around with the idea should they wish. Melted the holes using a heated drill bit and superglued them in by the way. 

  • Pinouts

    megazoid07/17/2018 at 20:19 0 comments

    I made some pin-out boards for programming the cartridges. They got progressively less hideous, but are still an insult to the eyes. You don't actually need these, but they are useful to me who is going to make a few Tiny Joypads. I did cremate one ATtiny85 by getting the connections wrong. It was not a happy moment.

View all 4 project logs

Enjoy this project?

Share

Discussions

clae wrote 12/03/2018 at 10:13 point

I swear if you put this up on Tindie it would go off like a rocket

  Are you sure? yes | no

megazoid wrote 12/03/2018 at 21:12 point

Nice of you to say so. I only had a few kits, and as it happens nobody actually asked me for one. :)

I made quite a few for friends and family who seemed to like them.

  Are you sure? yes | no

Stuart Longland wrote 07/16/2018 at 12:28 point

Actually, for a "cartridge"… how about a DIP-8 socket and making a case for a DIP-version ATTiny85 which leaves the legs poking out the bottom?

  Are you sure? yes | no

megazoid wrote 07/16/2018 at 12:48 point

Actually not a bad idea. The legs on those things are easily bent though, perhaps losing some portability aspects. (unless you had a way or storing them). I'm going to mull this over :) Thanks !

  Are you sure? yes | no

Daniel Champagne wrote 07/16/2018 at 05:27 point

This is awesome project! Megazoid's amazing work! it is possible that the source code has to undergo modification to walk with the megazord electronic board!

For original source code visited the site! https://sites.google.com/view/arduino-collection

  Are you sure? yes | no

megazoid wrote 07/16/2018 at 10:12 point

Thanks Daniel. It means a lot to me that you like it. Portrait games do need small code changes, and I will provide those code changes  here later. It's only 2 to 4 lines that need changing... very easy :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates