VOGONS


Internal PS/2 to serial mouse adapter

Topic actions

First post, by Mike_

User metadata
Rank Newbie
Rank
Newbie

Hello, it looks like there are already several similar projects, but they all seem to be external. So I decided to make my own version based on ATtiny2313 and MAX232, that is mounted internally to an expansion slot and connects to a serial header. Power is drawn from a floppy power connector.

Here's the first version with following features:
-Support for normal 1200 baud serial, or 9600 baud high speed mode, which requires modified drivers.
-Sample rate is configured with a jumper, options are 40/100/200. For higher than 40, 9600 baud serial is needed.
-USB A connector, so no need for a passive USB->PS/2 -adapter. I mean, you are going to want to use a relatively modern USB mouse with PS/2 -support rather than an actual vintage part, right?
-Support for 3-button and wheel mouse (2-button mouse is reported as a 3-button one)
-Header for PS/2 connector is also provided
-Support for hotplugging, and it also aims to be compatible with KVMs
-Crystal oscillator for ensuring accurate baud rate
-TVS diodes for ESD protection
-Overcurrent protection using ATtiny2313's onboard analog comparator and a P-type MOSFET as a switch
-No SMD components, so it's easy to assemble (well, except the DPAK MOSFET used to turn power on and off, but anybody should be able to solder that thing)
-Programming via SPI header

It works well with the mice I have had available for testing, which include an old Microsoft 2-button PS/2 mouse and a couple of USB Microsoft Basic Optical Mouse with PS/2 support. Current version even works with a KVM switch I have had available for testing. Note that the silkscreen describing jumper settings is not correct. At first the idea was that you would use it to select serial baud rate, and sample rate would be set based on that. But that doesn't make sense as you need modified drivers for increased baud rate, so it's better to use a fixed rate for any sample rate higher than 40.

I used modified mouse drivers found here for testing high speed mode: https://github.com/LimeProgramming/USB-serial … apter/tree/main

Repo of this project is found here: https://github.com/mniemela/PS2toSerial

The attachment adapteri1.jpg is no longer available
The attachment adapteri2.jpg is no longer available
The attachment schematic.png is no longer available
Last edited by Mike_ on 2026-03-02, 17:16. Edited 2 times in total.

Reply 1 of 37, by RetroPCCupboard

User metadata
Rank Oldbie
Rank
Oldbie

Looks like a great idea for those older systems so you dont have to be stuck with a serial ball mouse.

Reply 2 of 37, by dionb

User metadata
Rank l33t++
Rank
l33t++

Great idea. I hate the way the external solutions stick out a long way behind cases and get too easily damaged.

Just one issue:

I mean, you are going to want to use a relatively modern USB mouse with PS/2 -support rather than an actual vintage part, right?

No, I'm going to connect it to a KVM switch with PS/2, I hook up the "relatively modern" Trackball Explorer to that. So I still need PS/2.

Reply 3 of 37, by Mike_

User metadata
Rank Newbie
Rank
Newbie
dionb wrote on 2026-02-14, 15:16:

Just one issue:

I mean, you are going to want to use a relatively modern USB mouse with PS/2 -support rather than an actual vintage part, right?

No, I'm going to connect it to a KVM switch with PS/2, I hook up the "relatively modern" Trackball Explorer to that. So I still need PS/2.

Obviously it still uses PS/2 protocol rather than USB, it just has USB A connector instead of 6 pin mini-DIN. You can either attach a PS/2 panel to the header or use an PS/2->USB passive adapter.

Reply 4 of 37, by cucgod

User metadata
Rank Newbie
Rank
Newbie

this sounds like a great project! having trouble with serial ports on different boards myself and lack of compatible ps2 mice, i will watch this progress definitly.

Reply 5 of 37, by Mike_

User metadata
Rank Newbie
Rank
Newbie

I think that I got it working as a wheel mouse as well.

Btw, if somebody wants to test this, I still got a few PCBs and parts for them. But keep in mind that this is a prototype, so you need to be comfortable with soldering and programming the microcontroller via SPI header.

Reply 6 of 37, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

no offense to the project but at this level of complexity and effort of assembly why not just build rio444's ISA card?

Reply 7 of 37, by Mike_

User metadata
Rank Newbie
Rank
Newbie
maxtherabbit wrote on 2026-02-15, 15:46:

no offense to the project but at this level of complexity and effort of assembly why not just build rio444's ISA card?

That would have also been an option, but this doesn't use an ISA slot, and it's really very simple. It only uses a very simple microcontroller and a level converter instead of a more complex chip like EPM3064 and an Atmega8, and assembling it is about as easy as soldering gets. Plus I felt like tinkering a bit and doing my own version. 😀

Reply 8 of 37, by Mike_

User metadata
Rank Newbie
Rank
Newbie

Also, rio444's project is not open source as far as I know. I'm planning to publish this once its ready and I figure out what licensing scheme to use and so on.

Reply 9 of 37, by Mike_

User metadata
Rank Newbie
Rank
Newbie

I have tested this with the two PS/2 compatible mice that I have, both of them USB with PS/2 support, in DOS with CTmouse and in Windows 95. So far it seems to work well, I'd say this is as far as I get in testing with the devices I have at hand.

Also, I assembled two more prototypes in case some daring person, preferably in EU so that postage stays reasonable, wants to buy them for trying them out. If I make a V2 of the PCB, some more elegant mounting scheme is definitely needed. Anyways, these are ready for use, but you'd still need to be able to flash the microcontroller through SPI in case bugs are found and a new software is needed.

The attachment prototypes.jpg is no longer available

Btw, why can't I edit posts? This is a bit inconvenient as I'd like to add info to the first post.

Reply 10 of 37, by akimmet

User metadata
Rank Member
Rank
Member
maxtherabbit wrote on 2026-02-15, 15:46:

no offense to the project but at this level of complexity and effort of assembly why not just build rio444's ISA card?

That card requires an obsolete CPLD that can be difficult to find from a reputable source.

Reply 11 of 37, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

Wrong. I have updated the design and binaries to work with a current production CPLD. It's all in the thread

Reply 12 of 37, by akimmet

User metadata
Rank Member
Rank
Member

It looks like I missed quite a few developments since I read through that thread last summer.

Reply 13 of 37, by Mike_

User metadata
Rank Newbie
Rank
Newbie

Rio444's ISA card's main advantage is that it doesn't need modified mouse drivers to achieve low latency, right? Otherwise there shouldn't be that much difference between different adapters.

Reply 14 of 37, by Yoghoo

User metadata
Rank Oldbie
Rank
Oldbie
Mike_ wrote on 2026-02-19, 07:09:

Rio444's ISA card's main advantage is that it doesn't need modified mouse drivers to achieve low latency, right? Otherwise there shouldn't be that much difference between different adapters.

Probably not that much. But if you're using a KVM it is a different story. A lot of the existing adapters don't work correctly when using a KVM. Or only work with certain KVM's. I tried a couple of them (internal and external). And the only one that worked all the time was the one from Rio444.

Reply 15 of 37, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
akimmet wrote on 2026-02-19, 04:37:

It looks like I missed quite a few developments since I read through that thread last summer.

the instructions for using the ATF1504AS are all in this post, if you'd like to try it I can DM the SVF file
Re: Another PS/2 Mouse ISA (ISA8) card adapter

Reply 16 of 37, by Mike_

User metadata
Rank Newbie
Rank
Newbie
Yoghoo wrote on 2026-02-19, 08:37:

Probably not that much. But if you're using a KVM it is a different story. A lot of the existing adapters don't work correctly when using a KVM. Or only work with certain KVM's. I tried a couple of them (internal and external). And the only one that worked all the time was the one from Rio444.

Hmm, that's interesting. I guess it could be signal integrity issues, but I doubt it. Probably Rio444's implementation is just better at handling hotplugging, which happens regularly with a KVM switch.

I'm intending to support hotplugging with this adapter. But I don't have a KVM switch to test with. What kind of issues there have been when using regular adapters with them, have the problems occurred when switching?

Reply 17 of 37, by akimmet

User metadata
Rank Member
Rank
Member

From my experience the issue with a KVM is loss of synchronization or lag. The mouse cursor movements will be delayed by at least .25 seconds, with periodic dropouts.

Reply 18 of 37, by Mike_

User metadata
Rank Newbie
Rank
Newbie
akimmet wrote on 2026-02-23, 22:13:

From my experience the issue with a KVM is loss of synchronization or lag. The mouse cursor movements will be delayed by at least .25 seconds, with periodic dropouts.

That sounds like it could be that the adapter doesn't realize that the mouse drops off in middle of transmitting 3 or 4 byte data packet, and as such it gets "out of sync". Or something else hotplug-related. But it's definitely not something you need a CPLD chip to solve. Rio444's ISA card uses an AVR microcontroller to interface the mouse after all.

Anyways, I bought a cheap KVM switch from local second hand marketplace, when it gets here I'll check out what's happening there with a logic analyzer.

Reply 19 of 37, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

They types of KVM people generally use which give these sorts of issues are the "active" ones which emulate a mouse being connected even when switched away.

If the cheap KVM you got is just a passive switch it won't really help