Skip to the content
PCBKitNew board
2 layers80 × 64.7 mmKeyman64, the printed circuit board in 3D

programmable C64 keyboard interceptor and hardware control system

Size
80 × 64.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
33
Nets
93
Pads
264
Tracks, vias
1,271, 17
Pours
7
Routed
Yes
KiCad
KiCad 4
Created
12 Aug 2015
Updated
5 May 2023

Overview

Keyman64 is an open-source printed circuit board by hbekel, from the hbekel/keyman64 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 80 × 64.7 mm with 33 parts on 93 nets, routed with 1,271 tracks and 17 vias.

It is built around the ATMEGA1284P-PU and MT8808AP1. Its parts include 8 capacitors, 7 ICs, 6 connectors, 3 resistors and 2 diodes. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README

Keyman64

Programmable C64 keyboard interceptor and hardware control system

The keyman64 is a programmable keyboard interceptor and hardware control system for computers equipped with a simple 64-key matrix keyboard.

It is installed between the keyboard and the computer, continually scanning the keyboard matrix and relaying the keyboard state to the computer using a crosspoint switch. To the computer, the crosspoint switch matrix looks just like a physical keyboard, while the keyman64 gains the ability to intercept keystrokes and control the matrix seen by the computer.

The keyman64 can be configured to intercept special key combinations and invoke arbitrary sequences of commands to alter the state of sixteen general purpose control lines provided on the board. These lines can be used to control additional hardware instead of using physical buttons or switches.

Additional features include the ability to send predefined keyboard macros or to redefine the keyboard layout. Commands can also be sent from a remote PC via USB, or send on simple serial wire interface, allowing remote control from either a PC or another microcontroller or similar device.

For some concrete examples of what the keyman64 can do, see the

http://www.henning-bekel.de/keyman64/#configuration-examples

Please refer to the project page http://www.henning-bekel.de/keyman64 for detailed documentation.

Copyright 2016 Henning Bekel h.bekel@googlemail.com

LICENSING

Hardware licenced under CERN OHL v.1.2, see ./hardware/LICENSE.txt Software and firmware licenced under GNU GPLv3, see ./LICENSE

The software contains MIT licensed code from https://github.com/arkku/ihex for reading Intel HEX files, Copyright (c) 2013-2015 Kimmo Kulovesi, see ./intelhex/LICENSE

The firmware contains the V-USB Driver (https://www.obdev.at/vusb), (C)2008 Objective Development GmbH.

Distributed in the ./bootloader directory is the USBasp bootloader, (C)2013 Stephan Baerwolf (matrixstorm@gmx.de) and (C)2008 Objective Development GmbH (https://www.obdev.at/vusb).

In compliance with the terms of the (identical) V-USB driver and USBasp bootloader licenses (./firmware/usbdrv/License.txt and ./bootloader/License.txt), the entire project is published under

http://www.henning-bekel.de/keyman64

In addition, this distribution contains

  • a circuit diagram in PDF format, see ./hardware/keyman64-schematics.pdf
  • the full source code for the host software in ./firmware
  • this README file
  • references to https://www.obdev.at/vusb

The USB Product and Vendor IDs for the Keyman64 USB device have kindly been provided by OpenMoko, Inc (http://openmoko.org).

Parts

33
QtyValueFootprintReferences
6100nFCapacitors_ThroughHole:C_Disc_D3_P2.5C6, C7, C8, C9, C10, C11
4CONN_1Mounting_Holes:MountingHole_4mmH1, H2, H3, H4
218pFCapacitors_ThroughHole:C_Disc_D3_P2.5C1, C2
23.6Diode:D3D1, D2
24051Sockets_DIP:DIP-16__300U4, U6
268Discret:R3R2, R3
116MHzCrystals:HC-49VX1
11k5Discret:R3R1
14520Sockets_DIP:DIP-16__300U5
17400Sockets_DIP:DIP-14__300U3
1ATMEGA1284P-PUSockets_DIP:DIP-40__600U2
1BOOTDiode:ButtonSW2
1COMPUTERDiode:pinHeader-20x1P1
1CONTROLpinHeaders:pin_array_8x2P5
1KEYBOARDDiode:pinHeader-20x1P2
1MT8808Sockets_DIP:DIP-28__600U1
1MT8808Sockets:PLCC28U7
1POWERpinHeaders:pinHeader-3x1J1
1RESETDiode:ButtonSW1
1SERIALpinHeaders:pinHeader-2x1P4
1USBusb-mini-b-through-hole:USB-MINI-B-HP3

Questions

How big is the Keyman64 PCB?

It measures 80 × 64.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Keyman64 use?

33 parts, built around the ATMEGA1284P-PU and MT8808AP1. 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 Keyman64 KiCad files?

From the hbekel/keyman64 repository on GitHub, at the commit this page was made from: the board is hardware/keyman64.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Keyman64 design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers75 × 57.5 mmKb usb to coco, the printed circuit board in 3D

    Kb usb to coco

    hcgernhardtiii/kb-usb-to-coco

    Adapts a USB keyboard for use on a TRS-80 Color Computer 1, 2, or 3

    38 parts1GPL-3.0
  • 2 layers100 × 50 mmPS2 Helper, the printed circuit board in 3D

    PS2 Helper

    acwright/6502-COB

    6502-COB 8-Bit Retro Computer Project

    28 parts47CERN-OHL-P-2.0
  • 2 layers229.9 × 111.8 mmAvr colorvideo, the printed circuit board in 3D

    Avr colorvideo

    74hc595/Amethyst

    8-bit ATmega1284 retro computer

    148 parts306BSD-3-Clause
  • 2 layers71.6 × 65.8 mm1541-rebuild, the printed circuit board in 3D

    1541-rebuild

    ThKattanek/1541-rebuild

    Ersetzt den Analogteil einer Floppy 1541 oder 1541-II durch ein µC.

    20 parts49GPL-2.0
  • 2 layers95.3 × 36.8 mmV4-atmega1284p, the printed circuit board in 3D

    V4-atmega1284p

    FreeAndFair/v4

    The DemTech Kiosk Voting System.

    27 parts3
  • 2 layers50.8 × 99.1 mmU arm, the printed circuit board in 3D

    U arm

    Wiles/u-arm

    PCB for Linux on 8bit http://dmitry.gr/?r=05.Projects&proj=07.%20Linux%20on%208bit

    19 parts3Apache-2.0
  • 2 layers48.3 × 99.1 mmAtmega1284p, the printed circuit board in 3D

    Atmega1284p

    maribu/boards

    KiCad Sources files and RIOT integration of my custom boards

    32 parts2
  • 2 layers65 × 48.5 mmFancyPantsMkII, the printed circuit board in 3D

    FancyPantsMkII

    adammhaile/FancyPantsMkII

    13 parts1