July 21, 2004

DIY Bottlecap Tripod

diybottletripod.jpgSince even cyborgs with point of view cameras often carry around video cameras or handheld digicams, I thought I'd mention this cool DIY tripod, which costs only $1.50 in parts. Inspired by the ten dollar (now sold out) Bottle Cap Tripod, which is pictured below.

tripod.jpg

[Link via boingboing]

Posted by nym at 07:18 AM | TrackBack

June 17, 2004

TouchPad Keyboard

7312187097675176.jpgTouchpad company, Exideas, is using touchpad technology to help build smaller input devices. This one has a lot of wearable tech potential being that, it's so small. I can imagine people using this on their sleeves, as a touchpad "watch" (sans timekeeping), or even on their pants. While I think I would prefer a Twiddler 2 for my dream wearable, this seems like a logical solution for hi-tech phones, mp3 players, and more.

"MessagEase Keyboard uses a system of taps and slides with fewer keys requiring a smaller area. The taps enter frequent letters while slides enter the rest of the characters. MessagEase keyboard is currently available for use with PDA and Tablet PC. A touchpad implementation of MessagEase can also function as a mouse input." [from geekzone]

[Link via engadget]

Posted by nym at 11:25 AM | TrackBack

May 21, 2004

MiniGPS

Tiny GPS out on the market. It's about 5cm by 5cm and can be mounted on your car's dashboard. Pretty neat!

Posted by nym at 12:57 PM | TrackBack

March 10, 2004

Disassembling the Gumstix

My initial post on the Gumstix elicited the desired reaction: people gave me information! The way to get fast answers on the net isn't to ask a question, but to post information that isn't true.

My friend Adam Flaherty (major creator of the NoCat night light among other feats of techno-coolness) wanted to see the Gumstix. So we got together at Aroma Roasters and drank coffee while prying apart the case and unscrewing things with my Swiss Army knife. What we found, and a quick web search, reveals all sorts of fun potentials.

First a look at the hardware. Taking turns Adam and I were able to pry apart the plastic case. Sadly it was glued together, so it suffered under the onslaught of two caffeinated geeks bearing tools.

gumstick_daughter_back.jpg

Depending on which half of the casing pops off first you will see the back of the daughter board. the silver can popping through the slot on the left side of the bottom is the crystal from the Gumstix. The two chips on the right are the transceivers for the two serial ports. The two clusters of solder blobs on the top right are the back sides of the serial connectors.

gumstick_daughter_front.jpg

The Gumstix and the much larger daughter board are held together with one screw. Removing that with a pocket knife yielded several near misses, and the separation of Gumstix and daughter board. The front of the daughter board reveals the two serial ports (top left), the power connector (the rectangle next to them), the USB connector (top right) and the spring connector to the Gumstix.

gumstick_main_front.jpg

Moving to the Gumstix itself we have the MMC memory socket, shown here with a 128 mb MMC card, and some electronics.

gumstix_main_back.jpg

Flipping over the Gumstix shows a bunch of interesting chips, and on the far right, the pads that connect to the mother board (or to other devices of your own creation. Cue scary music and maniacal laughter...).

The description of the 'bare-pad' connector is available on the Gumstix site. To me the interesting thing is that we appear to have access to the I2C bus. This is a 2 wire bus designed to connect CPU's and microcontrollers (yes, I know that those are the same except for size...) with various devices, such as LCD displays. Take a look at the connector spec and let me know what I'm missing!

I have more to write about the Gumstix hardware and software tool chain, but I'll save that for another day. And now, hopefully I'll be able to put it all back together, otherwise I suppose my Gumstix will become a paper cut on the bleeding edge!

Rich Gibson is a Perl/Database programmer whose current fascination is creating tools to aid in the acquistion, management, and presentation of information with a geographic component.

Posted by nym at 10:59 PM | TrackBack

March 09, 2004

Introduction to the Gumstix tiny linux computer

The Gumstix computer (also see Gumstix.org) is a tiny 200 or 400 Mhz single board computer based on the Intel XScale processors. with Linux Kernel 2.6.0 in flash ram. They have 64 mb of RAM. You can get your Gumstix as a tiny little board, or a 'full fledged' computer. I orded mine with a 128 mb MMC memory card. So what do you get in a tiny package? A 400 mhz Linux box that will run on 3 AAA batteries.

My goal is to create a small geoannotating computer. I want a general platform to which I can connect arbitrary sensors and other annotation devices and link them with continuous GPS tracklogs. But first things first.

So how do I talk to it? The first challenge is to connect. The Gumstix comes with the console set to ttyS0,115200n8. I ordered a serial cable with my unit. So I was able to connect to power, connect the serial cable to the Waysmall Computer and to a serial port on my Linux box and login to the Waysmall from minicom with only slight troubles (all of them of my own creation!) From my Linux terminal I started minicom and set parameters:
^A P
set communications parameters to 115200 8N1
^A T
set terminal emulation to ANSI
^A O
selected serial port setup, set hardware flow control to none. This presented a friendly linux prompt!
# uname -a Linux gumstix 2.6.3-rc3 #1 Fri Feb 20 11:10:22 PST 2004 armv5tel unknown 
Then, following the instructions, I mounted my MMC Card:
mknod /dev/mmcblk0 b 254 1
mkdir /mmc
mount -t vfat /dev/mmcblk0 /mmc
Within /mmc was the file root_fs_arm. So I mounted that with the loopback device: mount -t ext2 -o loop /mmc/root_fs_arm /mnt At this point I had a read only file system on / and /mnt. The MMC card contains a reasonably full development environment, while still leaving nearly 60 mb of file system.
# df
Filesystem                Size      Used Available Use% Mounted on
/dev/ram0                 3.9M      1.8M      1.9M  49% /
/dev/mmcblk0            124.7M     66.9M     57.8M  54% /mmc
/dev/loop0               66.5M     49.5M     15.1M  77% /mnt
I decided to test the compiler by writing /mmc/hello.c Create test.c as:
main () {
    puts("string");
}
Sadly that barfed. Now I am pretty sure that it is me, and not gcc, that is at fault! But if you have any ideas, please let me know!
# /mnt/usr/bin/arm-linux-gcc  test.c
pgd = c22ac000
[00240224] *pgd=a398a011, *pte=a3b2505f, *ppte=a3b2502b
PC is at 0x228004
LR is at 0x4c13c
pc : [<00228004>]    lr : [<0004c13c>]    Not tainted
sp : 00240000  ip : 00000000  fp : 00000000
r10: 00274bf4  r9 : 00000000  r8 : 00000000
r7 : 00240224  r6 : 002420cc  r5 : 00000000  r4 : 002423d0
r3 : 00000047  r2 : 00000000  r1 : 00240224  r0 : 00000000
Flags: nzCv  IRQs on  FIQs on  Mode USER_32  Segment user
Control: 397F  Table: A22AC000  DAC: 00000015
pgd = c22ac000
[00240224] *pgd=a398a011, *pte=a3b2505f, *ppte=a3b2502b
PC is at 0x228004
LR is at 0x4c13c
pc : [<00228004>]    lr : [<0004c13c>]    Not tainted
sp : 00240000  ip : 00000000  fp : 00000000
r10: 00274bf4  r9 : 00000000  r8 : 00000000
r7 : 00240224  r6 : 002420cc  r5 : 00000000  r4 : 002423d0
r3 : 00000047  r2 : 00000000  r1 : 00240224  r0 : 00000000
Flags: nzCv  IRQs on  FIQs on  Mode USER_32  Segment user
Control: 397F  Table: A22AC000  DAC: 00000015
arm-linux-gcc: Internal error: Segmentation fault (program cc1)
Please submit a full bug report.
See  for instructions.
Rich Gibson is a Perl/Database programmer whose current fascination is creating tools to aid in the acquistion, management, and presentation of information with a geographic component.

More pictures at Rich's Gallery
Posted by nym at 11:54 PM | TrackBack