Unit Testing of Gamepad Interface

A project log for Beagle Entertainment System

Turning the BeagleBone Black into a retro gaming appliance

Andrew HendersonAndrew Henderson 04/15/2016 at 22:150 Comments

I finally took some time to sit down and unit test the line-level converter subsystem of the BESCape. I was very wary of the fact this design mixes 5V and 3.3V signals using FETs to convert between line levels, and I've blown BeagleBones in the past by applying 5V to a 3.3V GPIO by accident. So, I was triple-checking everything with meters and scopes prior to plugging it into an actual BBB. Beyond the physical interfacing and line level conversion for the SNES gamepads, I have the RTC and EEPROM subsystems left to test. Those are both I2C and should be a piece of cake, though.

It actually works! And no smoke came out of the BeagleBone Black, either!

I am currently bitbanging the GPIO interface to the controllers from Linux userspace, but I'll be moving to using the PRU to do that for me.