USB Sniffer & PS2 Sniffer Plank + Firmware for BP

USB-PS2 Sniff & Shift Plank

What do you think of this name for the Plank?

Give this response a Like if you like the name! :fire:

2 Likes

Thank you for the info about low/full speed pull-downs. I guess that is solved with a slide switch then.

Yes. The PIO limitations probably make a unified plank with all these features unfeasible.

At the very least “someone” will need to write all the firmware/PIO stuff for these features before we can start designing a plank at all. We don’t know the PIO requirements for all of this.

The PIO limitations very much determine what pins are used, which will dictate how the plank is designed. At this point I can’t make a board because I don’t know those requirements.

This is a great wishlist, but I feel like perfect has become the enemy of good. The first step for such a “complete-ist” design is to do all the firmware engineering, then we can start to talk about the plank requirements.

On the other hand, I can make a simple adapter based on the existing developed firmware and you will receive it in a couple weeks. As you develop more features/determine actual requirements, I can modify the design incrementally based on the new knowledge.

At this point, we can only support:

  • PS/2 sniff
  • USB sniff

Everything else is unknown. PS/2 and USB host are not possible.

This is a huge issue, and there’s really nothing I can do design wise until it is addressed. It will 100% determine what pins can be used and in what order.

Alright @ian! Let me just finish the firmware (sniff PS2 & USB) with the DIY Plank prototype I made at home— no need to do anything else for now, this setup is enough.

Once I have a stable version, I’ll make a PR,
and after PR I’ll build a POC for PS/2 Host and PS/2 Device, and we’ll move forward with the first official Plank.

Sound good? :grinning_face_with_smiling_eyes:

4 Likes

I’ve had to pause firmware development because I’m super busy these days organizing the hardware hacking bootcamp (40 students = a lot of work :sweat_smile:).

I’ll pick it back up at the end of the month, and hopefully get it finished. Just need a little patience!

4 Likes

I cleaned up the project and added some basic labels. I’m going to see if I can get Supul to route this one so it looks as nice as possible. I think I’d like all the connectors forward facing (right edge), and add little extensions for the support screws so the board isn’t too clunky.

Or maybe like this?

2 Likes

I would prioritize the design to keep the USB traces as short, direct, and parallel as possible, with no crossing tracks on the opposite layer (paranoic mode on xD), since that’s the most sensitive part when sniffing full-speed USB.

As for the rest, feel free to lay it out however works best for you. :blush:

1 Like

The preview looks good. Very pleased so far.

1 Like

I think the PS2 in/out labels should be swapped. Also some labels for the switch position and trigger pins. Very happy with the layout though.

Routed board in git here.

Will hold off sending PCBs out until I get some feedback.

SZLCSC part numbers added to the “spreadsheet” in KiCad. We’ve had good luck speeding prototypes by using their BOM upload tool.

1 Like

Feedback:

Edge of board

The PS2 port is really close to the plank connector. If you’re sure it has enough clearance for easy insertion / removal, then OK. Else, maybe make just 1-2 to check for ease of plugging in / removal?

Is USB OUT port a USB-C connector?

Ignore this section if not, else…

I recommend against making it USB-C. The USB IN is not USB-C … thus all the extra USB-C connections are lost anyways.

Moreover, this would suggest that the plank has some USB-C capability, which is at best confusing.

I’ve also had more structural failures with USB-C sockets in products … older-style USB connectors seem to be more robust due to larger ground solder area.

USB Connectors / Labels

Is the USB IN the same as a host USB port? That would seem backwards to me … I’d expect a device-style input port for USB IN, and a host-style output port of USB OUT.

Maybe it’s a labeling thing? e.g., which side is upstream vs. downstream? Maybe label as DEVICE and HOST instead? It’s a bit redundant to list USB at all in the label.

Conclusion

Looks great overall. If this plank works as expected, it’ll be a great addition to the planks!

1 Like

Good suggestion on device vs host. The idea is most USB keyboards have a usb A connector, so we provide the socket. The USB C was chosen over B because most people have a USB C phone cable immediately handy, while the B is more a “I have one for my printer” cable these days.

Updated labels to device and host.

2 Likes