

Tasta
two-key USB keyboard - software and schematics/PCB
- Size
- 30.5 × 47 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 17
- Nets
- 11
- Pads
- 45
- Tracks, vias
- 42, 0
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 3
- Created
- 26 Jul 2015
- Updated
- 24 Jun 2019
Overview
Tasta is an open-source printed circuit board by mmitch, from the mmitch/tasta repository on GitHub. It is a 2-layer board of 30.5 × 47 mm with 17 parts on 11 nets, routed with 42 tracks and 0 vias.
Its parts include 5 resistors, 3 diodes, 3 switches, 2 capacitors and 1 IC. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.
README
READMEtasta - small USB keyboard Copyright (C) 2015 by Christian Garbs mitch@cgarbs.de Licensed under GNU GPL v2 or v3
Project homepage:
https://github.com/mmitch/tasta
Description:
tasta a small USB HID keyboard with just two keys and the corresponding code to program the ATtiny85. This is my first microcontroller/PCB project. I developed it as a foot switch for push-to-talk in TeamSpeak as I don't have any spare keys (or fingers) during gaming. I fiddled with this on and off over the course of two years, now it should be ready to do something.
Hardware:
The curcuit schematics and PCB layout are available in different formats in the 'circuit' subdirectory. They were created with KiCad, so it's propably best to edit them with KiCad, too, if the need arises.
There are some optional components in the layout:
-
You can omit the LED and R5 if you don't need it.
-
You can omit either key switch or the K1 connector as needed. K1 is used to provide key input from 'offboard', like the foot switch I use.
-
R4 is propably not needed. In fact, I have never included it, neither in test runs nor in the final PCB. But the docs say you should pull up your reset pin, so the possibility to insert the resistor is there if you should ever need it. (I did include it 'just in case' so I would not have to throw away the first PCB batch.)
Software:
To build the software, go to the 'source' directory and just run 'make'. A normal Atmel development environment is needed, so install 'avr-gcc' and friends.
To configure the software (to choose your own keybindings), edit 'main.c' and look for these two sections:
- EDIT BELOW FOR YOUR OWN LED CONFIGURATION
- EDIT BELOW FOR YOUR OWN KEY CONFIGURATION
Default configuration is:
- key 1 = GUI left (Windows key -> modifier only)
- key 2 = return
- the LED is on if key 1 || key 2 is pressed
To flash the code to your ATtiny85, run 'make flash'. The default configuration uses avrdude with a 'usbasp' compatible programmer. Edit the AVRDUDE_* variables in 'Makefile.orig' to change this.
Credits:
PCB and basic code are heavily influenced from other projects, as you can see in the repository log. Other parts were rewritten, redone and rearranged by myself. Credits where credits are due:
-
VUSB project for USB on Atmel microcontrollers: http://www.obdev.at/vusb/
-
VUSB HIDKeys example project for a USB HID compliant keyboard: https://www.obdev.at/products/vusb/hidkeys.html
-
Information on running a VUSB project without a crystal taken from flipwork's 1-Key-keyboard: http://blog.flipwork.nl/?x=entry:entry081009-142605
-
better OSCCAL calibration routine taken from here: http://codeandlife.com/2012/02/22/v-usb-with-attiny45-attiny85-without-a-crystal/
-
My PCBs were printed at Hackvana. I've never done this before and everything went right on the first try (well, on the second, I had one misnamed file in the rev_0x0002 export, but that's my fault): http://www.hackvana.com/
Licensing:
The VUSB example projects are licensed under GPL 2 or GPL 3 (you can choose). The imported code from flipwork and codeandlife is based on VUSB projects as well (HIDKeys/EasyLogger), so they're GPL 2/3, too. My project thus is also GPL 2/3 and everybody's happy.
Parts
17| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 3.6V | D3 | D1, D2 |
| 2 | 68 | R3 | R1, R2 |
| 2 | SW_PUSH | SW_PUSH_SMALL | SW1, SW2 |
| 1 | mmitch_logo_back_silk | ||
| 1 | mmitch_logo_front_silk | ||
| 1 | 100nF | C1 | C2 |
| 1 | 10uF | C1V7 | C1 |
| 1 | 2.2k | R3 | R3 |
| 1 | 200 | R3 | R5 |
| 1 | 4.8K | R3 | R4 |
| 1 | ATTINY85-P | DIP-8__300 | IC1 |
| 1 | CONN_3 | PIN_ARRAY_3X1 | K1 |
| 1 | LED | LED-5MM | D3 |
| 1 | USB | USB_A | J1 |
Questions
How big is the Tasta PCB?
It measures 30.5 × 47 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Tasta use?
17 parts. 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 Tasta KiCad files?
From the mmitch/tasta repository on GitHub, at the commit this page was made from: the board is circuit/kicad_source/tasta.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Tasta design in my own project?
Its repository states no licence, so its author keeps all rights: ask mmitch before reusing the design.
Similar boards
- 2 layers50 × 35 mm

- 2 layers139.7 × 62.2 mm

- 2 layers29.2 × 55.9 mm

Deniseadapter
hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
17 parts1kGPL-3.0 - 2 layers24.5 × 36.5 mm

- 2 layers56.3 × 55.7 mm

StarNecklace
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
17 parts915 - 2 layers25 × 25 mm

SmallEncoder
DDeGonge/OS-ARM
This arm is not industrial and it will not be fast, but that is not my goal. But it will hopefully be a very nice looking arm fully capable of 6dof motion, cheap enough to keep it accessable but capable enough to…
17 parts498MIT - 2 layers38.9 × 16.1 mm

- 2 layers36 × 51 mm
