Keymem project

The finished system will allow the portable use of a general computer keyboard and storage of typed content. Also, an interface will be available to download the content to a more usable platform. This document is flooded with heavy linkage.

Note: Some of the batteries, apparently, are 2500mAh, and some are 1850mAh.




The ATmega8 (~$3.55 USD (ATMEGA8-16AU)) microcontroller will serve as the control of the system. (datasheet)


The AT24C1024 (~$3.74 USD (AT24C1024W-10SU-2.7)) 1024K, 2-wire Bus Serial EEPROM with full memory array Write Protection, supporting up to 2 devices on a single 2-Wire bus will provide the local storage. Installing and implementing one will provide for the storage of 239674 (typed) words*. (datasheet) At 150 words per minute (my high for typing), it would take roughly 26 hours to fill up. Alternatively, the traditional USB mass storage device may be implemented, as it allows "immediate" transfer to any USB mass storage compliant system (nearly any that you will be in contact with). The advantages of the USB storage device compliancy route is that storage space is kicked up incredibly high. Spend some cash to buy the $358.62 Sandisk ULTRA II High Performance 8.0 GB CF Card (SDCFH-8192-901) and you can type until you die without ever worrying. Specifically, you probably type nearly 30 minutes per day, so you will have 8,362 years of storage space**. For comparison, it would take you nearly 3,000 of those years to type out the human genome at that pace.


The ATSTK500 (~$91.06 or $79 USD (ATSTK500-ND)) will allow quick wiring. (user guide)

My local desktop has a distribution of GNU/Linux installed and running (Debian/Knoppix). Pramode over at India has an article on hacking a microcontroller with GNU/Linux staring the Atmel ATmega8. Wieser provides thorough AVR (interfacing) support over at the University of Muenchen. Periodically, Atmel releases application notes(?). One of particular interest here is the AVR313 (pdf), describing a PC keyboard connection for AVR microcontrollers. Also, AVR273 (pdf) describes the method by which some mass storage device can be interfaced through USB. Cyan Technology has released documentation on their AssetTracker which exposes some rather interesting components and ideas ... namely an interface to GSM to allow SMSing. This may be rather extreme, but for the lay person this means that the keymemproj device would be able to connect to the Internet. GSM support is an extreme measure and should only be thought of after consideration of general purpose EEPROM and USB mass storage devices.


voltage regulator with a good explanation about what to do for microcontroller connections. And hey, while you are at it, check out connecting computers and microcontrollers. It talks about wiring RS232 ports to each other and some details of the protocol.

Wiring the components to a voltage (power) supply is trivial. Get a 7805, a voltage regulator, which gives you 5 volts out of 7 to 30 volts and wasting the rest away as heat. The theoretical maximum of linear regulators in terms of efficiency is 5V/9V. It is usually about 3 pins (in, out, ground). Wire the out pin to the 5v ATmega8. The TLE4274V50 ($2.10 USD) looks like the best choice given the required current (datasheet PDF). This will provide for 800 mA. To see how many milliamps you need just sum up the current-requirements for all of the devices to be wired after the voltage regulator. By the way, the way that you can tell that you need more than 100 mA available from the voltage regulator is that places like this page say that the power specifications for the keyboard (at least the protocol?) states 275 mA is required. I have chosen to go over 300 mA (to 800 mA) just because I want some room to play with.


Use 22 AWG solid wire.