next_usb: Update README

This commit is contained in:
tmk 2022-04-16 23:11:36 +09:00
parent dcebfb4fc4
commit 974c7887f4
2 changed files with 56 additions and 31 deletions

View file

@ -1,45 +1,70 @@
NeXT non-ADB Keyboard Converter
-------------------------------
===============================
With this converter you can use NeXT keyboard(non-ADB) on modern computer.
See this for details.
https://github.com/tmk/tmk_keyboard/wiki/NeXT
Wiring
------
Connections to ATmega32U2/U4
FROM(Pin3): PD0
TO(Pin2): PD1
PSW(Pin4): PD4
GND(Pin5): GND
VCC(Pin1): VCC
Pinouts
-------
Socket on converter from front:
_____
GND / 5 4 \ PSW
FROM | 3 2 | TO
| 1 | VCC
`-----'
FROM: keyboard to computer
TO: computer to keyboard
PSW: Power key
Cable connector inside keyboard case:
+-----+
|Black|\
|Green|-\
|Yello|--\-------- to computer via Mini-Din 5a Connector
|Orang|--/--------
|Red |-/
|Brown|/
+-----+
Black - Ground to outer metal part of Mini Din 5a connector (not used)
Green - Ground
Yellow - Power button signal
Orange - Keyboard Out
Red - Keyboard In
Brown - Vcc
+-----+
|Black|\
|Green|-\
|Yello|--\-------- to computer via Mini-Din 5 plug
|Orang|--/--------
|Red |-/
|Brown|/
+-----+
Black: FG
Green: GND
Yellow: PSW(Power key)
Orange: FROM Keyboard
Red: TO Keyboard
Brown: VCC
ATmega32u4 connections (pinout provided for Arduino Pro Micro):
Keyboard out (orange) : PD0 (pin 3)
Keyboard in (red) : PD1 (pin 2)
Power Button (yellow) : PD4 (pin 4)
Ground (black) : GND
Vcc (brown) : VCC
See attached next_timings.jpg file for a detailed illustration of NeXT keyboard protocol timings.
Protocol
--------
See this for NeXT keyboard protocol.
Power button signal line is normally high when the keyboard is powered/initialized. It is pulled to ground when pressed. The converter automatically translates this to a "normal" keypress with code 0x5A. This connection is technically optional, the only side effect of not making this connection is the power key will do nothing.
- https://github.com/tmk/tmk_keyboard/wiki/NeXT#next-keyboard-protocol
Converter is based heavily on Ladyada's original "USB NeXT Keyboard with Arduino Micro" tutorial (http://learn.adafruit.com/usb-next-keyboard-with-arduino-micro/overview). If you build this converter, show Adafruit some love and do it using an Arduino Micro (http://www.adafruit.com/products/1315) or their ATmega 32u4 Breakout Board (http://www.adafruit.com/products/296). Arduino Micro should work fine using the Arduino Pro Micro configuration above, same pins numbers and everything.
TODO:
Notes
-----
LEDs indicates Caps Lock state in current implementation.
I believe it might be possible to run the keyboard off of 3V; during testing I observed that the keyboard could sometimes function even without Vcc connected as long as the ground connection was good and the Keyboard In line was connected. If that works it should be easy to do a Bluetooth conversion and run the keyboard right off of a LiPo battery without a boost circuit
Utilize second LED as status indicator for good initialization; also try to make hot plugging much more robust.
Figure a better use for the Power button. Too easy to hit it by mistake to use for Suspend or Power Off - maybe move cap to different part of the board and consider that
Figure out a better use for the lock LEDs. Right now they just light up when you press shift. Lame. Maybe implement proper Caps/Num/Scroll Locks
Original Project
----------------
Converter is based heavily on Ladyada's original "USB NeXT Keyboard with Arduino Micro" tutorial (http://learn.adafruit.com/usb-next-keyboard-with-arduino-micro/overview). If you build this converter, show Adafruit some love and do it using an Arduino Micro (http://www.adafruit.com/products/1315) or their ATmega 32u4 Breakout Board (http://www.adafruit.com/products/296). Arduino Micro should work fine using the Arduino Pro Micro configuration above, same pins numbers and everything.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 398 KiB