2014.05.07

For the past few years I’ve been building devices that can emulate computer keyboards. Typically I’ve used the Teensy microcontrollers for this along with the Arduino IDE and the Teensyduino add-on. The things you can do with a Teensy to emulate a keyboard are very impressive! Basically, it’s the best way I know of to create your own custom USB keyboard.

Size matters – A-Star with Arduino Micro and Leonardo

When the Arduino Leonardo was introduced, one of the features I was interested in was the ability to emulate a USB keyboard. I never actually got a Leonardo to test this with, mainly because the form factor was too large for my projects. Sometimes shield compatibility is good, sometimes the smallest board wins.

There may be a little bit of work involved in getting the A-Star up and running. There are drivers needed if using Windows, and (supposedly) a little more work to get things going with Linux. I had no issues with Mac OS X, but I’m pretty familiar with add-ons for the Arduino IDE due to using Teensyduino. You can also just pretend this is an Arduino Leonardo and that seems to work fine.

(I also can’t tell if the Pololu A-Star 32U4 Micro is open source hardware. They do have a bunch of files available, but I did not see an explicit “Open Hardware” note anywhere. It’s worth mentioning that the Teensy is not open source hardware. If that’s not a big deal to you, then it’s not a big deal to you. The official Arduino hardware is of course, open source.)

I’ll probably keep experimenting with the Pololu A-Star as a keyboard emulator for simple things, and stick with the Teensy for more complex things. I’ve also heard that the Teensy 2.0 will disappear in the future, which isn’t a huge deal, as the Teensy 3.1 is a big improvement over it, but the 3.1 does cost a bit more than the 2.0, so that’s one factor to consider when evaluating which board to use.

Have fun building your own keyboard!

Update #1: I’ve been talking to Pololu and they suggested the A-Star may actually be able to use the Teensyduino Keyboard libraries. I’m awaiting more info on this, as it would be an exciting development.

Update #2: It looks like the Teensyduino Keyboard libraries cannot be installed onto the A-Star, which is good to know. But don’t worry, I’ll be using the A-Star for some future projects anyway. ;)

2012.02.26

Today’s Maker Business involved some early morning soldering. (What else would I do at 7am?) Next up is programming, and then I need to drill out all the enclosures. (I’m hoping to do that later in the day.)

Oh, I also built a spray booth this weekend since I’ll be doing a bunch of spray painting. (We also use spray glue in the basement, and this should make that a little less messy.)

So on the Zen Button post, Flip commented on his 1-Key-Keyboard Project, and noted that it had the same “dead-simple functionality” but was a much lower cost.

The “dead-simple” part was also in the post’s description of my button, but I think that “dead-simple” had more to do with the parts and the build than the function, and here’s why I think that matters.

If you go back to the original AWESOME Button post, you’ll see a few people (including me!) wondered if you could use an Arduino instead of a Teensy. Why? Because the Arduino is cheap, and easy, and lots of people already have one.

But the Teensy is also cheap, and fairly easy, maybe just a wee bit more difficult, but still fairly easy, and you just plug the dang thing in via a USB cable and hey, what could be easier!?

But with ease of use comes a price. If you look at Flip’s 1-Key-Keyboard Project, it’s probably what he considered “dead simple” but to me, I see a list of parts including either a ATTiny45-20PU, or ATTiny85-20PU, or ATTiny85, or ATTiny45… and then there’s a few resistors, diodes, capacitors, some prototype-board, and a programmer that works with the Atmel AVRs.

Flip has done a great job writing up the project. I mean, I assume he has, but it’s way over my head. All the comments lead me to believe it’s pretty awesome. If you’re comfortable with everything he talks about, and it all makes sense, then that’s awesome too. Either way, I’m definitely glad Flip shared his project.

For those of us not ready to get that deep into AVR development, things like the Teensy or the Atmega 32u4 are simple enough to use that even beginners can get pretty far. Just in blog post comments and some emails I was able to help a few folks get their Teensys up and running.

Remember, everyone starts out as a beginner… but that’s not to suggest that you eventually need to get to the level where you’ll be using an AVR programmer with bare chips if using an Arduino or some other board does what you want with less hassle. Easy really is one of the main reasons the Arduino platform became so popular.

So if you ever see your project on Hackaday, try not to be discouraged by the commenters who are quick to point out how they would have done it better, faster, cheaper, and with 10 times the capabilities of what yours does, because while they were busy leaving discouraging comments, you were busy making something. :)