Arduino Sketch to use a USB keyboard with an Apple II as ASCII keyboard.
Go to file
2019-05-10 17:01:05 +02:00
libraries/USB_Host_Shield_Library_2.0 Delete .DS_Store 2019-05-10 15:41:02 +02:00
pictures Delete .DS_Store 2019-05-10 15:41:39 +02:00
Apple_II_Keyboard.ino nitial commit. 2019-05-10 15:39:26 +02:00
backlog.cpp nitial commit. 2019-05-10 15:39:26 +02:00
backlog.h nitial commit. 2019-05-10 15:39:26 +02:00
II_Encoder.cpp nitial commit. 2019-05-10 15:39:26 +02:00
II_Encoder.h nitial commit. 2019-05-10 15:39:26 +02:00
layoutmemory.cpp nitial commit. 2019-05-10 15:39:26 +02:00
layoutmemory.h nitial commit. 2019-05-10 15:39:26 +02:00
LICENSE Create LICENSE 2019-05-10 16:59:48 +02:00 Update 2019-05-10 17:01:05 +02:00

USB Apple II Keyboard

Arduino Sketch to use a USB keyboard with an Apple II as ASCII keyboard.


  • Upper and Lowercase (Shift and Caps work), for older Models and full compatibility use caps.
  • Selectable Layout (Currently DE and US) toggle via WIN + SPACE.
  • Providing reset to the Apple II. Used via CTRL + ALT + DEL
  • Bash like backscroll capability. Use up and down arrow keys to scroll through your last commands.

Apple II USB Keyboard Interface

Needed Hardware and Software



  • Arduino IDE
  • USB Host Shield Library 2.0 (The modified Version included in this repo!)


  • Create a folder "Apple_II_Keyboard" under your sketches dir and copy all files from the root dir of this repo there (The dir where the .ino lies).
  • Copy the "USB_Host_Shield_Library_2.0" dir to you libraries dir.
  • Select Uno as board in the Arduino IDE
  • Use Upload in the Arduino IDE. If you can see some output in the serial monitor as you type everythin works.

Connecting the Arduino to the Apple II

This Table shows how to connect the Apple II Keyboard Connector (A7) to the Arduino. The Pin definitions can also be changed in II_Encoder.h

APPLE II DIP Pin Function Arduino Pin
1 +5V 5V
2 Strobe 4
3 Reset 5
5 DATA 5 6
6 DATA 4 7
7 DATA 6 8
10 DATA 2 A0
11 DATA 3 A1
12 DATA 0 A2
13 DATA 1 A3
14 NC NC
15 -12V NC
16 NC NC

Setting the Arduino USB Host Shield for 5V operation

Correctly jumpered Host Shield Make sure to set the solder jumpers as shoen in the picture. The Apple II and the UNO operate at 5V.


The content of this repos is published under the GNU GENERAL PUBLIC LICENSE Version 2