Sunday, August 1, 2010

Introducing the 100% Open Source HW/SW R-Based Graphing Calculator

The childhood geek inside me is running, screaming, jumping around with joy, and hacking it's way into servers it shouldn't even know about. I'm definitely totally nerding out over here, I can type this up, my fingers are jittering around so much.

I can die in peace, for the day hath cometh, wherein...

With Koen, Thom, Chris, Mark, and Will's help, I built this 100% Open Source Hardware-based, Open Source Software-based KICK ASS REPLACEMENT for my two most trusted allies in life: my TI-89 and my HP-50g scientific graphing calculators.

Don't get me wrong, the TI-89 and HP-50g are awesome. Some might argue, they're too awesome, since neither TI nor HP have been able to make a better calculator that I'd buy. And I know my calculators, so if a better one came along, I'd definitely buy it. (Just ask anyone who's ever been to the Liquidware Lab to see my calculator collection). And I'm not talking about the TI-200 "Voyage" (choke, gag), which came out around the same time the dot-coms were around, and IMHO is everything that was wrong about the dot-com era (plus the keyboard made it illegal on the SAT).

Also, there's two big problems with the TI-89 and HP-50g in my book:

1) I didn't make it myself
2) They're not open source and hackable

But this... calculator has 1,000,000 times the coolness factor of those two calculators above:

  • It runs Linux (HP: no, TI: no)
  • It runs R (HP: no, TI: no)
  • You program it in C or Perl (HP: no, TI: no)
  • It has a Wifi connection (HP: no, TI: no)
  • It runs a web browser (HP: no, TI: no)

The only sad part is that my scientific graphing calculator doesn't run HP's cool reverse polish programming stack which is not so much intuitive, but actually quite fun to program... especially with its list manipulations, inspired from the Forth programming language.

Oh wait. Just kidding, my calculator can run a full Forth stack using gforth, or a Fortran stack (using gfortran)!

Here it is with a full keyboard and mouse, just for kicks... although obviously it doesn't need those because I can use the on-screen keypad because it's got a touchscreen OLED using the BeagleTouch module.

The colors got a little white-washed on this one, but it gives you an idea for the size:

The screen is plenty bright:

And here's a video showing my doing R matrix manipulations:

In my opinion, there is nothing nerdier or cooler than a pocket sized graphing and programmable scientific calculator that runs R. Nothing. Hands down. Like this is the kinda stuff that makes NSA Trekkies jealous... bring it on! :-)

I've uploaded the Open Source R-Based Calculator it as a kit onto the Liquidware shop, as an option to the Tablet Pack, to make it come with R pre-loaded and pre-installed from Koen (I'm assuming people have their own keyboards and USB ports, otherwise I'd include those too).


johnboxall said...

That is beautiful, and a calculator nerd's dream. I almost cried. Kudos

Kyle said...

You can actually code in C for the TI-89

Matt said...

@johboxall - thanks :-) ha ha! rev("!oohoow")

@kyle - ok, I stand corrected. Now technically, the only real calculator nerdiness cred comes from coding raw, uncensored assembly language, like the good 'ol TI-82 ASM82 Z80 days. Those were the days... memories... NOP NOP NOP

tulcod said...

this would be awesome if R wouldn't be the big mess it is. great build though, it's surprisingly compact!

Matt said...

@tulcod - yeah I know, R is kind of all over the place, but the stuff you can do with it is pretty crazy. charts, graphing, etc. it's very powerful.

tulcod said...

@Matt: oh yes definitely, R has a lot of little features, but it's all so scattered and disconnected. R reminds me of PHP, except that the code is so unmaintainable that no active development is happening anymore.

bgcamroux said...

This is amazing! I'd totally love to build this! It would work perfectly as a data logger for my GPSr, among other things. I could have on-the-go statistics and data for my vehicle, which I track with every fuel fill. Ooooh how glorious!

Offline said...

How is the power usage on this guy ?
could be a cool replacement at my exams.. but if it needs the same as my laptop... I already have MathCad and MatLab :P

but nice project !

iEagles said...

Cool work. thx for sharing!
What's the name of your project?

jake said...

now what would be sweet is an app for my phone that turns it into a ti-89

Joe Pinsonault said...

Now to get a TI Emulator on it for backward compatibility =)

Does it have an onscreen keyboard?

Matt said...

@tulcod - i totally agree with you on the R core. i mostly use the modules and packages from CRAN.
There's a lot of activity there. It's like the core has kind of stagnated, and all the innovation is at the fringe.

@bgcamroux - that's a cool idea. i'm going to build that for you...

@offline - not bad at all, just a little more than the beagleboard. i can go all day with the thing on. as long as there's no white on the screen, since white is more power drain.

@jake - the critical thing is programmability - i want to program whatever calc app they make. how much do you want to bet that never happens?

@joe p - ha ha, yeah... that would be pretty recursive. then i'd have to port R to TI-BASIC to run inside the emulator

Nilesh said...

Man I'm stunned. Kudos man kudos.

GuShH said...

get a tripod already.

Elkar said...

Please can create emulators and ti-89 and hp50

source code

miCchelange said...
This comment has been removed by the author.