---> --->
[Jump to Cover]
[Jump to Contents]
[Jump to Introduction]
[Jump to Concepts]
[Jump to Realization]
[Jump to Conclusion]
[Jump to Appendix]
<<  Surrounding Systems 
Programming Software  >> 

3.2.2 Cricket Hardware

The Cricket modules are not available to the general public, and at this stage, the MIT Media Lab does not intend to release the system. Thus, the Crickets are employed exclusively at Computer Clubhouses that are organized in the Computer Clubhouse Network. 
Due to this situation, only little hardware and software documentation on Crickets is accessible. However, Fred Martin of the Epistemology and Learning Group at the MIT has kindly agreed to a reproduction of the Cricket’s internal wiring diagram in this documentation, so a few technical details can be discussed. 
As the design of hardware add-ons and additional sensor and actor devices is based on the Cricket’s interfaces, this section will lay its emphasis on the interfaces, as well. 
The following is an outline of the Cricket’s essential properties: 
  • CPU: Surface-mount 8-bit PIC 16C84 processor, manufactured by Microchip.
  • Clock frequency: 4MHz, generated by a ceramic resonator.
  • Operating system: Written at the MIT in PIC assembly, stored in ROM on CPU.
  • Memory: 256 bytes user program memory and 1792 byte user data memory on single 24LC16B serial EEPROM.
  • Motor drivers: Two independent Telcom TC4427 MOSFET drivers.
  • Sensor ports: Two independent ports, resistance values polled by PIC.
  • IR port: LT1601 IR LED and Sharp IS1U60U3 receiver; 9600bps half-duplex.
  • Beeper: Piezo beeper driven directly by CPU.

Click to view full-size schematic 
A serial EEPROM (24LC16B from Microchip) is used as the Cricket’s "RAM". This device was originally designed for smart card applications. While the manufacturer guarantees a data retention of more that 200 years (without any power supply), the amount of guaranteed erase/write cycles is just one million. 
Taken into account that every single data storage operation is considered an erase/write cycle in this Cricket environment, this could mean a severe limitation. Assumed that a Cricket may take five data samples per second in continuous polling mode, and these were stored in a ring buffer on the EEPROM, the Cricket would "die" within less than three days. 
This will have to be considered before writing such data-collecting applications. However, for normal control programs running on a Cricket, it has no meaning. 
As you can see from the schematic, only very few electronic devices are dimensioned to rely on the 9V battery voltage. All others are supplied with a stabilized voltage of 5V by a fixed voltage regulator (LM2931Z-5), right behind the power switch. In fact, just the resistors at the two bicolor LEDs serving as motor direction indicators would have to be changed if the Cricket was to be powered by a higher voltage. 
However, there is also the TC4427 motor drivers’ limitation  to a maximum operational voltage of 18V. For the desired Festo applications, this is still not enough. 
Click to view full-size diagram From the internal diagram of the motor driver, its design as a dual-MOSFET amplifier is obvious. When a motor is connected across the OUT A and OUT B outputs, the result is a full H-bridge, which allows the motor to be controlled forward-stop-backward. 
Protector diodes at the outputs are not necessary as they are already provided in the package. 
The Cricket’s infrared port is specified as capable of 9600bps half-duplex communication. Due to the protocol overhead, however, the effective throughput reaches only about 600bps when a Cricket is being programmed or when it is exchanging data with another one. 
Although the Cricket takes only about 8.5mA of idle current from the battery, this can change significantly when it is running a program. Up to 30mA will be consumed during IR communication, e.g., when the Cricket is trying to set up a connection to a second Cricket. Currents which are passed on to connected sensors and motors will still have to be added to this. 
For information on how to build additional sensor devices that are compatible with the Crickets, please refer to section 3.5. 
<<  Surrounding Systems 
Programming Software  >> 
(C) '98 counter