Fun devices of the month: Microchip's PIC16C745 and PIC16C765. As well as the usual microcontroller features, these require only a couple of external components to function as low-speed USB peripherals.
It is getting very easy to put together small but sophisticated electronic doodads using microcontrollers. Twelve years ago, I built some custom hardware using a 4-bit National Semiconductor COP401 microcontroller: it was simpler than the Z80-based systems I had built in the 80s, but it still involved a separate EEPROM for the code and I had to write my own assembler in order to code for the device.
Recently, I've been looking into building a more modern version of that old COP-based system, and potentially upgrading the functionality so that the new system can be hosted by a standard PC rather than having its own display built in. Rather than get into parallel port interfacing (so last century) I'm considering making the new system a USB device.
My current best finds for this function are two microcontrollers from Microchip, the PIC16C745 and PIC16C765. The smaller PIC16C745 even comes in an easy-to-use skinny DIP package so I don't need to worry about getting into surface mount manufacturing.
Just to drive the point home, here is what you get in a PIC16C745:
All of the above comes to you for a cost of less than £5.00 in singles; much less if you can buy even a couple of dozen at a time.
You can see that a device like this looks like it would make designing a simple HID (Human Interface Device) class peripheral like a control box or a display very simple. I might write up some more details if and when I manage to do that.
I do have two minor quibbles about these devices, which probably result from their coming onto the market a couple of years ago and therefore not using Microchip's latest technology. The first is that the devices use EPROM memory for code rather than FLASH as with most of Microchip's other current parts. This means that the plastic-packaged production units are one-time programmable rather than reprogrammable, and also that development has to be done with a "windowed" ceramic package device, which you re-use by erasing using a high-intensity UV lamp. Fortunately, I still have one of those left over from from my mid-80s Z80 days...
The second quibble is probably related to the first in terms of the underlying technology: most other current Microchip parts have a small chunk of EEPROM you can use to save things over power cycles; these parts don't. That's wouldn't be a big deal for my intended application were it not for the possibility of using EEPROM to ameliorate the "program once" nature of the devices.
Even with the quibbles, these chips look like they'll be really useful.
[Later post on this subject: My Very First USB Peripheral.]
[Last updated: 22-Aug-2003.]