Over the last week or so I have been making a simple PCB game.
Here is a quick video of the PCB in action, but no Simon Says game for the moment… ill do a blog on programming it later
The idea was to expand on a simple "Simon Says" game, and add a little twist.
6 pins on the ATTINY were all that was needed to provide 4 buttons, a pwm buzzer, and a string of neopixels.
I also wanted to make the PCB single sided, so that people could easily replicate it if they have a pcb mill, or etching tank.
It is also (mostly) SMD, but it is very possible to solder by hand, The hardest part would be the NeoPixels, (their pads are almost underneath their shell)
Here I will provide a brief explination of the various components
I got the sample / test PCBs produced by my new favourite PCB company MitchElectronics.
In my case, just 3 days after ordering they arrived, perfect quality, great for soldering or reflowing.
I managed to miss the fact that button 4 had been incorectly routed to the ATTINY reset pin, not a digital PIN.
I ajusted the PCB layout for V1.1 so the speaker is removed… just too many traces
The game runs at 5v, which is regulated using a 1117 regulator.
I chose the 1117 because of its popularity, I was able to pick up 100 for £2 on ebay, shipped from china.
There is a 10uf capacitor on either side, 0603 size.
People seem to spend a lot of time worrying about capacitors, are they too big?, are they too small?
To answer this just google the name of the component, and look at the Data Sheet.
On the first page it shows the 1117 with two 10uf caps. Easy peasy.
Be carful when ordering!
A WS2812B is very different from the WS2812
The NeoPixels are in a string driven by the ATTINY
What this means is they require only one pin, and are then chained together. This is how nearly all LED displays work, and what we are left with on the "Calum Says" Board, is essentially a tiny 2x2 display.
We can make them any colour, all the same colour, or no colour at all!
I have used a ATTINY45 for this build, but you could equally use ATTINY85, they are so similar the share a Data Sheet.
The only difference is the ammount of memory on board.
Attiny13 == Microcontroller with 1KB
Attiny25 == Micocontroller with 2KB
Attiny45 == Microcontroller with 4KB
Attiny85 == Microcontroller with 8KB
The IC is programmed using a programming clip that can be purchased for just £2-£3 on eBay, and is the connected to a regular arduino UNO for programming.
I use the arduino bootloader for ATTINY, as it eases development.
The buttons are grounded, and then the internal pull-ups will be used.
This saves space on the PCB as resistors are not needed.
Yes, the order of the switches is odd, yes, the buzzer is randomly half way through the list, this is basically to ease PCB layout.
Solder (full of lovely lead)
OK you got me, I'm sorry, I love leaded solder. Lead-free just doesnt work as well as i want it too. If anyone can recomend me a good, cheap lead-free solder paste, then id love to know, because this stuff sucks:
But this stuff rules: