This is a pre-speech text file I write up before ever speech. It's basically a file to download what's in my brain to something I, and others, can read to get things organized. It'll be incomplete and will certainly vary from the actual speech I give in stage. Due to time limitations, I almost certainly may end up cutting some of this information out. Here's the complete brain download. As of writing this, I have to make the DC10 deadline for the cd pressing, so this is kinda hurried out without the full presentation. No pictures, schematics, or much of anything else. You can find a fully updated version of this file, along with my speech's presentation in HTML format, at: http://www.wetcon.org/tdragon/dc10/ There you'll find the full stage presentation, along with an updated version of this file. Making a non portable computer portable, and concepts for home brew portable computers. Ok, everyone has wanted to do this at some time. Make their own Apple ][ or Amiga laptop, mod an old pentium into a car mp3 player, or even have a small device that one can drop onto a network unnoticed that can sniff traffic and get inside information on said network. Well, if you've ever thought of making something like that, or even have some project that would utilize similar concepts, then stick around for the rest of this speech. I've actually gone through a lot of this work in the construction of my mp3 player. It's true that mp3 players are pretty cheap these days. But making your own out of a pentium means you'll have far more flexibility. Surf the net, look up traffic and weather when on the road, if you have a connection to the Internet, even manage and track gas mileage all from one lcd on the dash. I have broken this into three categories. These include · User interface, input devices and output devices and even storage devices. · Power supply and regulation. · Case designs and shock absorbion. I'll show pictures of the construction of my car mp3 player. This covers a lot of the concepts of what I'll be talking about, especially the power supply and the shock absorption. First I'll cover the user interface concepts. The first thing you should think about is how you want it to look, how /you/ want to interface with your computer, along with what you want it to do now, and in the future. You won't necessarily want to have a keyboard and mouse on your computer, you may not even have a monitor. There are a lot of alternatives for you to consider on this front. You'll have to have some means to input information into the computer, and some means to receive an output of information. This is how the whole concept of a computer works. It does calculations for you. It cannot function if there is no means for you to input information into it, there is no purpose if you cannot get information out of it. You'll have to tell it want to do, how to do it, give it detailed instructions. If you don't tell the computer what to do, it just sits there. You can omit the input device after you've set it up. It has it's instructions and can just sit there and do it's work. But you'll still need for it to output to you in some manner. There are lots of means of output. This can be a VGA monitor, LCD display, text only LCD display with only a few lines of text, a soundcard outputting spoken text, even a blinking LED, vibrating pager motor, or beeping piezo buzzer. There are lots of ways that the computer can give you it's information. My original setup for my mp3 player was to have a Netpliance I-Opener, or Gateway Touchpad, up front in the car with a touchscreen that would have an ethernet connection to a 486 in the trunk with a cd changer that'd boot off of a floppy with DOS networking support and routing between 802.11 to give the I-Opener access to a wireless network. Extremely simple, effective, and it'd do exactly what I'd want. But my budget was what got into my way of those plans. I decided on a simpler design. For input I wanted the option of a keyboard. I wouldn't need it all of the time, but there would be times when I would need it. I went for an IR based keyboard without an integrated mouse that I found on ebay. An integrated mouse would have been a pain in the ass to use while driving, and just in general. I went for it because it was only $5. Perfect for my needs. When the keyboard wasn't needed, I could stow it behind or under a seat. I know I'd need a mouse more than a keyboard. I found a clip on trackball for a laptop. I chose it because it was small, compact, and I could mount it out of the way easily. My backup was one of these, a finger mouse which I'd glue a coat hanger wire underneath and have hanging off of the side. Ugly, but just as effective for what I was looking for. This covered the input methods I desired, but I wanted to have Winamp as my mp3 player. Yeah, there were alternatives, but it had the features I desired. I'd have to either click on the Play, Stop and other buttons to interact with them using my mouse, a very unfavorable distraction while driving. Or find the keyboard and use the keys on it like the Z, X, C, V, and B to control playback and arrow keys for volume. That wasn't any easier, or less distracting. My solution was to find an old AT keyboard, one of the ones with mechanical keys, take it apart and develop a patch board like this giving me push buttons up front to control the keys I needed to get access to to control Winamp. But I'd have to find an older keyboard, make sure it was compatible with a newer AT/ATX mboard (not all are), rip it apart and reassemble it. A lot of work to move just a few buttons up front. Plus, in back there'd be a full keyboard sized circuit board with wires hanging off of it. Not undesirable in the trunk, but a cumbersome nusiance nontheless. I sat down with a friend and after some discussion, he had a suggestion, why not emulate a keyboard with a PIC or Atmel chip? PIC and Atmel, and even others, are small embedded micro controllers. You upload code to it, and it does things. What does it do? Well, depending on the code, it can do almost anything. In this case, I wanted to emulate a keyboard signal to make several buttons easily accessible from the screen. I used some code I found online to emulate the Z, X, C, V, B, Space, Enter and the four arrow keys from some simple open / closed circuit type of push buttons. Just what I needed, smaller, just as much work to create and setup, and as effective, if not a little more. This covered all of my input mediums into my design. Now I had to choose a display. For Winamp, there's a plug in for controlling a text based LCD display. Running off of a parallel port this would be cheap and small. Or using a serial to parallel TTL converter circuit, it's not at all hard to use this to display a command prompt under Linux. I'll admit it, I suck at Linux, but I'm learning. A friend I know built a device that used this type of display. He redirected all text based display outputs to the serial port to display information. He didn't play mp3's on this device, he used to to display network status. But more about that later. I came across this LCD display a while back. It accepted a composite video input, and ran off of 12v DC. It was one of the displays used in the backs of seats in Boeing's original concept plane that was the first to have video in the backs of seats. They scrapped them out in favor of higher quality displays, but it was a concept 747, and proved the concept. It ended up in my hands through a hardware trade, and even though I traded it away, and even sold it, it kept coming back to me. So, I kept it and put it to good use, being the display for my mp3 player. The 12v it requires comes directly from the PC's powersupply, this way it's filtered and regulated, and goes on and off with the computer, no need for a separate power switch. You can see here how I have it mounted, inside of this project enclosure from Rat-Crack. The keyboard buttons are located along the bottom. I can feel which are which just by their location, so if I want to mute it or control the volume, I can do so without even having to take my eyes off the road. Along the to are the controls and buttons that would be on the front of the PC case, power, reset, sleep, leds to indicate HD activity, etc. Along with a quick mute button. On the bottom is a IR keyboard input. On the side you can see the mouse control. It's not 100% ergonomic, but it works well enough to give me music when on the road, along with many other features. All of the cables that run from this control unit to the computer run through a bundle of wires using regular 25 pin computer cable. It's not fully shielded, so some of the various lines can bleed to each other, and it can get interferance from other sources, but I haven't had any problems. Now, this is my input design to my computer. A friend of mine saw a device a guy brought to a 2600 meet a long time ago. This guy had a Tupperware sandwich container with a PC104 biscuit mboard mounted inside. It had a 7.2v RC car battery pack, regulated down to 5v, and a 4gb laptop 2.5" hard drive. This little thing was what inspired all of what I'm talking about now. But, unlike my mp3 player, this had a completely different purpose. Built onto the mboard was 10/100 ethernet. All he had to do was find an ethernet socket or cable, then plug in and turn the power on. he'd then walk away. It'd sit there, sniffing passwords, traffic, domains, files being transferred, internal information, all inside of the firewalls. It'd track it all until the battery died. He'd then show up the next day, pick it up, and walk away. Talk about an inside job. Nice, compact, and discrete, though a little out of place looking. I would have used an external scsi box of some sort myself. This device's user interface was it's ethernet port. When he got home, he'd charge it up and then hook it up to his laptop with a crossover cable. he'd only then have to telnet into it's IP address to talk to it, configure it, download files, upload files, etc. But if one was to do something like this, one doesn't need to necessarily use a crossover cable. This is the fastest way to do it, but if you have older hardware which you might want to use, because it'd suck to have a $500 device confiscated, why not use a null modem cable on a serial port, even a 14.4 or 28.8 modem hooked up to a phone line. It'd auto answer only at certain times, or automatically dial out to a payphone at 2am or something. You could even use a Metricom Ricochet modem. The modems work in a peer to peer mode. Dial another modem by typing in a regular hayes compatible at commands like ATDT 0003-1234. You have to use the hyphen and the numbers must be exactly like they are printed on the modem. Then all you have to do is drive up within range of the device, and you can call it and then talk to it to upload, download, configure it, then drive off. No one's the wiser. Ricochet modems can be slow. they range from 28.8 to 128k bps. This isn't the fastest connection, but seeing as how they use 900mhz frequencies instead of 802.11's 2.4ghz, this means that people looking for traffic on 802.11 won't be able to sniff any of your traffic, or even know about your connection. With very few people even using ricochet modems in peer-to-peer modes, you have a nice little chunk of the radio spectrum almost entirely to yourself. Especially seeing as how Metricom is out of business and the Ricochet modems cannot access the Ricochet network, for now. Ricochet modems also work in a star mode, so you can have many of them talking together in a group. Great for a poor man's wireless network. How to do that is thoroughly documented on many web sites on the Internet. 802.11 in a peer-to-peer connection is also a possibility. Cheap 2mb only first generation cards without encryption can be found for as little as $30, or even less, on the used market. That way, if it's confiscated or found out, you're not down a whole lot of money if it has to be abandoned. After seeing it at the 2600 meeting, he made a similar one, but this has a serial LCD display on it and some buttons on the same serial port through a PIC so that he could configure it from a simple menu system he created. The PIC chip took the button presses and sent then as ACSII letters via the serial. Simple, and effective. When not in use sniffing ethernet traffic, it doubles as a cheap and portable router for his hotel room when he was on the road. I tried to contact him so I could get some pictures of the unit, but I've had no luck contacting him. That also makes me loose any linux configuration information ideas to get you started since I suck at linux. But there's a lot of help files on the Internet to get you started with having Linux operate directly off of the serial port. It's really easy to redirect serial I/O. But you get what you can do for interfaces, and what materials to get you started with ideas. One final note on the composite lcd display I chose. If you've ever dealt with composite signals from a computer, you know how crappy and blurry they can be. Now, put that into a five inch LCD screen, and things get worse. Even if I blew up the mouse cursor to it's max 32x32 size and turned trailing on, it'd still be a major pain in the ass to see. Not to mention the windows GUI menus and text. Yeah, Winamp supports doubling it's main window size for situations like this, but I wanted more. The video card I chose was an ATI Rage II card. This natively supported the composite out I wanted without needing to have a separate VGA to NTSC converter. I also knew that the hardware, and even the windows video drivers, supported running in 320x200, 320x240 and 400x300 video modes, in windows. I got the idea when Winamp plugins were switching between these modes when they were turning themselves on and off. I'd see the windows behind the plugin for a sec in 320x240 mode before windows restored itself. I then sought to force windows to use these modes in it's normal operation. But because it normally wouldn't let you go any lower than 640x480, I had to do some registry hacking to get it to go even lower. Later on when I started this project, I had realized this little trick was perfect for what I needed, so it went into perfect use. First, I tried this under win95. Even with the ATI drivers, I had troubles and never got Windows to work right. The GUI just couldn't deal with it. I had to use win98, which, sadly to say, is the best version of win32 that MS ever released. It just went downhill from there, if it wasn't already from when they imitated, umm, I mean, innovated a GUI like Apple's back in 1985. Which Apple "innovated" from XEROX PARC. Everyone here is innovating, aren't they? Anyway, you'll need to locate the list of video modes that your card will support located in the registry. Here's some pictures of where it should be located and was in mine. You can also search the registry for instances of 640 and 480 to see if there's other tables listed in some funky place because of the crazy things some bored drivers programmers are known to do. After adding entries for 320x200, 320x240, and 400x300, then go here to manually change the windows video setting to the desired resolution. Now reboot. If it works, kickass. If it doesn't, it'll usually default to 640x480 at 256 colors or something. Try other modes to see what does and doesn't work. 400x300 may work while 320x200 and 240 may not for example. But usually the video driver from the manufacturer will support these modes because of Direct-X game resolutions. You may also need to install some form of Direct-X as well. I didn't have to on mine, but you never know what some other brand of video drivers would require. You will not be able to select any mode lower than 640x480 from the display configuration. No matter how hard I tried, Windows was simply not meant to deal with any mode smaller than 640x480. even with a table of such modes in it's registry. Geez, what a good idea Microsoft, haven't you heard of persons with disabilities? Oh, wait, never mind. This is the company that said, "No one will ever need more than 640k of ram." back when they were designing MS-DOS in the 80's. Obviously they know best. Another thing to watch out for is the fact that since Windows and programs for windows were designed for 640x480 displays or larger, the dialogue boxes will get cut off the side of the screen in this mode. You'll have to remember what buttons were where and press the tab key and space key by memory if one bigger than the screen pops up. And Linux does these lower rez modes natively without even a true hack. Using a linux install of Winamp is next on my list to completely replace the OS. Anyway, onto powering your unit. Whatever design you choose, whether it'll be a home brew Amiga laptop or a network sniffer, you'll be using power other than a conventional 120v AC power supply. It'll almost certainly be some form of batteries. It could be integrated Ni-Cads or NiMh's, or running off of a car's electrical system. Let's start with what the motherboard will require. For a conventional motherboard, you'll need to supply plus 12v, minus 12v, plus 5v, minus 5v, and a ground. This is possible with regulators to supply all of this and some voltage inversion chips to get the negative. It's not clean, it's not neat, but it'll work to power a motherboard from a 12v battery pack. To power it from a car, you'll definitely want lots of filtering. Let me tell you, thise spark plugs generate a lot of internal noise on the electrical system, not to mention the AC, fans, headlights, pretty much everything electrical in the car. If you get a nasty enough spike, it'll probably kill the system or fry some chips, but it'll certainly at least cause the system to lock up, reset or do something else that's quite undesirable. Here you'll see a power supply that has a lot of filtering and regulation. This'll do a good enough job for most cases for an AT power supply. You may also need to generate a Power Good signal as well. Some mboards will require such a signal. It essentially tells the mboard that the power coming off of the PSU is ok. If the incoming voltage dips too low or too high, it can cause the PSU to mimic those voltages to a certain extent with it's feeds to the board. This can turn your 12v into 14v and fry something. Not very desirable. So, the Power Good goes low from 5v to nothing. This tells the mboard to turn itself off. This is why in brownouts your computer locks up in an off state or resets itself. Loosing your data is preferable to having to replace the mboard, HD, other components, and then rebuild your data completely from scratch. And I agree with that assessment. If you're going to build an ATX Power supply, you'll also need to generate plus 3.3v, along with a separate 5v for system standby, and monitoring the power control signals from the mboard that tell the PSU to go off or on again. But many mboards will work without the being able to switch itself on and off, you just won't be able to conserve your battery power. But this is fine for those who are just looking for a quick and dirty job. Now, let's say you're making this tupperware network sniffer. You'll want something simple, like a PC104 motherboard. These little beasties are very interesting as they typically run on only a plus 5v and ground type of power, like right off of a battery or simple AC adapter. All I recommend you add is a voltage regulator, and you're set. No need to build an elaborate PSU. But, the price you'll pay for a simpler and smaller design is a significantly higher price. Also notice your desktop system PSU. It has a higher amp rating for +5v than anything else, with +12v coming in next. The minus voltages are usually kept for legacy cards, mboards, and devices, but are mostly obsolete. Another thing to remember is that today's computers are far more efficient than yesterday's computers. The amperage that a mboard will require today is far lower than an old 286 board. It's even more so with hard drives, cdrom drives, and other components. Your system could probably do with a 200w supply, or even less. I wouldn't be surprised if all you'd need is a 100w one. PC104 486's can be found relatively cheap these days, still at $50-$100 or more on the used market, and are all you'll need for network sniffing / intrusion or whatever. Now, you'll need to be sure you can supply enough amperage to your board. Too little and it can malfunction, or just not work at all. Batteries are really good power supplies. They're relatively stable, potentially noise free, and regulate themselves as long as they have a full charge. You'll have noticed that on batteries the mAh rating. This stands for Milla-Amp-Hours. This indicates how many amps it will supply. On a 1200mAh cell, that means it'll supply 1200mA for one hour on a full charge, or alternatively 600mA for two hours, 300mA for four, etc. With a bunch of 1200mAh cells in series, they'll have a collective mAh rating of, 1200mAh. You can get bigger cells to supply a longer charge. Now, the lower your amps, the longer the battery will last. It's like comparing running to walking. You can run for one hour at 1200mAh, but you can walk notably longer than 4 hours at 300mAh. I just use that simple rule of thumb to give me an idea of what to expect. Over time your cells will drop in voltage as they discharge. This is why it's good to use a regulator. As the batteries loose their charge, their voltage will drop and your mboard will have too little voltage to operate and will probably just lock up before going dead. I recommend you have your programs save their info regularly. If your system goes right in the middle of a save cycle, you may have a corrupted file or log. Best also save the files and logs in sequential numbers so that if the latest is corrupted, the older one that was saved 10 minutes before will at least be good enough. Battery power isn't hard, just make sure you don't kill the mboard. But using an unregulated AC adapter. Ouch. Those aren't the safest of units to mix with computer equipment. You see, when they're unregulated, Ohm's law comes into play. E (Voltage) = I (current) * R (resistance). If the resistance remains the same, as you decrease current, your voltage will increase. Let's say you have a 500mA device and a 1A power supply. Even though the voltage is the same, you might just toast your device because there's an extra 500mA of amperage that's not going anywhere, except into your device whether you want it or not. That'll get converted to voltage, since it's only drawing half an amp from a 1 amp supply, you'll now basically get double the voltage. It'll get hot, malfunction, and then even burn out. A motherboard with power saving features won't fare very well. Let's say you measured the current and have selected an appropriate AC adapter. Now your mboard goes into sleep mode, consuming a fraction of the current it did before. Your power supply didn't get that message and is now still giving it full current. Now it'll smoke a few parts. So much for power save mode. A regulator inline with the power supply will usually fix that, but it's still not a good idea to have to do that in the first place. Use a regulated and filtered power supply. Batteries on the other hand will supply however many amps the device draws. Besides, they're all you'll eventually use in a device like this anyway. Now, you have a lot of battery choices from the exotic to the common. On the front of common we have lead-acid, gel-cell, nickel-cadmium, nickel-metal-hydride, and lithium-ion. Lead-Acid will give you a lot of current, but can be heavy, potentially leaky, and is somewhat antiquated. It's sometimes hard to find small and compact lead acid packs. Nickel Cadmium is the most common type of battery you'll find. Easy to charge, cheap, and common. Most will use this over other types. Nickel metal Hydride, a great replacement for ni-cads. They'll typically work as a direct drop in replacement for ni-cad. They pack more punch and last through more charge / discharge cycles. However, they're more expensive. But that's coming down as countries adopt green laws. Cadmium is a toxic heavy metal, that means no more ni-cads with ni-mh being a replacement. Lithium ion. These pack the most punch of any type of battery. However, remember when I said how that amp-hour rating works? Those other types of batteries have a peak limit where they won't supply over a certain current. They simply can't. But li-ion has a greatly increased current. If you short the contacts together on other cels, causing the battery to supply a theoretically infinite amount of current, they'll get hot from the load, and may explode. This from the heat causing the water inside to boil, the steam produced will put pressure on the inside of the case. When the case can't take it anymore, POW, it pops. Li-ion on the other hand will try to supply so much current that it will explode simply from the rapid chemical reaction caused by the discharge of current. I'm not talking dynamite type of explosion, but you'll be picking shards of melted plastic out of your skin for a week, and looking for where your few fingers landed, along with thinking of a better new nickname than "lithium-ion-lefty". The packs for your laptop are protected with a circuit in it that'll protect from improper charging and the contacts being shorted. Since li-ion can be so potentially dangerous, this is why you can't buy individual cells in stores or magazines or even online. There's such a risk of injury that with today's lawsuit happy times, companies aren't willing to risk it selling the cells to the general public. If you get your charging circuit wrong, kapow! The company now finds itself in court with some guy suing them because they didn't give the customer enough warning. But a few stores and companies are selling individual cells now. You'd have to search hard to find them though. They probably won't sell them for long though. Charging in a nutshell may be as simple as running voltage into the battery instead of out of it. It's more complex than that and each and every type of battery has different charging properties and procedures. Charge it the wrong way and it'll possibly explode, or just notably reduce it's life span. If you want to charge your batteries, I recommend learning everything about your battery of choice that you can. You can charge it yourself, but I've found it's best to use the charger that was intended for it. Example you use a 7.2v racing pack to power your system. To charge it, unplug it and hook it up to a charger meant to charge those packs. When charged, hook it back up to the system again. Now, no matter what type of battery you use, it /will/ eventually wear down and no longer hold a charge. Nothing lasts forever. Charge and discharge cycles cause chemicals to break down inside of the battery, kinda like bending a wire back and forth, it eventually breaks. You can usually extend the life of your nicad / nimh battery by fully discharging it before recharging it, and giving it a full charge when you do charge it. If you only use it to 50% before recharging it, after repeated use it'll only last to that 50%. Plus NiCad's get metal dendrites inside, this's what shorts out NiCd cells. Complex little suckers they can be. Also, avoid rapid charging whenever possible. That's hard on the battery. It's the heat generated from a rapid charge that does the damage. If you do nothing but rapid charges, it'll have a shorter life than a bunch of regular charges. I recommend always doing a super slow charge if you have the means to do so. A longer battery life span means less money spent on replacements. Now, it's not hard at all to power multiple devices from one single battery or power source. Since PC power supplies are self regulating, you can easily hook up other devices to it. I have my NTSC webcam running off of the internal PS after the ac adapter got lost. It has some ugly cables running out the back, but it all works. If you need more amperage, you can hook several in parallel with diodes to keep them from discharging into each other. For this, Schottky diodes are better than Silicon diodes, due to lower voltage drop. That'll get you started on powering it, now into housing it. No matter what type of case you choose, your device will be in motion. That's the whole point of making it run off of batteries, to make it portable. And when it's portable, it's prone to dropping, and if you drop it, even a few inches, it can nuke it. I constructed my case out of foam core. I chose this because it was light, relatively soft so it can take knocks and absorb the impact almost like crumple zones on a car, and it was free. It's amazing what you can find in Boeing's dumpsters. You can use an existing PC case, make one out of Plexiglass, out of wood, almost anything. The case's purpose is to keep the system inside protected from things scraping against it, bumps, dust, etc. For something that's solid state like a motherboard, that's pretty easy. Other than the CPU and PSU fan, there's no moving parts. However, the HD is a whole different matter. Hard drives are notoriously fragile. Drop one two feet into a table. C'mon, I dare you. There's a good chance that it'll die from that drop. The reason is because the heads are on thin metal arms that are almost as thin as aluminum foil and have the sides folded up on them to give them more strength, and the heads are coils composed of wire thinner than a human hair. If the heads or arms get bent, even a distance one tenth thinner than a human hair, your tracks on the disk will no longer line up. You may be able to re-low level format the drive, but you'll still completely loose all of the info currently on it. Not only that, the material laptop HD disk's are made of is usually so fragile that it shatters like glass. Cd-rom drives are less fragile. This is because they spin at a slower speed and are less prone to damage because of that. But a good drop will kill the optical head. Their lenses are usually hovering on a magnetic cushion so that they can adjust their focus and alignment dynamically. This compensates for slightly warped discs, age, off center alignment, and other tiny problems. This is also why many drives die, their lens head looses alignment. It's not worth re-calibrating a cdrom drive seeing as how cheap they are, so just toss it and buy another. A drop han cause the lens to bump against the magnetic coils on the sides of it, this deforms the magnetic field meaning that the drive can no longer focus on the disc anymore. To add some protection, set the HD's sleep mode(s) to as little as possible. This'll park the HD heads in a spot of the drive that's safer for it to take a blow by locking the head arms down and stopping the cylinders from spinning. That won't make it indestructible, but if you go over a bump or drop it, it'll be safer than if still spinning around. Also, when the drive goes into sleep mode, it'll also greatly reduce it's power consumption and save battery life as well. Windows 9x has built in abilities to put the HDs to sleep. I don't know how linux does it, but it should be insanely easy. I also use a dos app called "spindown.exe" to do it. You see, the OS doesn't tell the drive to sleep. All the OS, or even BIOS on laptops and some desktop computers, does is tell the drive when to sleep. The drive then goes into sleep mode all by itself after x amount of time of no activity. The nice thing about this is that you don't need any TSR's or any other resident programs to monitor it. The sleep command is part of it's basic read / write commands along the IDE bus. The only down side of turning on a drive's sleep mode is that it takes a couple seconds for it to spin back up when you need it again. CD-Roms spin down automatically all on their own. It's possible to vary the spin down time on some models, but I don't know of anyone who's written a program to vary it. For my application, that didn't matter one bit since I'd be playing mp3's off of the cd drive and it's be in almost constant motion. You'll want to isolate the drive and put something around it to cushion any shock it may encounter. It's easy to cushion it, just place various amounts of silicone memory gel around it at all locations. You can get this gel from a used keyboard wrist rest or mouse rest. Cut it open, and pull out the gel. Then cut the gel into smaller cubes or other shapes. It's not pretty, but it'll be far better than not having it. Foam can be used and other materials. It's most certainly possible to get really creative here. I also strongly advise doing the same with your cdrom drive. Car stereo drives are designed to take this kind of punishment from being in a car, computer cdrom drives were meant to sit still on a desktop. Cushion the cdrom too if you want it to last. Some other ideas are to have a bootable cdrom disc, no HD needed. Boot off of a floppy on older systems, load cdrom drivers, then continue loading the OS from a cdr or cdrw. This avoids the need for a HD altogether. The mp3's are loaded off of the same cdr as the OS. Or even use like what I did, use a cdrom disc changer. You can have one OS cdr, and several separate dedicated mp3 cdr's. Another option for a CD-Rom drive is to use an old laptop drive. Many laptop drives even though they have proprietary connectors, actually have behind those a 2.5" IDE connector, just like what you'd find on a laptop HD. Complete with jumpers for master / slave operation. I have no idea how many of them actually have these inside of their shells, but it's not too hard to get lucky. If you come across a docking station that has a thin cd-rom drive built into it that's not easily removable, odds are it has a IDE connector on the back. This is very ideal and cheap alternatives for portable CD-ROM drives for your device. They'll use less power than a desktop drive and are considerably more compact. If you have the money, you can even find solid state hard drives. These can be found relatively cheap on the used market. Sandisk's, M-Systems Disk-On-Chips, and many others. These all can be found for under $50 or even $25 for a drive that're under 100mb. But that's usually all one needs for such an application. And no moving parts means nothing to crash. Compact Flash is just as easy to use. There are lots of CF to IDE adapters on the market. Boot from that, or start the boot from that and continue from a CDR. A bad thing I found out about laptop HDs. Many of the first generation drives, even though they're supposed to and even though they have the jumpers for it, they will not go into slave mode. I tried it with several older drives, and it seems that even when I use the same manufacturer of drive, and in one case the exact same model #, I still couldn't get some to go into slave mode. However, some other models of drive worked just fine in slave mode. Keep that in mind if you decide to use two 2.5" drives. You shouldn't need any shielding. The shielding is to protect people's antenna reception of television from receiving interference from computer signals. Your car's metal frame should be adequate enough. I have been using my desktop computer without a case, and for a month just a bare board sitting on a towel on a table, and had no interference problems happen to it to have something crash it. If you do want to make your own shielding, just be sure that if you're using metal that the metal doesn't short anything out on the mboard. I lost one mboard when I was doing work on it with the power on. I dropped a screw down onto the mboard, the system locked up, complete with some sparks. When I hit the reset button, it didn't boot again. Now, another thing to watch for is the computer causing damage to the home brew case. When I first started this project, I had the power supply right against the foamcore. I never took into account the heatsink's heat dissipation. One day I walked into my room and smelled this horrible burning plastic smell. I immediately shut everything down and examined every system. I later discovered that the power supply itself inside of the system destined to go into my car's trunk, was melting into the foam core of it's case. Some wood dowels fixed that and gave it the room it needed to breathe. Some things to avoid in the construction of such portable devices is Velcro and foam tape. They may be easy to work with, but I've found that foam tape and Velcro frequently coming un-done on me. I strongly advise screwing / bolting everything together. Some tips if you make a sniffer or other network intrusion device, make it look just like some other component instead of my friend's tupperware design. You can get a printer sharing box or even a rather large 2400 baud modem. Gut it's components, fill it with your motherboard, and it'll look like it's supposed to be there. Most people have no idea what a box labeled "leased line modem" means with blinking lights and rj-45 cables running in and out of it. They'll just leave it alone for weeks before questioning it's sudden existence. Hell, it may even take then years before they find said device hidden behind servers amongst the ethernet spaghetti. Even a whole laptop with a damaged or cracked screen, or old junker 286 / 386 laptop, can be used for these projects. Rip off the screen to make it smaller, use an external monitor to configure it, then shove it into your new case. That should give you many ideas on how to construct such a device, and get many here started on making devices like this. As to how to configure the OS, that's a whole speech in and of itself. Booting linux or windows entirely off of a cdrom, stripping down most of the OS so that it fits into a 32mb or smaller install, etc. There's text files all over the Internet on how to do that. I covered some of what I've done, but not all of it. But, armed with this knowledge, imagine now walking into Microsoft with a cd player on your belt, only it's not a cd player, it's an embedded computer sniffing 802.11 traffic. Or feed out an ethernet cable from it to sniff the wired traffic when no one's looking. Even have a disposable device you can hide behind a desk, behind the firewall, to get you inside access to the network from outside. You'd be surprised at what you can do with some AA batteries, an old 486 mboard, and a give away 200mb HD. You can go worlds with this knowledge. As to other ideas for cases, materials, hardware, construction ideas, configurations, battery designs, power supply designs, look around the various wearable systems lists and pages. Sometimes those people have more money than you do, but that doesn't mean that you can't be inspired by someone's designs. Here's a few links to wearable pages: http://www.media.mit.edu/wearables/ http://web.media.mit.edu/~rehmi/HackMan0.4.html http://www.praecogito.com/~brudy/wearable.html http://hwr.nici.kun.nl/pen-computing/wearables.html http://www.bham.ac.uk/ManMechEng/IEG/w1.html http://schwartz.www.media.mit.edu/people/schwartz/ http://www.ingineo.net/233.html http://www.ce.cmu.edu/~wearables/docs/reinhardt_icmms.pdf http://www.cs.uoregon.edu/research/wearables/ http://www.wearables.net/ http://wearables.essex.ac.uk/ http://wearables.blu.org/ http://iswc.gatech.edu/ I'd like to thank Mark for his help fixing my 12v power supply, and my friend without the nick whom I have no idea where he is for letting me get ideas and inspiration from his tupperware system with the LCD display, and for that guy at the 2600 meeting who sparked it all. Remember, don't do anything illegal, and have fun.