This is an IOCREST-brand USB to RS-232 serial adapter, which I bought from a seller on AliExpress. It arrived in exactly the same time as an identical eBay listing said it would, for literally half the price - if eBay is still your default go-to for weird stuff like this, keep in mind dropshippers are probably fleecing you.

This adapter contains an FTDI chipset, not the much cheaper CH340, and it's time to see if this is the reason I couldn't get serial mice working natively on Windows 10.

And, yep - with Windows 10 told to enable serial mouse detection on boot, all you need is the right kind of adapter installed and a serial mouse plugged in when you boot up. Here's the FTDI-derived one working with my Microsoft Home serial mouse - you can see the adapter blinking to say it's receiving data when I move it around. #retrocomputing

So, question: Can I get some suggestions for software / tips and tricks for recording and reviewing raw data coming off a serial port? I'm a very long way from trying to reverse-engineer a novel protocol myself, but that's the eventual goal, and the next step I'd like to take is compare what I'm seeing coming out of a serial mouse with documentation online to make sure I really understand what's going on and how all this works.

Uh... #retrocomputing #reverseengineering ? boosts welcome.

Thanks for the suggestions everyone, I really appreciate them whatever their cost or niche. I'm sure I'll find enough resources here to carry a long way into the projects I have in mind here.

First draft for a less janky version of the first answer here: https://electronics.stackexchange.com/questions/63865/rs-232-serial-sniffing

All nine lines are continuous from the PC end to the Device end (device end is male with pins, all others are female sockets), with the TX and RX lines also tapped out to the TX lines of the left and right ports, and GND is shared between all four ports.

I'll be adding this to my #SimpleBreakouts project once validated, so what might make this more useful to others? All 9 lines broken out to headers maybe?

RS 232 serial sniffing

We have a task in hand to sniff a RS232 protocol in a certain industrial automation setting (we have been asked to do this legally by the manufacturing company itself). We are planning to send a

Electrical Engineering Stack Exchange

Added a 9-pin header right across the middle with pin labels. The socket mount points in these default DB-9 #Fritzing footprints aren't normally points I can attach wires to, but plonking a via in the middle of each and running a wire between those seems to produce the desired result (top right) - both in OSHPark's and JLCPCB's previews.

I know there's folks looking at this and cringing hard, but I'm not aiming for best practices here, just something that works okay for my purposes.

General question: with the knowledge that DB-9M and DB-9F are "male" and "female" versions of the same plug, and that there's a total of 4x DB-9 ports around the edge of this board, is it obvious that the arrows here mean "you need three female ports, one on the top and two on the sides, and one male port at the bottom"? I can fill the back of this with instructional text, but I think I can avoid that by making some assumptions if someone already knows they want a few copies of this board made.

Okay, here's my final answer for now - time to walk away from this project for a couple of days to see if any bright ideas occur in the meantime, so they don't occur while V1 of the board is in manufacturing.

"Host" is not the right word to describe either end of a technically equal, bidirectional connection, but it's that end that defines the pinout, and in the context of "A PC, or an Arduino, plugged into a serial mouse or gaming controller from the 90s", it's fit for purpose. #PCBDesign

Okay, this is *really* the last version for today, with better labels and some extra ground pin headers as suggested by @ilneill - it's getting quite crowded for a completely passive PCB, but I still think it's sufficiently self-documenting given the assumed knowledge of someone who already knows they want a board that does the exact things this one does.

The extra 9-pin sockets I ordered are just around the corner, so I decided it was time to get the PCBs on the way as well - now would be an extremely funny time for someone to pipe up and suggest an obvious change or addition!

I love OSHPark, my usual go-to, but <AU$1/board on special is tough to argue with for a throwaway prototype, especially when I get to pick my own colour (I went with black to get maximum contrast and readability from the labels), so JLC it is for this project.

Serial ports: Yes
Pakij! These arrived today unannounced and delivered by what I can only describe as a teenager in his mum's hatchback, along with the LED light bars for my photo box, so I think Aramex might be having a bad week (tracking says the LEDs haven't been picked up from the seller in Sydney yet). Still, it's a pleasant surprise, and I think I'll be doing some serial stuff this weekend.

Nine months later, I finally have baby's first logic analyser in the post, so I thought I'd take a moment to solder one of these bad boys up.

Would anyone else in Australia like one of these? I have five and only need one.

Its first project will actually not be anything to do with RS-232 - early #SEGA controllers also used a 9-pin D-sub connector, so this same thing can be used to tap those pads' signals as well.

My goal here is not to re-invent the wheel, but to reproduce Jon Thysell's excellent work in deconstructing the SEGA 3- and 6-button controllers' protocols for my own learning and understanding: https://jonthysell.com/2014/07/26/reading-sega-genesis-controllers-with-arduino/

This isn't the SEGA tower of power, it's the... subterranean tunnel of terror?

Reading Sega Genesis controllers with Arduino

NOTICE: This research and implementation in this post is not 100% correct. Please check out my SegaController Arduino library for better code and How To Read Sega Controllers for details on how it โ€ฆ

Jon Thysell
@timixretroplays That's been my experience with Aramex here too. Even had deliveries on weekends and public holidays.

@timixretroplays It is a while since I have studied "real" RS232 connectors.

Some comments:

I had to look at the traces to understand whether the "tap" sides were PC or Device. Technically both sides are Tx, but from different ends. Maybe label one "PC Tx" and the other "Dev Tx".

The square pad on pin 5 of the device DB9 is also misleading.

A double row of holes in the middle might be helpful in some situations where the hardware handshaking needs to be jumpered about.

I hope this helps ๐Ÿ™‚

@ilneill hey, these are good suggestions, thanks!

"PC TX" and "Device TX" is a great idea - it's less about telling which device is being tapped and more about capturing data sent from both ends, so that's a good call.

If a double header row in the middle might be useful in some cases, I'll add that.

The square pad being in the wrong place on the device port won't matter once everything's soldered in place, and would be a huge effort for me to do anything about, so it'll have to stay for now.

@timixretroplays If you do add the double header row, remember to let them break/make the signals. Allowing either straight through, no connection or "crossed" connections.
@ilneill ok, that might be a bit more of a complex use case than I'm planning for. I'll be uploading the files for this board to my little GitHub repository for simple boards like this, so it'll be available for others to modify if that would be a useful feature - or I can add it at a later date if there's demand for it.
@timixretroplays I agree, it is a bit more complex. In which case a single header row, to allow the signals to be scoped, would be sufficient. In that theme, making the Gnd pin easy to clip onto would help a lot.
@ilneill so for the small number I'll be building myself, I was just going to solder in some regular straight pin headers - I've never used a proper oscilloscope but I've seen probes used with little spring-loaded hooks, which should work with those headers. Is that what you had in mind, or are you suggesting I do something extra with the GND pin to highlight it on the board, or something like that?

@timixretroplays Probe Gnd connections are usually small crocodile clips. That tends to get a little busy in tight spaces. A bigger Gnd connection with more space is what I am thinking.

You might like to get a scope. They open up a new level of understanding when you can see your signals. Are they as sharp, as clean and as big or small as you are expecting? How wide are those pulses? Etc.

I have an Owon VDS1022i USB scope. I find it very useful up to about 5MHz, and well worth the ยฃ75 it cost.

@timixretroplays wait, that looks mirrored between PC and device? Eg pin 1 on PC is now pin 9 on device. You could get away with it if you flipped the device socket to the other side of the board.

I think tying the HW flow control signals out to their partner makes sense and would be useful, but itโ€™s been a long time since Iโ€™ve dealt with them I canโ€™t remember which ones should go to what.

Also, shield is not ground. Tie the connector shields together, but donโ€™t tie the shields to ground. Do a 4-layer board, inner 2 layers are ground planes. Add a ground return via for every signal via that goes from front to back layer

@jpm the top port is a female socket and the bottom one is male, so pin 1 is on the left of both in this case - I don't think they bothered changing the square pin surround between the male/female part footprints. I could be totally wrong on this, but following the pin numbers it seems right, and I can put one of the ports on the other side if needed.

I'll tie the shields together, I overlooked that's what this one does - the image below is all I'm trying to recreate, in handy PCB form.