Showing posts with label USB Keyboard Shield for VT100. Show all posts
Showing posts with label USB Keyboard Shield for VT100. Show all posts

Saturday, October 6, 2018

Shield Block Diagram

In this post, I will describe the functional blocks of USB Keyboard Shield for VT100.


The figure below shows the block diagram of USB Keyboard Shield for VT100 (the center column), along with other components necessary for the keyboard functions of VT100 (left and right columns).

Fig of USB Keyboard Shield for VT100 Block Diagram
Fig. USB Keyboard Shield for VT100 Block Diagram
As shown in the diagram, the shield is composed of three major functional blocks:

  1. Transceiver for VT100 Keyboard Signal
  2. LED Array
  3. Buzzer Driver
A bit more details of each block will be discussed below.

1. Transceiver for VT100 Keyboard Signal


The VT100 keyboard cable has only one signal line, where the incoming signal (VT100 to keyboard) and the outgoing signal (keyboard to VT100) are mixed.

The transceiver circuit on the shield extracts only the incoming signal from the mixed signal line, and applies a low-pass filter to it. The resulting signal is sent to Arduino Serial RX (Arduino Uno pin 19). Arduino interprets this signal as the keyboard status bytes from VT100 terminal, and sends back a set of codes for the keys that are currently pressed down. The key code signal comes out of Serial TX (Arduino Uno pin 18). This outgoing signal is mixed into the keyboard cable signal line, after properly level-shifted.

2. LED Array


This shield has an on-board LED array. Each LED is directly connected to an output pin of the Arduino. The LEDs are turned on/off, as indicated by the keyboard status bytes from VT100 terminal.

The Arduino controls these LEDs dynamically, and up to only one LED is lit at a time, in order to reduce the power consumption by the LEDs. 

3. Buzzer Driver


The sound output (beep signal) from the Arduino is connected to an inverter on the 74LS06, which drives the piezo buzzer on the shield. A 800Hz beep sound is triggered by the Keyboard status bytes. 

Optionally, the beep signal can be routed to an external amplifier, and then the amplified signal can be fed to an external speaker attached to the keyboard cable. This routing to the external speaker is based on the original design of the VT100 keyboard cable. 

***

If you read the Keyboard section of VT100 Technical Manual, you will see that these functional blocks represent some part of the VT100 keyboard functions. The other functions, UART and the keyboard matrix, are taken care of by the Arduino UNO, the USB Host Shield and a USB keyboard.

You can find the schematic, shield sketch and other details of USB Keyboard Shield for VT100 in the GitHub repo.

Friday, September 21, 2018

USB Keyboard Shield for VT100: PCB and other components

In this post, I will describe how to obtain the PCB and necessary components for the shield.

PCB




I have a few extra PCBs of the shield (board only, no components included, see the picture above). If you would like to try one, please let me know using the form on this page.

Or, you can place an order with PCB fabs, using the Gerber file.

Other Components


I updated the BOM on GitHub repo for easy procurement.

The list of the components for the shield is found on page 1 of the BOM. If you purchase them from Mouser, the cost is around $14.

The list of the parts required outside the shield (Arduino Uno, USB Host Shield, keyboard plug/cable and connector) is on page 2 of the BOM. If purchased via Amazon, the total cost of these four items will be about $40. 

The price info above is just FYI. Taxes and shipping fees are not included. 

How to Build


Once you get all the components, please follow the instruction on Readme. If you have any questions about the shield, please let me know.

Monday, September 17, 2018

USB Keyboard Shield for VT100

About this project



The USB Keyboard Shield for VT100 project was developed to connect a standard USB keyboard to Digital's VT100 terminal. The current shield is rev 2.1 and working as intended.

Features


  • All keys on VT100 keyboard are mapped to USB keyboard keys.
  • The LED's and bell on VT100 keyboard are implemented on the shield.


In the demo video shown above, I demonstrated the following:

  1. Turn on the VT100. Power-on self test is executed. When the self test is done, only the Online LED is lit. 
  2. Press F1 (mapped to Setup) twice, turning on and off the Setup screen.
  3. Logged in to OS X (connected via a USB-Serial interface), invoke vi.
  4. Type something and then quit vi.
  5. Type cat 1.led_all_on.txt. This file contains the escape sequences that turn on L1-L4 LEDs.
  6. Press Ctrl-G twice, ringing the bell.
  7. Type cat 0.led_all_off.txt. This file contains the escape sequences that turn off L1-L4.


How to get it working


I put the Readme, Gerber file, BOM, schematic and Arduino sketch for the shield on GitHub.

You will need to obtain the shield PCB, assemble/solder the parts and connect the shield to other components. Please note that this shield requires two more boards: an Arduino Uno and a USB Host Shield. For details, please see Readme on GitHub.