My Arduino Open Source Blackberry

I just finished writing everything up, and figured I'd throw up a post here too... Here are some pictures of my open source blackberry ... aka "openberry" project (well, technically it needs a base station and only works over xbee for now, but the next step is to try to get it on the "grid").

It'll definitely look much cooler with a black version of the buttonshield...

http://antipastohw.blogspot.com/2009/03/using-buttonshield-to-make-open-source.html

You guys are well ahead of the crowds....

Thanks ... that's really flattering :-) Especially though, I really want to learn or teach myself how to make like real gadgets from OSHW stuff that do the same kinds of things "real" company stuff does... like if instead of buying an iphone, I want to build it myself... so I still definitely have a long ways to go ... hmmm... I think I want to build a TI 83/85 "calculator" next...

Forget the crackberry - get the hackberry!

Nice =) Great work!

That button-shield, is it matrix or a bunch of single buttons?

!c

@brian - actually, the buttonshield has a hidden small atmel on the back, which polls the buttonshield and converts it into a 5-bit binary value, that can be polled directly on either the first 5 digital io lines above pin 3, or the 5 digital io lines above that (aka mode a and mode b)... that way, the shield can adapt around whatever other shields are used... like the ethernet shield, or touchshield or waveshield

Congratulations for being featured on engadget!

Just out of curiosity, why 26 buttons?

Thanks ! I like that my name was “intheblitz” like blitzkrieg as opposed to bitz as in binary bits. Oh well, sounds more intense as intheblitz…

Anyway, 26 buttons was kind of silly in hindsight… so I think the next one is going to have 32 buttons. Mike and I talked about it over email, and were like, 26 because of course A-Z. I knew there were only 5 digital IO pins to use, and 2^5=32, but you can’t use the initial state 00000 because that’s the signal for “no button pressed” so that’s 31 potential signals total (as long as it’s ok to only press 1 button at a time - it won’t detect multiple buttons pressed at the same time).

So that means maybe: A-Z plus period, space, at sign, enter.

Then it gets a little tricky with mode A and mode B. Because the signals only come out 5 pins, there’s a little switch on the back to set which mode. I think then if there was a “shift” key button on the front, that if it was pressed, would switch up the key press from bank A to bank B (and set bank A to ‘11111’). That would let me:

1 - put 2 buttonshields and a touchshield on a triplewide extendershield for a calculator project like a TI-82
2 - use a buttonshield and an inputshield at the same time
3 - or just use one buttonshield, and use the shift key to “alt” into the second mode, which would be just like having a second one

And then the arduino would be able to understand all of that, since it’s dealing with the fixed set of pins and can just poll the same set of pins and detect whether it’s in shift mode or not. Kind of like charlieplexing (not really) but for inputs.

But yeah, to answer the specific question… 26 was dumb :slight_smile:

Thank you for the elaboration.

As for the name change, I find it intriguing how sometimes people in h/w, s/w or related fields (e.g. reporting on h/w, s/w) don’t pay attention to details. Change (or add) a character in a program and you get a compilation error :slight_smile:

That's brilliant! How big is the program on the Arduino though :S

Hi.
Which LCD Display do you use?
And are you using the Touch Screen as well?
Is everything, including LCD, buttons and system controlled by ONE arduino?

Thomas