Hacking USB Serial Port Adapters

keyspan_all (Custom)

The folks at Openschemes.com have written up an article on how to convert a USB serial port adapter to a low voltage serial interface for interfacing with microcontrollers. Though you can always just buy one, this is a fairly quick and cheap solution, especially if you are in a pinch or don’t have access to a retailer. The specific models you should watch for, are the ones with two chips, a microcontroller and a line translater.They go through the process of finding exactly where to patch in to add an extra interface. It only takes a couple wires and you are ready to go.

Not only can you use this as your serial connection to another microcontroller, but you can actually take control of the one on the board itself. If you load it with the drivers from TI, you gain access to the flash memory and can do whatever you want. They don’t go into much detail here though, stating that they’ll write another article on that.

We thought this little bugger looked familiar so we went digging through our archives.  Sure enough, we found this system in action back in January of 2008.

[via Hacked Gadgets]

How-to: USB Remote Control Receiver

Now that we listen to MP3s, and watch XVIDs or x264s, a computer is the entertainment center in at least one room of most homes. Unless you have a special HTPC, though, you’re probably stuck using the keyboard to pause, change the volume, and fast-forward through annoying Mythbusters recaps. PC remote control receivers range from ancient serial port designs (who has one?) to USB devices not supported by popular software. In this how-to we design a USB infrared receiver that imitates a common protocol supported by software for Windows, Linux, and Mac. We’ve got a full guide to the protocol plus schematics and a parts list.

Continue reading “How-to: USB Remote Control Receiver”

RS-232 USB Madness


If you’ve been amused by the lengths people go through to speak to a serial device these days. [timmeh] just took the cake. He build his own frikkin’ tiny RS-232 to USB interface with the diminutive SIL CP2101. The package on it is QFN-28 (If PLCC is Darth Vader, QFN-28 is his mean little brother.) That said, if you prefer to work with stuff that talks TTL or RS-232, this could be a handy add-on to pop a USB port on your project. (Oh, look, they have samples…) Sure, we’ve beaten the serial connections to death, but they’re so handy we just can’t resist. It may be a decent way to add a serial port to your laptop. (Picture this: dell’s bluetooth cards are usb devices – you could add one of these without even voiding your warranty.)

Dial-Up Is Still, Just Barely, A Thing

In an era dominated by broadband and wireless cellular networks, it might come as a surprise to many that dial-up internet services still exist in the United States. This persistence is not a mere relic of nostalgia — but a testament to the diverse and uneven nature of internet infrastructure across the country.

Yes, dial-up internet, with those screechy, crackly tones, remains a useful tool in areas where modern, high-speed internet services are either unaffordable or unavailable. Subscriber numbers are tiny, but some plough on and access the Internet by the old ways, not the new.

Continue reading “Dial-Up Is Still, Just Barely, A Thing”

The Pi Pico replacement board in question, assembled, held diagonally in some type of holder

ProPico For Your Pro Pico Needs

Ever feel like the Pi Pico board could be doing way more given its footprint? Does it bother you that the RP2040’s ADC quality is even further decreased because of the noisy onboard switching regulator? Miffed about decisions like the MicroUSB socket, the 2MB flash, or lack of the reset button? [Dmytro] brings us an open-source Pi Pico design, sporting the same RP2040 and a fully compatible footprint, but adding a number of improvements to its surroundings.

There’s a good few additions, all of them hacker-friendly – [Dmytro] adds comfortably-spaced reset and boot buttons, a USB-C socket, a dedicated low-noise voltage reference for the ADC, one more LED, and an I2C EEPROM footprint socket that is compatible with FRAM chips. Everything worth preserving is preserved – the pinout stays the same, including the SWD connector, which now sports an extra RESET pin. The bottom side USB testpoints remain, with only the four testpoints changed for more useful signals. Last but not least, the switching regulator is replaced by the venerable 1117 – you lose the ability to power your Pico from two AAs, and the capacitor series resistor requirement isn’t great, but you can easily put one of the drop-in 1117 replacement regulators on there.

What’s great is that the design is fully open-source, with KiCad files available. Want to design your own Pi Pico footprint board, improve upon this one even further, or maybe make a more tailored one? Treat yourself to the GitHub repository! There’s also a pinout diagram and a KiCanvas schematic for all your tinkering needs. We’ve covered drop-in replacements for classic drawer-inhabiting parts like the Pi Zero, for the 7805 (twice!), the 6502 CPU, and even for the DE9 serial port connector. No matter the purpose, they’re always a joy to see.

Logic Analyzers: Capabilities And Limitations

Last time, we’ve used a logic analyzer to investigate the ID_SD and ID_SC pins on a Raspberry Pi, which turned out to be regular I2C, and then we hacked hotplug into the Raspberry Pi camera code with an external MCU. Such an exercise makes logic analyzers look easy, and that’s because they are! If you have a logic analyzer, you’ll find that a whole bunch of hacks become available to you.

In this article, let’s figure out places where you can use a logic analyzer, and places where you can’t. We’ll start with the first limitation of logic analyzers – capture speed. For instance, here’s a cool thing you can buy on Aliexpress – a wristband from TTGO that looks like a usual fitness tracker, but has an ESP32 in it, together with an IMU, an RTC, and an IPS screen! The seller also has an FFC-connectable devboard for programming this wristband over UART, plus vibromotor and heartrate sensor expansion modules.

You can run C, MicroPython, Rust, JavaScript, or whatever else – just remember to bring your own power saving, because the battery is super small. I intended to run MicroPython on it, however, and have stumbled upon a problem – the ST7735-controller display just wouldn’t work with the st7735.py library I found; my image would be misaligned and inverted.

The specifications didn’t provide much other than “ST7735, 80×160”. Recap – the original code uses an Arduino (C++) ST7735 library and works well, and we have a MicroPython ST7735 library that doesn’t. In addition to that, I was having trouble getting a generic Arduino ST7735 library to work, too. Usually, such a problem is caused by the initialization commands being slightly different, and the reason for that is simple – ST7735 is just the name of the controller IC used on the LCD panel.

Each display in existence has specifics that go beyond the controller – the pixels of the panel could be wired up to the controller in a bunch of different ways, with varying offsets and connection types, and the panel might need different LCD charge pump requirements – say, depending on the panel’s properties, you might need to write 0x10 into a certain register of the ST7735, or you will need 0x40. Get one or more of these registers wrong, and you’ll end up with a misaligned image on your display at best, or no output at worst. Continue reading “Logic Analyzers: Capabilities And Limitations”

Spaceballs Get Serialized

As much as we’d love a TV show version of the cult classic movie, we’re talking about a different kind of Spaceball. While there have been many iterations, [Evan] had a Spaceball built by a company known as Spacetec in 1991 and rebranded by HP. Being an older peripheral, he used the Orbotron 9001, a converter from RS232 serial to USB, to interface his Spaceball with modern devices.

The spaceball was one of the first 6 degrees of freedom controllers, useful for CAD and some games that supported it. It’s famous for being involved in the NASA Mars Pathfinder mission as it was used to control the Sojourner rover. In addition to the perfect orb, it also features eight handy buttons.

The Orbotron is a USB-capable microcontroller (Atmel SAMD21) designed to support the Spaceball 360, 4000, and 5000 series. Ultimately, after tinkering with the code to support the 2003 and 3003 Spaceballs, he had some reasonably usable with some rough edges. For example, acceleration curves still need tweaking, and going too fast can get you stuck. The downside was the rubber coating on the ball that had degraded over the years, making it horrendously sticky.

All the code changes are on GitHub. We’d love to see more spacemice integrated into things, like this ergonomic keyboard. Or even an open-source version of a spacemouse. After the break, we have a video of [Adafruit] showing a Spaceball 2003 working with a serial adapter.

Continue reading “Spaceballs Get Serialized”