I have deciphered how the main board of a Canon Pixma MX340 multi-function inkjet commands its control panel to toggle two onboard LEDs, one more step towards understanding how those two components work together. Now I want to incorporate that new knowledge to my serial data filter program and add a second channel of serial data.

To sit alongside my trusty and proven USB serial adapter, I dug up an inexpensive USB serial adapter I bought years ago. It was still unopened in its package. I don't remember what I originally bought it for, but apparently I didn't end up using it. The device is a blue USB plug with four wires coming out of it, a very generic form factor that still comes up for searches on "TTL Serial USB adapter".

I plugged it into the USB hub and it was recognized as a USB serial device. I wired it to receive MX340 main board commands in parallel with the control panel. I wrote a few lines of Python to read from this adapter and it was a mess. A LCD screen update -- which I had established to be 1020 bytes long -- was received as 65 bytes. Not only did the majority of data go missing, the bytes that came through didn't resemble the expected data at all.

I first thought I made a wiring error and doubled checked my connections. Then I thought there was a coding error. When neither turned up a plausible explanation, I flipped the channels connected to my two serial adapters. Now my trusty USB serial adapter reported the expected 1020 bytes of data in a LCD screen update, and this new-from-package adapter reported gibberish instead of proper control panel button scan codes.

This USB serial adapter sucked straight out of the box. Searching on my Amazon order history, I found my order for this adapter in September 2019. I was curious to see if this adapter caused problems for other people so I clicked on the product link, and that went to an error page. This product was so excellent its listing had been pulled! It was probably filled with negative reviews. I would have written one if I had opened the package as soon as I got it and realized it was junk. It had cost $7. Less than $12 I paid for my working adapter (purchased June 2018) but $7 is obviously too much for garbage. Since it's far too late for me to return this device for a refund, I shrugged and chalked it up to lesson learned. I went back to my order history, found the invoice for the USB serial adapter (*) with a proven history and ordered another unit.


This teardown ran far longer than I originally thought it would. Click here to rewind back to where this adventure started.

(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.