Since most of us are long past the days of hardware serial ports, the USB to serial adapter has become a mainstay on the hacker’s tool belt. While they’re cheap and convenient, USB to serial adapters aren’t always the easiest thing to use: there’s always the issue of what COM port Windows is calling your USB to serial adapter, or what TTY device it is in Linux/OS X.
[Avishay] has a very, very cool solution to this problem: put a display on a USB to serial converter to tell the user what COM port the OS labeled it as.
The prototype runs on a PIC 18F2553 dev board. When plugged into a Windows box, the serial adapter sets up two USB devices. The first device is a Communications Device Class that handles the grunt work of the USB to Serial connection. The second USB device is a proprietary piece of software that grabs the current COM port number. This number is displayed on an LCD thanks to a host application on the Windows PC that reports the COM port of the Serial adapter.
It’s one of those ideas where you didn’t know you needed it until it was presented to you. An excellent tool from [Avishay], although maybe a pair of 7-segment LEDs would make it a more manufacturable device.
When you don’t want to use I2C or SPI, and MIDI and DMX are old hat, [Scott] comes along and invents a very strange networking protocol that is just daisy chaining a few Arduinos together with serial connections.
Strange as it may seem, this networking protocol actually makes a whole lot of sense. [Scott] is working on an animatronic birdhouse in the vein of Disney’s Imagineers and needed to network a whole bunch of Arduinos without using up precious IO pins.
The networking stack [Scott] came up with capitalizes on the hardware UART in each Arduino by simply daisy-chaining several boards together. By adding an FTDI breakout at the beginning of the chain, [Scott] can control dozens of Arduinos straight from a terminal
[Scott] isn’t using off-the-shelf Arduinos for this project – a few months ago he found 100 Arduino-compatible stepper motor controllers while dumpster diving at his job, giving him more than enough nodes to come up with some pretty crazy networking protocols. It’s a great use of the hardware he has on hand, and a very clever solution to controlling dozens of microcontrollers at once.
Check out [Scott]’s demo after the break.
Continue reading “Inventing networking protocols for dozens of Arduinos”
Not knowing what’s going on inside of your electronics projects can make it quite difficult to get the bugs out. [John] was bumping up against this problem when working on wireless communications between several devices. At just about the same time his friend came up with a script with lets you monitor multiple serial devices in one terminal window.
We’re used to using minicom, a Linux package that does the job when working with serial connections of all kinds. But [John] is right, we’re pretty sure you can only connect to one device per minicom instance. But [Jim’s] Python serial terminal (available in this git repository) allows you to specify multiple devices as command line arguments. You can even use wildcards to monitor every USB connection. The script then automatically chooses a different color for each device.
The image above is from [John’s] wireless project. Even without any other background this shows how easy it is to debug this way rather than tab back and forth between windows which gets confusing very quickly.
This is a simple iOS debugging tool that will take no time to solder together. There’s even a chance that you already have everything you need on hand. The hack simply connects an RS232-to-USB converter to a breakout board for an iPod connector.
The hardware is aimed not at stock iOS systems, but as an aid to those who wish to run alternative operating systems on them. When the OpeniBoot package is run on an iPod Touch or iPhone it enables a serial terminal on pins 12 and 13. The FTDI breakout board takes these as RX and TX and makes them available to your terminal program of choice via USB. Speaking of USB, you may already have noticed the black cable leaving the right side of the image. Using the terminal doesn’t limit your ability to use the device’s USB functions.
Up next on the continual march of expansion boards for the Raspberry Pi is the Raspy Juice, a board designed to break out the GPIO pins on the Raspberry Pi into servo, serial, and other miscellaneous connections.
The Raspy Juice features an ATMega168A microcontroller connected to the Raspberry Pi as an I2C slave device. Not only does the addition of a microcontroller add analog inputs to the Raspberry Pi, but also RS232 and RS485 serial connections, a real-time clock, and four JST plugs for hobby servos.
Because the Raspberry Pi can be powered from the GPIO header, the creator, [NTT] added a buck regulator so batteries or solar cells can be used to power the Raspberry Pi.
The Raspberry Pi is a terribly awesome robotics platform, but sadly limited by its capability to drive motors and servos natively. The Raspy Juice adds some much-needed capability to the Raspberry Pi, and we can’t wait to see a robot take its first steps with this expansion board.
If you’re attempting to debug a serial bus with a bare-bones logic analyzer, you’re going to have a bad time. Most of the inexpensive analyzers available don’t have a serial pattern trigger, or a way to start recording data after a specific pattern of bits comes down the pipe. [Neil] sent in a great little project that adds a serial trigger to these analyzers, we’ve got to hand it to him for designing such a useful board.
[Neil] designed a small board featuring a CLPD that converts serial data to parallel data. By setting the trigger condition of the logic analyzer to any 24-bit pattern he wants, it’s possible for [Neil] to sniff a serial bus exactly when he wants to.
The circuit is quite minimal, basically just a 100-pin CLPD and a bunch of 0.100″ header pins. It’s a useful tool, and although we couldn’t find the board file to make our own, we’re sure [Neil] will be providing that shortly.
Those Raspberry Pi boards are flying into the mailboxes of tinkerers all around the globe, so our tip line is currently awash in a deluge of Raspi hacks. Here’s two that came in over the weekend:
First up is [reefab]’s port of Quake II for the Raspberry Pi. The build is based of Yamagi Quake II and is mostly playable. The Quake III port for the Raspberry Pi is old hat, but we’re happy to relive the pulse-pounding action of Quake II any day.
Next up is [Joonas]’ take on getting a serial console up and running with the Raspi. The Raspberry Pi has a UART serial console on its 26-pin header, but you can’t just connect those pins to a serial port. To shift the +/- 12V down to the 3.3 Volts the Raspi can understand, [Joonas] used a MAX3232 – the 3.3 Volt version of everyone’s favorite RS-232 transceiver. With a breadboard and a couple of caps, it’s easy to connect your Raspi to a serial console. Neat.