The MICROBE Project

(MIcro-Controlled RadiO BEacon)
by J. Aaron Holmes, N7OE

Welcome, visitor Counter.

See NEWS section below for a sneak peeks at the technology behind the next version of MICROBE!

MICROBE version 0.00000001 is here!!  Based on a PIC 12F629 microcontroller (which, according to Microchip, is aimed at semi-smart appliances like "electric toothbrushes" and "hair dryers"), MICROBE is not only my first attempt at microcontroller programming, it's also one of the smallest, cheapest "bunnies" ever built, costing only $5-$10 (depending on how fancy you want to get) and measuring only about two inches in length!

MICROBE supports key speeds up to 30 WPM and messages up to 100 characters in length, all for less than 50uA (yes, microamps) at 3.5V!  Delay between transmissions is configurable from as little as one second up to four minutes (not that you'd ever want to wait that long).  MICROBE is far from complete, however; there is no field programmability, meaning that the message can only be changed by reprogramming the chip.  Field programmability is the single most important feature left for the next version.  I'm still trying to decide how best to accommodate it without adding additional ICs.  Fortunately, the current program consumes only 1/4 of the available memory ;-)

Here's a picture of MICROBE wired up to an Icom T7H radio:

Inside, MICROBE is little more than a 12F629 chip.  The 32kHz crystal replaces the chip's internal 4MHz oscillator and dramatically reduces the power requirement (by about 10x, actually).  Of course, that also means there's no room for sloppy programming.  The first version of the software was a direct translation of a state machine drawing into C code.  At 4MHz, it worked great.  At 32kHz ... well ... I had to start over from scratch!

NEWS!

3/20/04:  The binary frequency modulation (FM) technology behind the upcoming release of MICROBE 1.0 is rapidly taking shape.  Pictured below is a prototype of the one-way communication system which promises to allow users of MICROBE 1.0 to program their messages and other preferences simply by holding MICROBE up to their PC screens!  Several watches and PDAs have tried this, with limited success.  My goal is to make this work for MICROBE while introducing as little cost and as few additional components as possible.  How is this done?  Well...

PC screens use visible light (no way!), so the first thing to recognize is that traditional photodectors (e.g., photodiodes and phototransistors), being far more sensitive to infrared light, are not well suited to this application.  Also, because a PC screen has a fairly slow refresh rate compared to infrared and other light-based data transmitters, the data rate that can be accomplished using a single receiving element is severely limited.  Why then would you want to spend money on a phototransistor, amplifier, AGC, etc., when you can use a CdS photocell?  Photocells are the devices used in street lights and night lights to detect the presence or absence of visible light.  They have TERRIBLE response times, often as slow as 50ms, but this is perfectly acceptable if you don't need a data rate faster than 10-20 bps.  The photocell's slow response time is also one of its principle advantages:  Because it's so slow, it doesn't pick up any noise.  Best of all, a CdS photocell costs only $0.25 in modest quantity.  Woo-hoo!!

In the prototype below, the 12F629 implements a software PLL and demodulator for a 5/10-Hz or 10/20-Hz (auto-detecting) binary FM signal generated by a simple PC application running on Windows XP.  The 3-bit number sent over and over by the PC is demodulated by the PIC and displayed on a single-digit LED display.  The display driver consists of a 7447 IC and a 1k resistor network.  It is important to realize that these things would not be part of MICROBE and were added here only because I thought it would look "cool" to use one of these LED displays that's been lying in my parts bin for years.  Only the CdS photocell, one additional transistor, and a couple of resistors make up the required new hardware.
 
Above:  Closeup of the breadboard showing the photocell (the white disc protruding from the breadboard at the top of the picture) which is used as the receiving element for the 10 bps binary FM signal.  Also in plain sight is the tiny 8-pin 12F629 microcontroller that is at the heart of the original MICROBE prototype. Above:  The circuit displays "5" in response to a blinking box on the PC screen, above which is shown the number being sent.  Not too useful yet, but IT WORKS!  ...ok, now on to multi-byte messages.  It doesn't take long for 3-bit numbers to get "old".  Plus, if all I was after was 3-bit data, I'd use base one!  That'd make things REAL easy!  Heheh...

11/02/03:  MICROBE made its on-the-air debut in the fourth UW bunny hunt of 2003.  Things worked great!  Unfortunately, only a handful of people showed; others were probably scared off by the morning weather.  You missed out!  There were a couple of great hiding places, and the coffee and Thai food weren't bad either ;-)

FAQ

Q:  Where can I see/hear MICROBE on-the-air?
A:  MICROBE, idBoy, and any other transmitter controllers I might build will show up periodically at the University of Washington bunny hunts, hosted by the UW amateur radio club, W7YD.

Q:  Will MICROBE replace idBoy?
A:  Not completely, no, but idBoy is expensive and not likely duplicated.  On the other hand, MICROBE is cheap and easy to build.  It just makes more sense.

Q:  Are you planning to sell MICROBE kits?
A:  A few people have asked about this.  I'm open to the idea, but there's a lot of work to do.  If you're an experienced EE with PCB design skills and you'd like to lend a hand, drop me a note.  My own feeble skills are no match for the power of the dark side! :-)

Q:  Will MICROBE work with non-Icom radios?
A:  This very early proof-of-concept prototype was designed with Icom radios in mind (because that's what I own), however the next version aims to be more generic.  This ought to be easily accomplished by using a lower-value PTT resistor (= more power consumption...bummer) and by bringing the PTT function out as a separate line for those radios which require such a thing.

Q:  What's required to program PICs?  It sounds like fun!
A:  It is!!  I'm totally addicted.  What's even better:  It's really cheap!  Microchip makes an evaluation board called the PICkit 1, and DigiKey sells them for only $35.00! (a sample PIC 12F675 chip is included--same as the 12F629, but with integrated ADC).  The board also comes with a copy of Hi-Tech Software's PICC Lite C compiler (also a free download), which is what I used to code up MICROBE.  After that, additional 12F6xx chips are only around $1.00 each!  Simply amazing.

Q:  The PICkit 1 just has a regular ol' DIP socket on it...
A:  You call that a question?  ...but I know what you're getting at.  Yes, before the PICkit 1 can be truly useful as a programming device, a small modification is required (IMO):  Solder on a ZIF socket.  The board comes with a snap-off prototype board, but I found it much more useful for this:

Questions, comments, etc....?  Feel free to mail me.

73,
J. Aaron Holmes, N7OE

Page last updated: December ??, 2005

Go back to N7OE's Transmitter Controller Page.
 Go back to silicon-arcana.com
 

This site is a member of WebRing. To browse visit here.