[Rajendra] found an easy way to make a USB temperature logger. He already had a USB to UART adapter that takes care of the heavy lifting. On one end it’s got the USB plug, on the other a set of pins provide a ground connection, 3.3V and 5V feed, as well as RX/TX lines.
To get the hardware up and running all he needed was something to read a temperature sensor and push that data over the serial connection. An 8-pin microcontroller in the form of a PIC 12F1822 does the trick. It runs off of the 5V pin on the USB-UART, and uses the ADC to get temperature data from an MCP9701A sensor.
The sample rate is hard-coded into to the PIC’s firmware, but adding a button, or coding some serial monitoring could easily make that configurable. [Rajendra] used Processing to write an app which displays the incoming temperature info and uses the computer to time-stamp and log the inputs. We could see this as a quick solution to tracking wort temperature during fermentation to make sure your beer comes out just right.
[Dane] bought a reasonably cheap ($17) Hobbyking Echo-6 battery charger and wanted to see what sort of information he could pull from the unit. Since the charger is designed for a variety of battery chemistries and sports an LCD screen, he figured that it contained a fairly decent microcontroller which he could tap into for some useful data.
He disassembled the unit and started looking around for any useful items. He discovered that it used an ATMega32 microcontroller and had quite a few unpopulated areas on the PCB, which led [Dane] to believe that the Echo-6 shared its main board with a more robust charger. He tapped into the ATMega’s UART and began seeing data immediately. Once he figured out what was coming over the serial line, he piped the data into LogView, resulting in some nice graphs showing off the charge/discharge processes in detail.
Tapping into the Echo-6 seems easy enough for any skill level, and we assume that just about anyone would benefit from getting kind of information out of their battery charger.
[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.
[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!
[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!
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).
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.
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.