Chipcon CC1110/CC1111 serial bootloader

[Joby Taffey] just rolled out a serial bootloader for the Chipcon CC1110/CC1111 processors. The project is called CCTL and aims to make prototyping with the Girltech IM-ME a bit less tedious. Up until now firmware for the device had to be pushed in with a GoodFET or TI proprietary programmer which was quite slow. But this bootloader makes it possible to push your code via the chip’s serial port at 115200 baud. But the pretty pink pager isn’t the only device using these chips and to prove it [Joby] send this picture of all the electronics he has on hand running this architecture.

Once the 1KB CCTL bootloader has been flashed to the chip, a serial port or USB to Serial converter can be used as a programmer. [Joby] warns that the Chipcon processors are not 5V tolerant so you need to either use a 3V serial converter or add a level converter into the mix.

CCTL provides the features you’d expect from a bootloader. It uses the chip’s watchdog timer to guard against failure due to broken code. And there is an upgrade mode available at power up. Instruction for use are included in the Github repo linked at the top.

Vintage VT100 terminal computing…with a Beaglebone

decbox

A cool little project came our way, which we thought might be of interest to some of you vintage computer buffs. [Joerg Hoppe] wrote in to share a DEC VT100 terminal he resurrected in a novel fashion.

His “DECBox” system was created with a Beaglebone, which he uses to run a wide array of PDP11/VAX terminal emulators, thanks to the SIMH project. [Joerg] constructed an expansion shield for the Beaglebone that provides several UART connections, enabling him to connect it to his DEC terminal over a serial interface. Since he added several serial plugs to the Beaglebone, he can even run multiple emulator installations in parallel on different terminals without too much trouble.

[Joerg’s] efforts are mainly for a vintage computer display he is constructing, but setting up such a system of your own should be no problem. If you happen to have one (or more) of these boxes sitting around collecting dust, this would be an easy way to get them all up and running without bulky external hardware, since the Beaglebone tucks nicely into the rear expansion slot on a VT100.

Be sure to check out his site for more details on how his DECBox software package works as well as for more pictures of vintage terminal goodness.

Android 3.1 devices have USB host mode. Here’s how to use it.

With the coming of Android 3.1 you finally have the option of using the device as a USB host. This may be through a USB OTG (On-the-Go) adaptor, but nonetheless it’s a feature which was sorely missed until now. [Manuel] put together a guide on using Android as a USB host. As you can see, his example hardware is an Arduino board but this is applicable with just about any device.

The tutorial implements a test app for the Android device where a slider will set the brightness of the Arduino’s on-board LED. The Arduino sketch is nothing special, it just reads data received on the UART. This means that it doesn’t care if it’s connected to an Android, PC, OSX, or Linux system, it goes about its business until the RX interrupt updates the data variable.

This will greatly simplify a lot of projects we’ve seen, such as this message scrolling belt buckle. That used extra hardware to make the Arduino the host, a step that is now necessary.

AltSoftSerial looks to speed up Arduino software UART

So let’s say your using an Arduino in your project. You already have the hardware-based serial interface working with one portion of the project and need a second serial port for unrelated hardware. The obvious solution is to write one in software. But this is a place where working in the Arduino environment gets really hairy. Since there’s a layer of abstraction between the code and the hardware interrupts, it can be difficult to know if you are going to have timing problems. But there’s a new library available which seeks to reduce the latency of software-based serial communications so that you don’t have to worry about it.

It’s named AltSoftSerial because it is a software-based serial library that is an alternative to the NewSoftSerial package. The former can function with just  2-3 microseconds of latency, while the latter has as much as a 174 microsecond hit. If it functions as advertised that’s quite an improvement. It’s not hard to put together a hardware test platform, and the example program is only about a dozen lines of code (which is the beauty of working in this environment) so give it a try if you have a free hour here or there.

Building LED walls on the cheap

Around this time last year, [KopfKopfKopfAffe] was enlisted as a set designer and was told to build some sort of light effects for electronic music parties. The budget for the project wasn’t much at 200 Euros, but he did manage to build decent 5×5 RGB LED matrix that is fully controllable by a computer.

[KopfKopfKopfAffe] didn’t have the time or money to wait for manufactured PCBs, so a bunch of perfboard was placed in a CNC mill with a pen to act as a plotter. All the lines that needed soldered were drawn on by the mill, a feat that probably saved hours of looking at the design before committing solder to iron.

A total of five boards were constructed, each one capable of controlling five RGB LEDs. Each board can be dasiy-chained with an RS-232 serial connection for further expansion. The only thing that’s needed to control the matrix is 17 bits that includes an address and RGB color data for each LED. The system only cost about 10 Euros per node, but we think that could be significantly reduced by leaving out the Molex and DB-9 connectors. [Kopf] project turned out very nice, check it out after the break.

Continue reading “Building LED walls on the cheap”

Commandeer X10-based home automation with your favorite microcontroller

X10 has been around for a long time. It’s the brand name for a set of wireless modules used to switch electrical devices in the home. There’s all kinds of different units (bulb sockets, electrical outlets and plug pass-throughs, etc.) and they’re mass-produced which makes them really inexpensive. Whether you already have some X10 controlled devices or just plan to add them later, we think you’ll find [Jeff Ledger’s] post on controlling the system with a Propeller chip interesting. The technique is not Propeller specific and will be simple to port to your microcontroller of choice.

[Jeff] got his hands on an X10 Firecracker. This provides a DB-9 serial connection meant to be used for computer control. But the interface is so simple all you need is two I/O pins feeding the level converter circuit seen above. You can get the TC4427 for less than a dollar, and the Firecrcker module for as little as $6. Since [Jeff] has already covered adding Ethernet via a ENC28J60 he goes on to detail a web-server that lets him switch his devices, all served from the Propeller chip.

Here’s a different ENC28J60 Ethernet tutorial for those interested in webpages from microcontrollers. And then there’s also a ZigBee home automation project if you’re not warming up to the idea of using X10 modules.

Pushing FPGA config files via serial using ‘cat’

[Andrew] is trying to buckle down and hammer out his PhD project but was surprised by the sorry state of the configuration options for his FPGA/ARM dev board. Using JTAG was painfully slow, so he studied the datasheet to see if there was another way. It turns out the Xilinx FPGA he’s using does have a slave serial mode so he came up with a way to push configuration from the ARM to the FPGA serially.

Four of the connects he needed were already mapped to PortC pins on the AT91SAM9260 ARM System on a Chip. He ended up using the EN_GSM pin on the FPGA, since there is no GSM module on this board; connecting it to the microcontroller with a piece of wire. Now he can SSH into the ARM processor, grabbing information on the FPGA from /dev/fpga0. When it comes time to program, it’s as easy as using the cat command on the binary file and redirecting the output to the same hook.