

Adapter
Adapter to attach PS/2 compatible mice to retro computers
- Size
- 19.8 × 17.8 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 6
- Nets
- 14
- Pads
- 33
- Tracks, vias
- 61, 11
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 6 (file 20211014)
- Created
- 29 Aug 2022
- Updated
- 22 Jan 2023
Overview
Adapter is an open-source printed circuit board by c0pperdragon, from the c0pperdragon/RetroMouse repository on GitHub. It is a 2-layer board of 19.8 × 17.8 mm with 6 parts on 14 nets, routed with 61 tracks and 11 vias.
It is built around the ATTINY1604-SSF. Its parts include 4 connectors, 1 capacitor and 1 IC. It belongs with the interfaces and adapters boards and the AVR (ATmega, ATtiny) boards of this library.
Main components
1README
README.mdRetroMouse
Adapter to attach PS/2 compatible mice to retro computers

Motivation
I wanted to try to make such an adapter using one attiny1604 microcontroller with only the minimum additional circuitry. This part also was one of the few that mouser actually had in stock.
Mouse compatibility
The USB socket suggests that any USB mouse can be used, but that is actually not true. In reality the adapter only supports the simpler PS/2 interface protocol which can be handled by regular microcontrollers just well.
For this to work, the mouse must be able to optionally support PS/2 if needed. Luckily this compatibility is present in quite many devices, especially in the cheap and simple variants. Unluckily on the other hand, this compatibilty depends on the specific controller IC the manufacturer used for the mouse and can not really be guessed from the outside. When PS/2 compatibility is not directly advertised, the only thing to do is just try.
Arduino development
The microcontroller is supported by the Arduino IDE (using the megaTinyCore add-on). To modify the firmware, you need a programmer device to re-flash the microcontroller using the UDPI pin. Details on this process are available on the megaTinyCore webpage.
Compatibility
This adapter works with Amiga and C64 computers and can auto-detect the host machine. Further machines (for example Atari ST) may be supported in the future.
C64 input modes
From power-up, the adapter emulates the Commodore 1351 mouse. If you want to emulate a pair of paddles instead (to play Arkanoid, for example) hold down the right mouse button and click the left button 5 times. Doing the same thing with 6 left clicks switches back to standard mode.
Attention! No Hot-Plugging
The adapter is not designed to be hot-plugged into the host machine or the mouse to be hot-plugged into the adapter. Make sure to always power down the host when changing configuration.
Parts
6| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | Conn_01x01 | TestPoint:TestPoint_Pad_3.0x3.0mm | J3, J4 |
| 1 | 10uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1 |
| 1 | ATtiny1604-SS | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U1 |
| 1 | DB9_Female | Connector_Dsub:DSUB-9_Female_EdgeMount_P2.77mm | J1 |
| 1 | USB_A | Connector_USB:USB_A_TE_292303-7_Horizontal | J2 |
Questions
How big is the Adapter PCB?
It measures 19.8 × 17.8 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Adapter use?
6 parts, built around the ATTINY1604-SSF. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Adapter KiCad files?
From the c0pperdragon/RetroMouse repository on GitHub, at the commit this page was made from: the board is adapter/adapter.kicad_pcb and its schematic adapter/adapter.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Adapter design in my own project?
Its repository states no licence, so its author keeps all rights: ask c0pperdragon before reusing the design.
Similar boards
- 2 layers58 × 58 mm

- 2 layers60 × 100 mm

- 4 layers40 × 27 mm

- 2 layers50 × 40.9 mm

GR ATTiny LFO
GadgetReboot/ATTiny_LFO
Dual low frequency oscillators using ATTiny and MCP4725 DACs
36 parts3 - 2 layers77.2 × 50.3 mm

- 2 layers58.3 × 98.6 mm

- 2 layers100 × 90 mm

- 2 layers61 × 74 mm

Gimbal
Alan-JH/Tiny-Gimbal
Code and pcb for self stabilizing servo gimbal using BNO055 and ATTiny1624 for TJUAV
23 parts1