Circuit Design For Multiple UART Connections

[Bill Porter] has a tip for designing circuits that have multiple connections to a single microcontroller UART. This stemmed from a review of a friend’s circuit design that used the UART in the project, but also called for an FTDI chip in order to reprogram via USB and a bootloader. Unlike the schematic above, the circuit called for straight connections without any resistors. With that design, a conflict will occur if two devices are connected and attempting to communicate at the same time.

The fix is easy. [Bill] discusses how to prioritize the connection by adding the pair of current limiting resistors seen above. This helps to ensure that damage will not occur, and that the FTDI chip will take precedence. Now the external hardware will not preclude the FTDI chip from accessing and programming via the bootloader. The tutorial is intended for those rolling their own boards out of an Arduino-based prototype, but it will work in any situation where you need multiple connections to a single set of UART pins.

Touch Screen For Graphing Calculator

[youtube=http://www.youtube.com/watch?v=pyWIJFLbJZ0]

[Owen] got down and dirty by adding a touchscreen to his TI-84 graphing calculator. The dirty part is the z80 assembly code he wrote to use the linkport as a UART (assembly always makes us feel queasy). Once that was working he implemented some commands using an Arduino and then hooked up an Nintendo DS touch screen. Now he’s got this proof of concept video where he draws on the screen, that input is interpreted by the Arduino, commands are sent through the UART, and the calculator program draws on the screen. Adding a touch screen to something is a lot more impressive when you have to go to these lengths to get it working. Nice job!

Modular Systems Using SPI

[Humberto] is at it again with a NerdKits video detailing the use of an SPI bus to communicate between microcontrollers. He started with a previous LED marquee project which was limited to a 5×24 LED Matrix and developed a modular solution to increase the size limitation.

The writeup and video embedded after the break do a great job of detailing the important differences between a stand-alone and a modular system. The good news is that the ATmega168 chips being used have a built-in interrupt based SPI protocol. Once wired correctly, a master control chip addresses each module separately, adding data to their buffer until a full frame has been transferred, then moves onto the next module.

Some of the caveats to this system such as digital transmission over long distances are discussed. We do wonder about power limitations if all LED’s in the marquee are illuminated at once. But that concern aside, if you’re thinking of playing around with an LED display don’t forget that there’s usually a huge price break for orders of 500 or 1000 LEDs!

Continue reading “Modular Systems Using SPI”

How-to: The Bus Pirate V2 With USB

buspiratev2goii450

Update, Saturday July 4th, 2009: All preorders are closed.

The Bus Pirate is a universal serial interface tool, we use it to test new chips without writing any code. It currently supports most serial protocols, including 1-Wire, I2C, SPI, JTAG, asynchronous serial, MIDI, and more. We added some other features we frequently need, like pulse-width modulation, frequency measurement, voltage measurement, bus sniffers, pull-up resistors, and switchable 3.3volt and 5volt power supplies.

The new v2 family adds USB power and connectivity to the best Bus Pirate design yet. We also reduced the part count and cost wherever possible. If you want to get your hands on some Bus Pirate USB goodness, Seeed Studio has assembled hardware for $30 (including worldwide shipping).

Read about the new design after the break.

Continue reading “How-to: The Bus Pirate V2 With USB”

How-to: Bus Pirate V1, Improved Universal Serial Interface

front450a

We use the Bus Pirate to interface a new chip without writing code or designing a PCB. Based on your feedback, and our experience using the original Bus Pirate to demonstrate various parts, we updated the design with new features and cheaper components.

There’s also a firmware update for both Bus Pirate hardware versions, with bug fixes, and a PC AT keyboard decoder. Check out the new Hack a Day Bus Pirate page, and browse the Bus Pirate source code in our Google code SVN repository.

We cover the design updates and interface a digital to analog converter below.

Continue reading “How-to: Bus Pirate V1, Improved Universal Serial Interface”

Arduino Buyers Guide And The Seeeduino

seeeduino

Make has assembled a buyers guide for the many different types of Arduino devices. The Arduino is an open hardware platform designed to make prototyping easily accessible. The design allows for other people to modify, expand, and improve on the base, and many people have started producing their own versions. The guide features a lot of the hardware we’ve covered in the past like the LilyPad, Arduino Pro, Sanguino, Duemilanove, Ethernet Shield, and Freeduino.

Out of the pack, the Seeeduino (pictured above) definitely caught our eye. It’s a low profile SMD design much like the Arduino Pro. They’ve taken advantage of the space saved by the SMD ATmega168 by adding more useful headers. In addition to the ICSP, you get the pins in UART order and an I2C header. Vcc is switch selectable for 3.3 or 5volts. The reset switch has been moved to the edge plus two additional ADC pins. Our favorite feature is the new spacing on the digital pins. Arduino digital pin headers have an inexplicable 160mil gap between the banks. The Seeeduino has the standard row for shield compatibility, but has an additional row spaced at standard 100mil spacing for use with protoboard. At $23.99, it’s competitively priced too.

How-to: The Bus Pirate, Universal Serial Interface

UPDATE: New firmware with JTAG and more

We’re always excited to get a new chip or SIM card to interface, but our enthusiasm is often dampened by the prototyping process. Interfacing any chip usually means breadboarding a circuit, writing code, and hauling out the programmer; maybe even a prototyping PCB.

A few years ago we built the first ‘Bus Pirate’, a universal bus interface that talks to most chips from a PC serial terminal. Several standard serial protocols are supported at 3.3-5volts, including I2C, SPI, and asynchronous serial. Additional ‘raw’ 2- and 3- wire libraries can interface almost any proprietary serial protocols. Since this has been such a useful tool for us, we cleaned up the code, documented the design, and released it here with specs, schematic, and source code.

Continue reading “How-to: The Bus Pirate, Universal Serial Interface”