Teensy USB Development Board - 16MHz, $19
pjrc.com
pjrc.com
For anything of significant use, I think you need something like the Beagle Board (beagleboard.org) or a Gumstix. Anyone know of any others?
Once adafruit (http://adafruit.com/) gets the starter kit (http://is.gd/4sRs) back in stock, I'm going to order one for myself.
I know very little about hardware hacking but I had an idea the other day: I wanted to rig a mini-stoplight up (green, amber, red LEDs) that I could plug into my computer's USB port and hit hot keys to change which LED was lit.
Then my wife could look over and see if I was super-focused or not. When I was thinking about code or trying to do science writing, I would toggle the thing to the red LED; when I was screwing around on HN, I would toggle it to green.
I looked around naively but couldn't find something small & easy. This product could maybe fit the bill nicely.
Whether my wife would appreciate such a thing is another matter. :)
Color and write text on it.
Turn so appropriate color is facing outward
Voilà.
Extra points for if it: a. has an ethernet port b. reads rss feeds or email
My wife did the boolean version of this, though, when I told her I wanted to spend $100 on a fancy board from National Instruments. She folded a piece of paper in two, wrote "DO NOT DISTURB" on one half, and propped it up next to me.
At that point, you could probably sell the thing on thinkgeek.com and watch cubicles everywhere fill up with activity indicators. Of course, there would have to be manual override, so cube workers could set it to red all day when they don't feel like doing anything.
When a Terminal window is in the foreground and has an open ssh session --> amber
When Firefox in foreground, displaying news.ycombinator.com --> green.
Never automatic red, though: I would want to conserve its signaling value, so that it would always mean, "if you talk to me right now you are going to mess up a thought structure that was difficult to build".
[edit:
Hm, a little bluetooth-enabled one of these actually would be a pretty cool thinkgeek product.
]
-- In AppleScript while I wait for tea to steep...
if application "Terminal" is frontmost then
tell application "Terminal"
get name of first item of windows of it
if result contains "ssh" then
set red to false
set yellow to true
set green to false
end if
end tell
end if
-- or a one-liner...
if application "Terminal" is frontmost then tell application "Terminal" to ¬
if (name of first item of windows of it contains "ssh") then set stoplight to "yellow"IDE/text edit open -> red light, web browser -> yellow, game -> green.
If you want to build a white-LED-driven stroboscope to check your engine timing, or get fault codes out of your OBD-II, or sound an alarm when the air conditioner is on and the window is open, or control your five-axis robot, etc etc etc., something like this is ideal.
Atmel has a set of application notes for the chip at http://www.atmel.com/dyn/products/app_notes.asp?part_id=4097 that show some example things you can do with it.
Can you do that in reverse? i.e. make an oscillator who's frequency depends on the input (resistance presumably), then each time the oscillation goes above a certain voltage it would trigger a digital 'on' signal (edge trigger I guess). Count how many of those you get per time, and you have an ADC.
Would that work?
http://www.analog.com/en/analog-to-digital-converters/voltag...
Also, sometimes all you care about is the value of a signal relative to a threshold, so you use a simple comparator to make a higher/lower signal.
http://www.designingwithsensors.com/applications/all_article...
Alternately, there is an old technique that generates a PWM-like output that is added with the signal-under-test (the thing you want to measure :-) and the output of that addition is monitored by an input pin. Measure the on vs. off time (PWM) at the input pin and you have a fairly accurate ADC. Low resolution, but it works.
But honestly, with so many precise, accurate and cheap ADCs available these days, doing conversions like this in software is relegated to designs where pennies are significant and the manufacturing costs dwarf the development time.
This is a great way to test ideas on the cheap.
When I saw this I also started thinking of connecting it to a relay for lighting applications. It'd be fun at a party to connect this to a set of relays and lamps and drive it from the output of a beat detection algorithm. Or to have it automatically dim the lights in the living room when the PVR computer starts a movie.
The Teensy's USB port is multi-purpose. If the HalfKay bootloader is activated (via a push-button on the board), the USB port is used for firmware-manipulation purposes. HalfKay lives on the EEPROM.
Once the device is powered off then on, the USB port is used as a normal communication device and can be fully utilized to speak with the PC or other USB peripherals. USB communication code is in your program and lives on the FLASH.
So, yes - looks like it can.
My dad told me once that some people from his generation were positive we'd have colonized the moon by 2010...
Wars and such...
If we don't, it seems totally possible that at some point a large-scale disaster on Earth could wipe out all human life.
I was close though. About 10% larger in area.
Do people know how Teensy and Arduino compare?
I do know that Arduino is 100% Open Source which is why so many cottage electronic outfits provide them premade.
* Teensy has a native USB, much faster than the USB/serial bridge of an Arduino. I also find the discrete transaction nature of USB easier for communication, though good old fashioned serial is easier for many people to integrate on the host side.
* Arduino has analog inputs, the chip in Teensy does not. If you need analog you can either add an analog converter chip, or go ghetto and use a digital pin, a resistor, and a capacitor and time how long it takes to recharge after you flush the charge. Drawbacks abound.
* Arduino is a complete environment tailored to easy uptake. This is the most important point of Arduino. You can take someone who does not know what a compiler is, and in minutes they can be in control of hardware. The brilliance of Arduino does not show in the bullet list, it is brilliance by omission.
Why do you worry about being soldered down? I suppose if you are going to accidentally blow the chip it is a cheaper repair, but with a cheap hot-air unit and the video tutorials at SparkFun you should be able to replace that chip if you like. (You will have to figure out how to load the initial bootloader if it is different from the one supplied by AVR, but AVR's is sufficient.)
If you do blow a pin, it probably isn't a total loss. I was winging a little change to just such a processor and ran a 24v line to a digital pin. The pin stopped working, but the rest of the chip continued just fine. The moral is for prototyping you can just use different pins, learn your lessons, and your final deployed unit should be fine.
Even so, if you do it's only $19!
Frequently these breadboard type computers get accidental shorts from large fingers or are attached to incompletely specified devices ripped from old equipment. That's the only pin I've ruined in many projects and lots of breadboard work, but it happens. It's nice to know I can just move to the next extra pin and continue.
With experience some things become second nature: no loose conductors on the test bench; double check before powering up; test one change at a time; add a temporary BIG resistor to any input that's over the PS voltage, don't change connections with power applied, etc.
Ask me how I know that EPROM based devices release a pretty purple flash right before the smoke comes out :-)
http://www.pjrc.com/teensy/loader_cli.html
Has the source to a command line downloader (GPL)