A Calculator With 3G Inside

For many of us, a calculator is something we run as an app on our mobile phones. Even the feature phones of a couple of decades ago bundled some form of calculator, so that particular task has joined the inevitable convergence of functions into the one device.

For [Scott Howie] though, a mobile phone is something to run as an app on his calculator. He’s integrated a cellphone module into his TI-84 calculator, and though perhaps it won’t be knocking Apple or Samsung off their pedestals just yet, it’s fully functional and both makes and receives calls.

To perform this feat he’s taken the cellphone module and one of the tiniest of Arduino boards, and fitted them in the space beneath the TI-84’s keyboard by removing as much extraneous plastic as he could. The calculator’s 4 AAA cells could not supply enough power on their own, so he’s supplemented them with a couple more, and replaced the alkaline cells with rechargeables. A concealed switch allows the cellphone to be turned off to preserve battery life.

The calculator talks to the Arduino via a slightly unsightly external serial cable, and all his software is handily available in a GitHub repository. His video showing the whole build in detail is below the break, so if you fancy a calculator with cellular connectivity, here’s your opportunity. Hang on — couldn’t you use a device like this for exam cheating?

This remains as far as we know the only calculator/phone combination we’ve brought you, though we have seen Android on a calculator. Meanwhile other calculators have appeared here, such as this teardown of a classic Sinclair.

28 thoughts on “A Calculator With 3G Inside

  1. Nice work… okay, we really should be using a string, not an integer, for storing a phone number. In spite of telephone numbers being mostly numeric, they do not follow the usual rules that numbers do, particularly where leading zeroes are concerned.

    That said, I’ll be looking into these… just found a local suppler:
    https://tronixlabs.com.au/wireless/3g/adafruit-fona-3g-cellular-breakout-850-mhz-for-telstra-australia/
    … pricey little buggers, but hopefully worth it.

        1. That’s part of the advantage of most of the stuff costing <$10USD on those sites. If they don't ship it or it's garbage, at least you didn't spend much.

          Personally I wouldn't buy anything through them that cost more than $30 or so to be safe, but that's just me.

          1. I have bought stuff that easily exceeds the $100s there without any trouble. Even large amount of electronics for university sponsored robotics projects came from there.
            I’d say people just need to be weary of too good to be true deals and shops with no reputation, same thing as ebay, mercadolibre and whatever the Japanese equivalent is.

          2. I never had such a problém with Aliexpress. The replacement iPad digitizers arrived Broken,the supplier happily sent one after another until I got the ordered number of undamaged goods.
            On thé other hand, a US based Wish.COM not ONLY rips you off on delivery, but there’s hardly aby genuine goods And fór example memory cards Are never working.

        2. I’ve ordered many things costing 100 euros+, once even 450 euros with no problems. Yeah some doa but it’s usually handled well when contacting the owner happily sending replacements. I’ve had doa products from local reputable dealers as well and much more trouble to get replacements. Always check comments and ratings and don’t always pick the cheapest seller.

        3. I got one thing that I though they didn’t ship. Did arrive in the end, although almost 2 years later and the envelope was damaged quite badly. The other tens of orders were totally fine.

        4. I respect that. I’ve heard horror stories too, but you have to keep aware of the cognitive bias involved. People are far more likely to review negative experiences than positive ones. Negative stories travel faster. And they stick in our memories longer. Sometimes you have to see for yourself.

          So far I’ve had no issues other than a long wait for shipping. Amazon has spoiled me.

          1. Yep, for me Amazon is the long wait… usually have to wait 2-3 weeks for things to arrive from there whereas Mouser stuff has arrived within 4 days.

            There’s an advantage to buying local though: in addition to supporting local business, there’s less to go wrong and much greater avenues for redress if things do go wrong. (Dealing with this now with some RAM they turned out they couldn’t sell anymore.)

            I don’t mind paying AU$160 instead of AU$80… my remark about them being pricey was the fact that even BangGood is listing them at US$22 for the bare module itself (not a break-out).

        1. Use paypal. Their policies are so generous for buyers that some sellers don’t like it – people buy something expensive, get it and then file a complaint. They get their money back and can keep the stuff. The seller can claim anything they want and paypal doesn’t care. If the seller complains too much their account get frozen and often never opened again.

          Good for buyers (including scammers) but bad for sellers.

          I’ve bought a lot of stuff on ebay and never had any problem no matter if the expensive or cheap, no matter from where in the world – US, Canada, South America, Europe, Russia, China, India, Israel.

        2. I use eBay for few years, never had any problems or lost any money. Sometimes items are out of specs (batteries, adapters), i raise a complaint and usually get money back without need for sending item back. Sometimes you have to provide evidence you destroyed it, but in most cases it’s not required. I use Paypal for all payments, it works great and without risk.

          1. ebay is just a drop shipping front for aliexpress nowadays so I go there first, same postage delay but less than half the price for the same clone goods. If I want genuine I won’t go to either. I use ebay for used local goods but you’ll still pay the price of a new item for it.

    1. I would have loved to be able to use a string. However the specific arduino library I used only had examples on transferring lists of numbers, I had no idea how to transfer a string using that library. Perhaps that is a future project. A while ago I did also look into the TI link protocol to try and transfer information like that but it was a dead end.

      2G is not an option here in Australia. All cell providers have closed their 2G services as of August and using a 2G module would lead to no result as no cell towers would connect. I got my SIM5320E on ebay for $70aud, but ordering of ebay is a bit like a lottery. I found some of those modules on aliexpress for $56aud.

      While the calculator is capable of incoming/outcoming calls, the 3G module is also capable of text messages and also internet connectivity. So I could have it retrieve the current time in Berlin for example. It also has GPS but requires an antenna.

      1. Yeah… the 2G situation is a pain … and yet, lots of the local sellers still sell the 2G FONA modules, which are useless.

        How do I know? Frantic calls from a copper refinery up in Townsville finding their Windows CE-based computers from 2008 could no longer connect via GPRS back to the server. That’s how. :-)

      2. Ohh… and on the integers thing… you might squeeze a little more out if you use a unsigned long (32-bits on AVR) or unsigned long long (64-bits) instead of an int (16-bits on AVR). Even then, if the telephone number you’re ringing was, say +42 94 967 297… you’re stuffed for two reasons, one being you can’t encode the international dialling prefix, and two, you’ll overflow your 32-bit register trying to store that number.

        I myself am allergic to using int, as you’re never sure what size it is… it could be 32-bits (Intel i386, MIPS o32, MIPS n32, AMD64 x32, …etc), it could be 64-bits (AMD64 native, MIPS n64, …etc), it could be 16-bits (Intel 8086, AVR native, MSP430?… etc), it could even be 8-bits (AVR gcc with -mint8). You just never know.

        Thankfully, stdint.h has you covered: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/stdint.h.html


        #include

        … then never suffer RSI typing unsigned long long or have to worry about how truly large your integers are again. :-)

  2. Excellent job.

    We used short range serial radio modules back in the day to keep usage free, but I like the added functionality you could achieve with the cell module. We made a closed version of icq (old chat app) to communicate with. A good challenge would be to add bluetooth , conceal the cable inside with a switch to disconnect it, and write a phone app (android/apple) to connect to your calc app, to enable texting back and forth via 3g if needed but by bt if not . The less you spend on a phone bill for it the more you have for new projects.

  3. I ended up binning a project awhile back involving one of these ti-84 calculators and an esp8266 module. I was showing how it was possible to either use it to connect to a hotspot and bounce packets between the calculator and a website, or interface it to a phone nearby running a form of wifi direct mode. (my ultimate goal was to use the Wolfram alpha API as a way to “cheat” with these calculators which is already quite doable since educators are woefully unaware of their programmable nature).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.