A while ago we did a tutorial on how to reverse engineer USB protocols using a USB logic analyzer, for when you have to develop your own USB drivers (say for a product that only comes with Microsoft support!) We also wanted to point out that if all you’re doing is debugging or reverse-engineering a basic product that uses serial (a COM port) you don’t need to shell out for a analyzer box! Instead you can use a serial port monitor, a piece of software that can spy on the COM port. These can also be handy when you have to debug software you wrote – to see what’s really going out on the hardware.
We tend to need to reverse-engineer stuff in windows so we use a nicely written piece of software called PortMon. Its a little old but it works great!
For example, while reverse engineering how to use our serial JPEG camera, we had a windows software that could control the camera but we wanted to port it to Arduino (or any microcontroller really). Since the software used a serial COM port, we started up PortMon, then started up the driver software
Then whenever data was sent back and forth, we’d get the data in HEX. For example here you can see the first READ (data sent out to the camera) as “76 00 31 00 00” and the WRITE (reply from the camera to the computer “56 00 31 0C 01…”
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi
EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey
I once used this ProtMon program before. It was very useful for determining to settings top use a mobile broadband usb device on non-Windows operating systems 🙂
I once used this ProtMon program before. It was very useful for determining to settings top use a mobile broadband usb device on non-Windows operating systems 🙂
This application only works on 32-bit systems, what would be an option for 64-bit?