Rev. 2.1
This shield connects a standard USB keyboard to the DEC VT100 terminal.
- All keys on the VT100 keyboard are mapped to the USB keyboard keys.
- VT100 keyboard LEDs and bell are emulated on the shield PCB.
The Gerber file, BOM, schematics and Arduino sketch for the shield are included in this repo. For the steps to assemble, program and connect the shields, please see the sections below.
Note: this shield uses the USB Host Shield from Circuits@Home.
Please use the information in this repo at your own risk. No warranty or guarantee is provided.
- USB Keyboard Shield for VT100 (the shield from this repo)
- USB Host Shield by Circuits@Home, the "full-sized board"
- Arduino Uno
- Keyboard cable for VT100 (see "Keyboard Cable" below)
- USB Keyboard
- Assemble the shield
- Build a keyboard cable
- Program the Arduino
- Connect the shields and cables
The details of each step are described in the next few sections.
The USB Keyboard Shield for VT100 can be assembled using the following info:
- PCB Gerber File: usbkbd_vt100_2_1_gerber.zip
- Schematic: usbkbd_vt100_sch.pdf
- BOM: usbkbd_vt100_BOM_2_1.pdf
To make the keyboard cable, connect these components:
- 1/4 inch stereo plug/cable
- 5-pin header connector
PIN CONNECTIONS
Pin | Plug | Value |
---|---|---|
1* | - | (spk+)* |
2* | - | (spk-)* |
3 | Tip | +12V |
4 | Sleeve | GND |
5 | Ring | Signal |
* optional
The pin connector is attached to J1 header on the USB Keyboard shield for VT100. The stereo plug is connected to the keyboard port on VT100 terminal.
It is recommended to program the Arduino Uno before attaching the shields.
-
Install USB Host Shield Library 2.0 and Timer1 Library into Arduino IDE.
-
Clone or download this project.
-
Open the sketch
usbkeyboardvt100/usbkeyboardvt100.ino
in Arduino IDE, and program the Arduino Uno.
There are two options in usbkeyboardvt100.ino
:
// SWAPCAPS: If defined, LeftCtrl and CapsLock are swapped on USB Keyboard.
#define SWAPCAPS
// SWAPLFBAR: If defined, swap LineFeed and '|\' key codes for VT100.
//#define SWAPLFBAR
Comment out/uncomment the #define
lines as needed.
- Connect the USB keyboard to the USB connector on the USB Host Shield.
- Connect the keyboard cable for VT100 to the J1 header on the USB Keyboard Shield.
- Connect the keyboard cable to the keyboard port on VT100 terminal.
- Stack and connect the Arduino Uno, the USB Host Shield, and the USB Keyboard Shield, in this order, from the bottom to the top (see the iamge below).
- No external power supply is needed. The power is supplied via the VT100 keyboard cable.
Some hard-to-guess keys:
VT100 Key | USB Keyboard Key |
---|---|
SET UP | F1, SysRq |
CTRL | Caps Lock |
CAPS LOCK | Left Ctrl |
BREAK | Break |
LINE FEED | End |
NO SCROLL | Scroll Lock |
PF1 | Num Lock, F9 |
PF2 | (numpad) /, F10 |
PF3 | (numpad) *, F11 |
PF4 | Page Up, F12 |
(numpad) , | (numpad) + |
The key mappings are defined in usb_key_tbl[]
in usbkeyboardvt100.h
. Also see "Configuration Options" above.
The following configuration was used during development of this shield:
- USB Host Shield 2.0
- Arduino Uno R3
- VT100-WA / VT-180
- USB Keyboards: HP K1500 / Logitech K310
- Keyboard connected via a USB hub is not supported.
The code is released under the GNU General Public License.