3

So I`ve got that mouse with serial connector. It is named serial so it should be easier to connect than even a ps2 mouse, right?

I can`t find any instruction on it. Or should I see instruction on ps2 mouse and plug in the same wires? Btw mouse has only 4 wires connected inside, as usual PS2 mouse. I want to connect it the same way as ps2 mouse to get easy readings of rotary encoder. serial mouse

UPD1: I`ve tried to connect it like a PS2 mouse according to this schema with no success. So either a mouse is dead or it uses some kind of different connection? PS2 to serial mouse

1
  • It might be easier, but you have to figure out how. For PS2 you can use copy-paste existing code, and get it to work in minutes.
    – Gerben
    Jul 4, 2016 at 12:30

1 Answer 1

3

A serial mouse is designed to connect to a PC's true serial port - it's an actual RS-232 device using ±5V. As such it won't connect directly to the Arduino's RX/TX pins, you'll have to go through an RS-232 transceiver chip.

It also gets its power from the RTS line, but I never knew what the current draw of one of those things was - be careful trying to power it from the Arduino!

Different mouse manufacturers used different protocols. The original standard used a three-byte protocol at 1,200 bps 7N1. The encoding had the following properties:

  • The leading bit of the first byte of the packet was set - all future bytes had the leading bit cleared.
  • The first byte had the buttons' states, and the most significant bits of the X and Y deltas;
  • The X delta was encoded in the second byte;
  • The Y delta was encoded in the third byte.

    http://paulbourke.net/dataformats/serialmouse/

Other manufacturers added things like extra buttons and scroll wheels that didn't fit in the packet structure. So they modified the protocol, but stuck with some features of the original:

  • The data rate was (usually) still 1,200 bps, although sometimes they used 7N2 or 8N1 instead.
  • The leading bit was still used to indicate start of packet;
  • The X, Y (and Z) wheels still indicated deltas.

    http://www.cpcwiki.eu/index.php/Serial_RS232_Mouse

2
  • Thanks for the answer! So I should get a grip on a RS-232 transceiver chip and serial mouse protocol. Fair enough. Jul 4, 2016 at 12:34
  • 1
    If you really want to pursue it, but it would be easier all around to use a PS/2 mouse, not only electrically but because most Arduino's don't have a 2nd UART to spare, and implementing the PS/2 mouse synchronous signalling in software is small and more efficient that implementing a serial UART in software. Jul 4, 2016 at 16:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.