Giter VIP home page Giter VIP logo

coleco_adam_usb_keyboard's Introduction

USB Coleco Adam Keyboard Adapter

This adapter enables an unmodified Coleco Adam keyboard to work as a USB keyboard on any modern computer. This is great option for using the keyboard with PC ADAM emulators. The Coleco Adam keyboard was considered one of the best keyboards of its time with its modern layout and build quality.

This is a fork of the original project developed by Nick A. Bild found here USB Coleco Adam Keyboard

How It Works

Unlike a typical keyboard of its time that arranged the keys into a matrix of switches that triggered pins on an interface chip when they were closed, Coleco designed a communications protocol called ADAMnet. The keyboard connects to the computer via an RJ-12 connector with a single data line that communicates over a 62.5 kbit/s half-duplex serial bus. It contains its own Motorola 6801 microcontroller to cache key presses and send them to the main computer when it asks for them by sending a series of commands via the ADAMnet protocol.

This project uses a Teensy 4.x microcontroller development board that communicates with the keyboard via ADAMnet to acquire keystrokes, then they are translated into the appropriate key codes and sent to the host computer as if the Teensy was a USB keyboard (be sure to set serial mode to "Keyboard" in Arduino IDE). Modifier keys like "SHIFT", "CONTROL", and "ALT (Mapped to WILD CARD)" are supported. Note that the ADAM keyboard doesn't have the ability to just select the "CONTROL" key by itself without having a combination of an alphnumeric key pressed at the same time. This behavior makes it impossible to do a combination of "CONTROL-ALT-DELETE" like a standard PC keyboard.

The ADAM keyboard is powered directly by the PC by way of the TEENSY 5V (VIN) line.

Mapping of the keyboard's special keys are as follows:

ADAM MAPPED KEY PC KEY
ESC ESC
WILD CARD ALT
DEL DEL
HOME HOME
I F1
II F2
III F3
IV F4
V F5
VI F6
SHIFT + I F7
SHIFT + II F8
SHIFT + III F9
SHIFT + IV F10
SHIFT + V F11
SHIFT + VI F12
UNDO PAUSE
MOVE/COPY PAGE UP
STORE/GET PAGE DOWN
INSERT INSERT
PRINT PRINT SCREEN
CLEAR END

Wiring:

TEENSY PIN RJ12 PIN ADAMnet SIGNAL
PIN-1 RJ12-1 DATA
PIN-2 RJ12-2 RESET
GND RJ12-3,4,5 GND
+5 (VIN) RJ12-6 POWER

Schematic

Media

Bill of Materials

  • 1 x   Teensy 4.0 or 4.1 Microcontroller Development Board
  • 1 x   RJ-12 Breakout Connector Board
  • 1 x   1.5K Resistor (used as a voltage divider to safely drop the +5v ADAM data to 3v for the Teensy)
  • 1 x   3.3K Resistor (used as a voltage divider to safely drop the +5v ADAM data to 3v for the Teensy)
  • 1 x   ESD Suppressor / TVS Diode (OPTIONAL)  P/N# PESD1FLEX,215 or equivelent
  • 1 x   10uF Capacitor (OPTIONAL)

PCB (gerbers and BOM in Build Files)

License

GNU General Public License v3.0

coleco_adam_usb_keyboard's People

Contributors

johnlundy avatar nickbild avatar

Watchers

James Mayes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.