Slashdot Mirror


The Awesome Button

An anonymous reader writes "An awesome hardware hack which demonstrates how easily USB-based human interface devices (eg, Keyboards and Mice) can be created using the Arduino software environment." A very nice little project based on the Teensy USB Development Board. Reminds me of the breadboard electronics projects my Dad used to work on with me many years ago. "Great fun for young and old," you might say.

80 comments

  1. My god, it's full of stars!!! by Anonymous Coward · · Score: 0

    push it!

  2. WE KNOW by Osgeld · · Score: 1

    Yea we know about V-USB

    http://www.obdev.at/products/vusb/index.html

    move on

    1. Re:WE KNOW by Anonymous Coward · · Score: 2, Informative

      This isn't V-USB, which requires pretty advanced C programming knowledge. It's based on the Arduino software, which makes it far easier and more accessible.

      Sure, the final result is the same if you're in that elite C coder camp, and you probably even view Arduino as a toy not worthy of your attention.

      But for the rest of us, Arduino makes the things that ought to be easy, well, easy. You could even same it's awesome^H^H^H^H^H^H excellent.

    2. Re:WE KNOW by Osgeld · · Score: 1

      I am not a elite C coder, I use arduino, I use v-usb on arduino yea theres a lib for that, the lib's on teensy are the same magic scary C stuff, just with the external hardware on chip

      move on past the blinking led and sparkfun serial lcd, there is a whole world you can mess with even with an arduino

  3. Obligitory by Anonymous Coward · · Score: 1

    Obligatory Ardunio is overkill / Ardunio sucks / Ardunio is ruining electronic my hobby / Could be easier and cheaper with a [PIC|Discret logic|mechanical relays|paper clips and bubblegum] / Ardunio kicked my dog and punched my sister

    1. Re:Obligitory by Richy_T · · Score: 1

      Yeah, I don't get the whole "Arduino" fetish. Nothing wrong with it but it's not really anything new. If you're raving about it, you should get out a little more.

    2. Re:Obligitory by Anonymous Coward · · Score: 0

      I hereby declare that the word "obligatory" has officially been overused.

  4. Re:Did anybody read this as human usb device? by Anonymous Coward · · Score: 2, Informative

    Goatse, do not click

  5. Meh by WrongSizeGlass · · Score: 1

    My button is perfectly cromulent, thank you very much.

    1. Re:Meh by Low+Ranked+Craig · · Score: 1

      But does it embiggen your mind in a fulfilling way?

      --
      I still cannot find the droids I am looking for...
  6. Another misuse of awesome. by zanian · · Score: 1

    A button that inserts synonyms for "awesome" is a worse perversion of English than just using "awesome". However, I guess it's better than having an "easy" button.

  7. Don't Click The Link! by WrongSizeGlass · · Score: 1

    The link contains the following:
    data:text/html;base64,PHRpdGxlPllvdXIgdXJsIGFudGktc2hvcnRlbmVyIHdvcmtzPzwvdGl0bGU+PGltZyBzcmM9aHR0cDovL2JpdC5seS9lakdqdEsgaGVpZ2h0PTEwMCUgLz4K

    Thanks TinyURL Preview!

    1. Re:Don't Click The Link! by YrWrstNtmr · · Score: 2

      I don't click TinyURL or bit.ly links as a matter of course.

    2. Re:Don't Click The Link! by Ant+P. · · Score: 3, Informative

      Which base64-decodes to:

      <title>Your url anti-shortener works?</title><img src=http://bit.ly/ejGjtK height=100% />

      Which, predictably, redirects to this:

      ~ $ curl -I http://bit.ly/ejGjtK
      HTTP/1.1 301 Moved
      Server: nginx
      Date: Sat, 09 Apr 2011 17:40:20 GMT
      Content-Type: text/html; charset=utf-8
      Connection: keep-alive
      Set-Cookie: _bit=4da09a04-0007f-06d8f-f4ac8fa8;domain=.bit.ly;expires=Thu Oct 6 13:40:20 2011;path=/; HttpOnly
      Cache-control: private; max-age=90
      Location: http://goatse.ru/hello.jpg
      MIME-Version: 1.0
      Content-Length: 118

  8. The HID interface is nice. by Animats · · Score: 2

    Yes, the USB HID interface is quite easy to use. I've dealt with it from the other side, using a Logitec steering wheel, mouse, and pedals to control a robot vehicle.

    Force feedback via that interface is lame, though. I wanted to have the steering wheel track what the vehicle steering was actually doing, so you'd feel the resistance of the real steering. You could spin the steering wheel, and it would take a second or so for the real vehicle's steering to catch up. But the HID interface for steering wheels is more like an audio device, intended for vibration, not positional feedback.

    Incidentally, you can have many HID devices, and they don't have to pretend to be the main mouse and keyboard. Applications aware of them can use them for other inputs.

    1. Re:The HID interface is nice. by Anonymous Coward · · Score: 0

      Sounds like you simply need a feedback control loop. I don't see the problem.

    2. Re:The HID interface is nice. by Anonymous Coward · · Score: 0

      You need haptic feedback, not force feedback. USB HID spec supports both, but commodity gaming hardware isn't going to.

  9. Custom game controller by stevegee58 · · Score: 2

    Think of the custom game controller possibilities for PC-based gaming.

    With some custom DIY mechanical design you could make foot controls, chair arm controls, etc all fed through the keyboard interface.
    This little USB gadget makes it much easier.

    Awesome!

    1. Re:Custom game controller by Servaas · · Score: 2

      You also use a 2 dollar throwaway keyboard, rip out the print board and solder directly to a keyboard interface. Sure you loose the keyboard codes that you use but its cheaper, easier, and entirely not my idea. But I am using it to make me an SNES pad to USB.

    2. Re:Custom game controller by Jeff+DeMaagd · · Score: 2

      Every keyboard I've seen have a huge circuit board, how to do deal with that? It would seem the teensy would be better, it's already small, and maybe less prone to failure vs. using a cut-up keyboard circuit board.

    3. Re:Custom game controller by mrmeval · · Score: 2

      http://hackedgadgets.com/2010/05/10/computer-keyboard-disassembly-and-cleaning/

      http://www.instructables.com/id/Hacking-a-USB-Keyboard/

      It's a tiny board. the chip is under a blob of goo. The only downside is it has to be a working keyboard so you can use a multimeter to know what pins goes to what key. It's tedious but not terribly hard. Once you know the key matrix you have for the princely sum of 9 dollars a USB dongle that you can wire up how ever you want. You literally have as many inputs as keys.

      What I do not know is if it's possible to assign one keyboard to normal tasks and have the hacked keyboard only do some specific thing.

      --
      I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
    4. Re:Custom game controller by Chelloveck · · Score: 1

      The only downside is it has to be a working keyboard so you can use a multimeter to know what pins goes to what key. It's tedious but not terribly hard. Once you know the key matrix you have for the princely sum of 9 dollars a USB dongle that you can wire up how ever you want.

      But is it worth the hassle when you can buy a ready-to-use interface board for $30 more?

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
    5. Re:Custom game controller by Chelloveck · · Score: 1

      Bah, forget I posted that. Now that I've actually read the article I see that the Teensy does a better job and is cheaper. But the point still stands -- when you can get something like this for $20 or $25, why bother ripping apart a keyboard and tracing out the circuit?

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
    6. Re:Custom game controller by mrmeval · · Score: 1

      For $28.95 I can get fantastic sushi with hot saki. Yes it's worth it. I used the price of a new keyboard to show even that is cheaper.. I can get keyboards for $3 at thrift stores.

      Or something cooler. http://symlink.dk/projects/c64key/

      --
      I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
    7. Re:Custom game controller by mrmeval · · Score: 1

      If you have the time you acquire additional skillz and you get tasty sushi.

      Can you hack a microwave controller to do some other task?

      How about using 'disposable cameras as strobes?

      $25 dollars is a basket full of items at a thrift store that can be used for some other purpose. Or sushi

      --
      I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
  10. Need a Slashdot button by PPH · · Score: 3, Funny

    "In Soviet Russia..."
    "Personally, I welcome our .... overlords."
    "You insensitive clod!"
    "CowboyNeal is a .... "

    --
    Have gnu, will travel.
    1. Re:Need a Slashdot button by Anonymous Coward · · Score: 0

      I accidentally my Slashdot button.

    2. Re:Need a Slashdot button by anotherzeb · · Score: 1

      Think of slashdot button
      Make slashdot button
      ...
      Profit

      --
      Good luck sometimes arrives disguised as bad
    3. Re:Need a Slashdot button by PPH · · Score: 1

      ... = Patent Slashdot button

      --
      Have gnu, will travel.
    4. Re:Need a Slashdot button by TheCycoONE · · Score: 1

      s/Slashdot//

  11. Re:Awsome... by Anonymous Coward · · Score: 0

    Now to create an input device that would type 'format C://"

    you mean format C:\ ??
    probably wouldn't work in most windows version either, unless you made it pull up a (privileged) DOS prompt first. your also going to have to add a few switches to force unmount etc.

    Yes, I know I'm feeding the Troll :)

  12. awesome button; gateway to hymenology (updated) by Anonymous Coward · · Score: 0

    nothing that can be talked about, nor stuff that really matters, here, to us, chimp like unchosens?

    do monkeys have an awesome button?

    1. Re:awesome button; gateway to hymenology (updated) by WrongSizeGlass · · Score: 3, Funny

      do monkeys have an awesome button?

      Monkeys don't need an awesome button because monkeys are inherently awesome.

  13. More Goatse by WrongSizeGlass · · Score: 1

    Link is goatse: freeblogspot.org/journalism/2011/04/03/post/

  14. Re:Awsome... by Osgeld · · Score: 1

    dont even need the \ your formatting a drive not a directory

  15. Awesome?...not by Anonymous Coward · · Score: 1

    Geez, this is really not awe-inspiring, nor is it overwhelming. A gadget that is a one word thesaurus is hardly breathtaking. It is absolutely not a magnificent project. For sure it is not frightening, not even a little intimidating. It is an astonishingly stupid waste of time.

    1. Re:Awesome?...not by Anonymous Coward · · Score: 0

      One man's fun, light-hearted hack is another man's stupid waste of time!

      It must be sad to live in a world where things need to be breathtaking, frightening, magnificent or intimidating to be worthy of ones time.... like commenting on slashdot articles?

    2. Re:Awesome?...not by flimflammer · · Score: 1

      Who called the fun police?

    3. Re:Awesome?...not by Jeff+DeMaagd · · Score: 1

      Punny. You're either taking things too seriously, or not doing a good job of making fun of taking it too seriously.

      I don't know if you finished it, but the video acknowledges that most people wouldn't want to make one. It does, however show how a circuit can be easily used in custom projects without taking a significant amount of time.

  16. Re:Awsome... by WrongSizeGlass · · Score: 1

    More goatse: freeblogspot.org/journalism/2011/04/03/post/

    You're a busy boy today.

  17. Porn Panic Button by Anonymous Coward · · Score: 1

    NSFW, boss approaching, just slap it quick!

  18. It writes the word "awesome". by jfengel · · Score: 5, Insightful

    Attention writers and summary writers: they key information (like "What does it do?") goes FIRST. Not buried in the middle of a paragraph. DEFINITELY not to be omitted entirely from the summary.

    So, this is the sentence from TFA that should have begun the article and the summary:

    It’s a plug-and-play USB device that will type a random synonym for the word “awesome” when the button is pressed.

    Then the rest of us can say, "Gosh, that sounds pretty damn lame" and move on with our lives far more efficiently.

    1. Re:It writes the word "awesome". by pavon · · Score: 4, Informative

      Of course, Iâ(TM)m not totally serious about this particular application, but I wanted to show how you can make your own custom USB human interface device

      The actual point was exactly what the summary said; to show how to make simple USB HID devices. The specific example used to demonstrate this was immaterial. In other words, just because "Hello World" is a lame program doesn't mean that tutorials including it are.

    2. Re:It writes the word "awesome". by flimflammer · · Score: 1

      The demonstrated project the entire focus of the article. It's from Make for crying out loud. It's just an article on how easy it really is to create HID devices.

    3. Re:It writes the word "awesome". by flimflammer · · Score: 1

      Somehow I forgot to insert "wasn't" between "project" and "the". Whoops.

    4. Re:It writes the word "awesome". by Anonymous Coward · · Score: 0

      What does it do? Is that really all you saw?

      First, it demonstrates how very easily anyone with basic knowledge of Arduino, which is indeed very simple and easy to learn, can make a custom device using Keyboard.print() and the usual Arduino stuff. Previously Arduino could only do USB serial (eg, COM ports), yet many thousands of people, many of them novices to electronics and programming, have made so many really fun and interesting things. This opens up a whole new way such projects can work.

      The video also demonstrates how fun it can be to hack ordinary things and turn them into something unique, in just 5 much-less-boring minutes than most YouTube videos about electronics projects.

      Sure, maybe YOU never intend to hack anything like this? Some people just don't feel that creative urge! Some just have better things to do, and on slashdot no less, like fret over the latest expansions of copyright law!

      For creative types, it really is fun to make stuff, to hack things just for the novelty of it. Even if you're a horribly overworked and cynical IT professional, just image making a big WTF or Reboot button? Or there's some tense or overly drawn out meeting about some issue specific to your company, and for fun you grab a big Staples Easy button and hack it to make a fun joke to defuse tensions at the next meeting? Or you make a very specific geeky gag gift for somone? There's limitless fun possibilities for simple hacks like this.... if you're a creative type, with a little spare time and a dremel tool, some fairly cheap electronics (eg, about $25), and ability to use Arduino.

      It's sad you missed the fun-factor and ease-of-hacking point. Then again, lots of people probably did too. Not everyone has creative urges and/or thinks hacking stuff is fun.

    5. Re:It writes the word "awesome". by jfengel · · Score: 1

      The title of the Slashdot article is "The Awesome Button", with no indication of what's so awesome about it.

      The title of TFA is somewhat better: "The AWESOME Button: A Made-to-Measure USB Input Device". I have bigger complaints there that it's mostly in the video.

    6. Re:It writes the word "awesome". by LordLucless · · Score: 1

      No, the summary's title was about an "Awesome Button", and the first sentence mentioned an "awesome hardware hack". The focus of the summary (if not the article) was definitely on how awesome the hack was (not very).

      If the title of the summary was "Build Your Own USB HID" or "Basic Arduino Tutorial", you might have a point.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    7. Re:It writes the word "awesome". by argStyopa · · Score: 1

      An anonymous reader writes
      "Awesome software code which demonstrates how easily code can be created using the Arduino software environment."
      A very nice little project based on the (generic code project). Reminds me of the software my Dad used to work on with me many years ago. "Great fun for young and old," you might say.

      Is that a useful summary of Hello World? No, because it DOESN'T SUMMARIZE ANYTHING. "There's some code, it does some stuff, and reminds me of my dad" isn't a summary, it's just blathering.

      I believe that was the OP's point.

      --
      -Styopa
  19. Cool but... by Anonymous Coward · · Score: 1

    he's using a Mac, can't take him too seriously as a hacker.

  20. Hello world? by formfeed · · Score: 1

    just because "Hello World" is a lame program doesn't mean that tutorials including it are.

    Right. Were it not for the fact that many arduino projects don't see themselves as Hello-word-tutorials but as clever hacks.

    Trying to scratch your nose with a four foot pole might be ok if you're trying to prove some other point. Just don't hype it as the most clever idea ever.

  21. [facepalm] by PhreakOfTime · · Score: 4, Funny

    That is why it is called 'slang'.

    It is not supposed to mean what the original definition is.

    If you are old enough, you would probably have taken people to task for misusing the word 'square'. Which amusingly enough, would have made you one :)

    1. Re:[facepalm] by zanian · · Score: 1, Informative

      That is why it is called 'slang'.

      It is not supposed to mean what the original definition is.

      If you are old enough, you would probably have taken people to task for misusing the word 'square'. Which amusingly enough, would have made you one :)

      There is nothing wrong with slang. However, sometimes slang cheapens the original meaning of a word. I use awesome as slang often enough myself, but it should be reserved for things that are truly awe-inspiring. Things like the notion of God, the universe, even the holocaust (which demonstrates a negative thing that is still awesome). Using the word as slang is fine, I'm not the language police. However, overusing adjectives and thinking that they all mean the same thing is terrible.

      Your example is wrong. Square is slang that everyone understands is an expression. The fact that I'm square does not cheapen the meaning of the shape. Whereas, the expression awesome has taken over the original expression. Most people do not actually know what awesome means.

    2. Re:[facepalm] by Anonymous Coward · · Score: 0

      I'm not the language police.

      You sure are acting that way though...

    3. Re:[facepalm] by Anonymous Coward · · Score: 0

      >it should be reserved for things that are truly awe-inspiring...like...the holocaust...

      Is this really the stand you want to make---that we shouldn't use 'awesome' to describe cool hacks, but should instead reserve the word to describe...the holocaust?

      "No brad, I don't think your jetpack is 'awesome'. You wanna know what's awesome? ..."

      I can't even finish.

    4. Re:[facepalm] by Anonymous Coward · · Score: 0

      I think it's probably far too late to protest. As far as I can tell, the original meaning of the word "awesome" is long gone out of use, and this often happens for words that have been used for centuries. Kind of like how no one uses "sinister" to mean to the left or left handed anymore, even though it is a technically valid use.

    5. Re:[facepalm] by zanian · · Score: 1

      Yes that is true. Awesome can be used to describe the most terrible things, things that are surreal, unimaginable.

    6. Re:[facepalm] by Anonymous Coward · · Score: 0

      Whereas, the expression awesome has taken over the original expression. Most people do not actually know what awesome means.

      And that, my friend, is when words stop meaning what they used to mean, and start meaning what most people think they mean.

  22. Re:Obligitory Arduino Fetish Rant by billstewart · · Score: 4, Interesting

    Arduino gives you all the pieces you need to start using microcontrollers - hardware and software environments, lots of contributed libraries and applications. If you want to write stuff from scratch you can, but if you want to get started building your blinky-light thing, it's all there, and then you can go on to more complex projects. It has a few limitations (Teensy gets around the USB-vs-serial issues, for instance), but it's pretty complete and extremely expandable. If you're more interested in tweaking bits, you can use many different tools, but if you're really trying to add blinky lights to your backpack or move the servo arms on a robot thingy or program the lights on your Christmas tree to respond to music or controlling your thermostat, you can use the Arduino tools to do that without diving into the bit-bashing first.

    And yes, you could have just bought the AVR ATmega chip yourself, but then you'd have needed a in-circuit chip-programmer device, which costs just about the same as an Arduino, and you can load a program into the Arduino to make it be a chip-programmer, so you might as well buy the Arduino anyway.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  23. DA2 by Inf0phreak · · Score: 1

    Did anyone else think of this video when they saw the words "awesome" and "button" connected?

    --
    ________
    Entranced by anime since late summer 2001 and loving it ^_^
  24. Re:Hello world? Awesome! by billstewart · · Score: 1

    But this really was a Hello-world-tutorial, and presented as such. The application itself was slightly lamer than printing "hello world", but that wasn't really the point.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  25. Way Kewel by Anonymous Coward · · Score: 0

    I have an old SSB radio, with very sticky buttons (which must be used for entering frequencies, scan ranges, sleep timers, etc). The front panel is still intact, but it just won't behave nicely anymore. Solution: put in a teeny, with a tiny USB hole placed on the side of the radio. Long USB cable from computer, or pinpad usb keyboard. Suddenly, you can program this thing to select fequencies at specific times, with a few additional chips convert FSK data into text (and have the radio not just automatically decode it, but also store it for later retrieval), and also digital weather maps from the NOAA. All in a tiny $20 package.

  26. Re:Did anybody read this as human usb device? by Anonymous Coward · · Score: 0

    Please mod parent up: Informative and Daysavior :)

  27. Re:Hello world? Awesome! by jfengel · · Score: 1

    The article, for the most part, did in fact present itself as a tutorial. Especially in the context of MAKE magazine.

    It's the Slashdot article which requires a device to generate synonyms for "bad".

  28. Going about it the hard way. by MichaelSmith · · Score: 1

    Just solder your fancy button to an existing button on an existing keyboard, then re-map that key to your requirements.

  29. Re:Awsome... by filthpickle · · Score: 1

    Just an FYI, nothing to do with this discussion....but did you know that DOS doesn't care which slash you use anymore? You can even mix them up in the same path and it will still figure it out. Not that it's a particularly good idea to do that...

  30. Arduino UNO & Mega2560 HID firmware by Anonymous Coward · · Score: 0

    The article is about creating a Keyboard HID device with a Teensy USB development board, but the same can be done with the official Arduino development boards. The Arduino UNO and Mega2560 boards come with an atmega8u2 handling the USB to serial interface. The nice thing about this is that the atmega8u2 can be reprogrammed to turn the Arduino into a USB device, like a Keyboard HID, mouse HID, or MIDI device.

    Details here: http://arduino.cc/playground/Main/InterfacingWithHardware#USB

  31. Arduino UNO & Mega2560 HID firmware by Anonymous Coward · · Score: 0

    The article is about creating a Keyboard HID device with a Teensy USB development board, but the same can be done with the official Arduino development boards. The Arduino UNO and Mega2560 boards come with an atmega8u2 handling the USB to serial interface. The nice thing about this is that the atmega8u2 can be reprogrammed to turn the Arduino into a USB device, like a Keyboard HID, mouse HID, or MIDI device.

    Details here: http://arduino.cc/playground/Main/InterfacingWithHardware#USB

  32. as are all primates, hymenless by Anonymous Coward · · Score: 0

    so, creation + evolution = perfect math, no conflicts, if we minus our man made 'modifications'.

  33. Re:Did anybody read this as human usb device? by Anonymous Coward · · Score: 0

    Welcome to Slashdot, where Goatse is Redundant

  34. Re:Awsome... by CheerfulMacFanboy · · Score: 1

    Now to create an input device that would type 'format C://" every time one logs in... It won't work in Linux so....

    This will http://www.h-online.com/open/news/item/USB-driver-bug-exposed-as-Linux-plug-pwn-1203617.html

    --
    Fandroids hate facts.
  35. Link roulette by mmj638 · · Score: 1

    TFA is the first link.

    I swear, you used to be able to open a Slashdot submission and know which was the actual link to the TFA.

    What's with this current trend of camoflaguing links in your text so nobody knows which link is the important one? In this case the TFA link has the text "USB-based human interface devices" which doesn't really indicate you'll find this "awesome button" article behind it. The second one which says "Arduino" is a link to a random Slashdot submission about the Arduino. And the third link, "Teensy USB Development Board" is a link to some supplier of that board.

  36. Keep the speaker by HTH+NE1 · · Score: 1

    Keep the speaker, attach the button to a much larger box, and make it play random sound samples instead of typing.

    "Yes!" "No!" "Hell no!" "Ask again later." "Sell!" "We're all gonna die!" "Bees!"

    --
    Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
  37. The Awesome Button? by Stormtrooper42 · · Score: 1

    After reading the title, I thought it was referring to some new feature to be included in Firefox...