I made a video of this a while ago and was suggested to post it here by a user of the name TheLastMillennial.
https://youtu.be/XhAPQs9kyEw
I also had a hackaday article written about this:
https://hackaday.com/2017/12/24/a-calculator-with-3g-inside/
Code:
https://github.com/BoomBrush/Calcucall
Some background:
So basically in grade 12 I was bored in math class with a friend, and I was pretending to use my Ti84 calculator as a phone just being silly. I went to a public primary school, I did this all the time. Then as a joke I mentioned I do actually have an arduino capable 2G module (SIM900) that I could use to turn it into a phone however it wouldn't be very good as its not concealed and would require a huge antenna and also 2G services no longer exist in Australia. The SIM900 arduino shield I have lets you plug in some headphones and you can initiate a phone call from the arduino or send texts, even make HTML requests. Then it made my friend question me such as "why" and me being me I took that as a challenge. So I try anyway just for some fun before 2G shutdown for good and I kinda got stuck, the arduino is receiving packets from the I/O port but I can't seem to decode them into any of the data i'm sending. I kinda just abandon the project.
I recently got a SIM5320E module, which is an arduino compatible 3G mobile, basically the same thing as the SIM900 but uses 3G instead of 2G and has built in GPS. So I decided to try again. When I googled around for some libraries, I found one called ArTICL which seemed to let me transfer lists of numbers really easily. I tried it and hey it works! The rest is pretty easy because all you just need to get the arduino are is phone number and the SIM5320E module does the rest, connecting to cell towers etc.
How it works:
The program looks at the length of the list first, and if its a length of 1 then it determines whether to answer or hang up the call. If the length is 3, it makes a call. So from the calculator, you do Send({1234, 567, 890}) with the link cable plugged in and the arduino would be able to get the result as 3 separate integer variables of values 1234, 567, 890. The library tells you the length of the list you send, in this case it would be a length of 3. However, when answering and hanging up calls the calculator sends Send({0}) for hang up or Send({1}) for answer.
The link cable is simply soldered to an arduino nano with a SIM5320E 3G module attached to it.
Continuing issues:
The microphone produces some weird helicopter noise when heard from another phone, no idea why. Perhaps a better microphone would fix that, or some shielding of the wires from the antenna. Also, the earpiece for listening to another phone doesn't work, however it rings. So it's definitely connected properly because you can hear the buzzer but it's almost like you have muted the other person. I know on the SIM5320E there is a mute command but the making the volume max doesn't change anything.
Practical Uses:
Obviously, a calculator phone is not practical. I made it for a joke and because I was bored and I was putting off my english assignment. With AAA batteries, it lasts probably 10 minutes before needing to be recharged. I made it as a demonstration of the technology and to show off what kind of projects you can use arduinos and cell mobiles for. My mum is a grade 3 teacher and I showed her students this. They absolutely loved the project because they could directly relate to it. I remember pretending to use a calculator as a phone in primary school, and when I asked her students who else has done this about 90% of the class put their hands up. I used it as a demonstration of technology and how even crazy ideas can be made. This is why I made a video of it.
The SIM5320E module is actually capable of HTTP/HTTPS, email, web requests, ftp (lots more) as well as just making calls and texts WITH a built in GPS. So if I wanted to, I could technically make a calculator which gives me a live updating distance between myself (using the GPS) and Los Angeles by using the web requests. Then store it inside a text file in a remote ftp server or something crazy.
Where is it now?
Sadly, taken apart. The SIM5320E module is expensive ($70aud each), and I already had to order a second one because I destroyed the first one by connecting the antenna+ to gnd or 5V while it was transmitting, and it didn't turn on after that. I am currently working on putting it in my mums car to use as a GPS tracker as the SIM5320E has a built in GPS.
More projects!
I'd imagine some people are quite interested in my projects. I have recently finished making my own stroboscope (See William Osman's video, its similar to that) I will be making a video on that probably this weekend and uploading next week.
I might also make a video on the GPS tracker I talked about in my mum's car.
https://www.youtube.com/user/BoomBrush
https://youtu.be/XhAPQs9kyEw
I also had a hackaday article written about this:
https://hackaday.com/2017/12/24/a-calculator-with-3g-inside/
Code:
https://github.com/BoomBrush/Calcucall
Some background:
So basically in grade 12 I was bored in math class with a friend, and I was pretending to use my Ti84 calculator as a phone just being silly. I went to a public primary school, I did this all the time. Then as a joke I mentioned I do actually have an arduino capable 2G module (SIM900) that I could use to turn it into a phone however it wouldn't be very good as its not concealed and would require a huge antenna and also 2G services no longer exist in Australia. The SIM900 arduino shield I have lets you plug in some headphones and you can initiate a phone call from the arduino or send texts, even make HTML requests. Then it made my friend question me such as "why" and me being me I took that as a challenge. So I try anyway just for some fun before 2G shutdown for good and I kinda got stuck, the arduino is receiving packets from the I/O port but I can't seem to decode them into any of the data i'm sending. I kinda just abandon the project.
I recently got a SIM5320E module, which is an arduino compatible 3G mobile, basically the same thing as the SIM900 but uses 3G instead of 2G and has built in GPS. So I decided to try again. When I googled around for some libraries, I found one called ArTICL which seemed to let me transfer lists of numbers really easily. I tried it and hey it works! The rest is pretty easy because all you just need to get the arduino are is phone number and the SIM5320E module does the rest, connecting to cell towers etc.
How it works:
The program looks at the length of the list first, and if its a length of 1 then it determines whether to answer or hang up the call. If the length is 3, it makes a call. So from the calculator, you do Send({1234, 567, 890}) with the link cable plugged in and the arduino would be able to get the result as 3 separate integer variables of values 1234, 567, 890. The library tells you the length of the list you send, in this case it would be a length of 3. However, when answering and hanging up calls the calculator sends Send({0}) for hang up or Send({1}) for answer.
The link cable is simply soldered to an arduino nano with a SIM5320E 3G module attached to it.
Continuing issues:
The microphone produces some weird helicopter noise when heard from another phone, no idea why. Perhaps a better microphone would fix that, or some shielding of the wires from the antenna. Also, the earpiece for listening to another phone doesn't work, however it rings. So it's definitely connected properly because you can hear the buzzer but it's almost like you have muted the other person. I know on the SIM5320E there is a mute command but the making the volume max doesn't change anything.
Practical Uses:
Obviously, a calculator phone is not practical. I made it for a joke and because I was bored and I was putting off my english assignment. With AAA batteries, it lasts probably 10 minutes before needing to be recharged. I made it as a demonstration of the technology and to show off what kind of projects you can use arduinos and cell mobiles for. My mum is a grade 3 teacher and I showed her students this. They absolutely loved the project because they could directly relate to it. I remember pretending to use a calculator as a phone in primary school, and when I asked her students who else has done this about 90% of the class put their hands up. I used it as a demonstration of technology and how even crazy ideas can be made. This is why I made a video of it.
The SIM5320E module is actually capable of HTTP/HTTPS, email, web requests, ftp (lots more) as well as just making calls and texts WITH a built in GPS. So if I wanted to, I could technically make a calculator which gives me a live updating distance between myself (using the GPS) and Los Angeles by using the web requests. Then store it inside a text file in a remote ftp server or something crazy.
Where is it now?
Sadly, taken apart. The SIM5320E module is expensive ($70aud each), and I already had to order a second one because I destroyed the first one by connecting the antenna+ to gnd or 5V while it was transmitting, and it didn't turn on after that. I am currently working on putting it in my mums car to use as a GPS tracker as the SIM5320E has a built in GPS.
More projects!
I'd imagine some people are quite interested in my projects. I have recently finished making my own stroboscope (See William Osman's video, its similar to that) I will be making a video on that probably this weekend and uploading next week.
I might also make a video on the GPS tracker I talked about in my mum's car.
https://www.youtube.com/user/BoomBrush