Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.

What would you prefer?
Single and a significantly cheaper, Pi-only mainboard
 81%  [ 9 ]
Two main boards that are more flexible, but more difficult and more expensive
 18%  [ 2 ]
Total Votes : 11



I have been very busy lately, developing a complete replacement main board that will fit into the empty shell of a TI-84+. This will enable you to build your completely own, Linux powered, TI-84+
You almost can't differenciate the original from a modded one.

It features an ATmega328P-AU Arduino Uno compatible keyboard processor and power management controller and real time clock (to keep the time running, while the Pi is turned off).
This will be a two board solution. There will be an upper and a lower board.
On the upper board, there is space for fitting a Raspberry Pi Zero (W) and a 128x64 monochrome/grayscale LCD that I would provide. The bottom half of the board (including keypad matrix, RTC, Uno and the Adafruit PowerBoost500 for LiPo operation) will be attachable to the upper board through a few solder links. Therefore you can decide whether you want to provide your own single board computer or if you want to go for a Pi Zero and my preferred, matching LCD.
The headphone/Link jack will either expose the Pi Zero's analog video signal plus one GPIO pin or the I2C bus, depending on solder jumper configuration. The Uno is connected to the Pi via SPI and UART. You should be able to reflash the Uno from the Pi, if you disable the Linux console on the serial port.
Otherwise, the serial console will be displayed on boot in a serial terminal mode of the Uno.
The Uno is also connected to the 128x64 screen and will go into high impendance mode to let the Pi access the screen, once the Pi is booted and ready.

I guess I can already warrant a sneak peak at the keypad matrix Wink


I hope there is demand, and if there is I may offer a kit or the bare PCBs.
If someone does not like to solder SMD, I could also offer individual assembly of the boards.
There is also need for a good name. Currently I have settled for "Pi84--", but feel free to post any suggestions if don't like the name.

From a price perspective, the bottom board with all components (except for the Adafruit PowerBoost 500) may end up costing around 12. The power boost is available for about 15 and a matching battery will cost under 10.
The top board may probably cost around 18 (not including the Pi Zero (W), but including the screen).

Dead TI-84+'es are often available at your school/uni for free or just a tiny fee, if there is a renting program available. On eBay, used TI-84+'s with a broken screen can be bought for as little as 10.

So, in total, you will probably be paying about 65 for your own, Linux enabled, fully hackable, state of the art, calculator.

And of course could you run one of the TI-84+ emulators on there if you wanted to Wink

SopaXorzT wrote:
Many innocent TI calculators were harmed in the making of this cruel, sacrilegious project.
Razz
One big question is, whether it is a good idea to make the mainboard in two halves or not.
The big benefit of one unified mainboard is, that it allows me to integrate everything into one nice and working design. There is a lot less to do for the user.
In fact, it could be made to a form, that soldering is not required anymore and the user can just open the case of the dead calculator, remove all screws and the original mainboard, remove a few plastic supports with a knife and screw the new one in. Then connect the battery and close the case again.
However, this would bind users to the Raspberry Pi Zero platform, which is really nice in my opinion, but makes the project dependant on it.
The two board solution would be taking care of this issue and would also enable the user to make boards without the Pi, but it is more advanced.
I think I will go for the one, unified mainboard and provide gerber files for just the keypad with the Arduino Uno for those who want just that.

UPDATE:
I estimate the savings of a 1 board solution vs the 2 board solution to be around 30-40%.
Here's another quick preview of the board:


Note that the LCD is *almost* as big as the old one.
While it fills the screen exactly when it comes to width, it's not quite tall enough.
Therefore the is a really slim, barely noticeable, black border on the top of the screen.

Another issue I am currently struggeling with is connector placement.
There seems to be no room to fit the USB nor the phono jack.
Maybe someone has some creative idea, how to mount them?

For completeness, this is how the LCD (minus the backlight, which just does not fit), looks like:


EDIT:
The USB and Video jack issues have been resolved.
I have found a slim profile micro USB that will fit with just a minor amount of plastic removal.
For the Video, I will be using a simple Dupont header. There is just no space for any "real" connector except for maybe some kind of coaxial one.
How important would be audio output?
I may be able to implement a simple line level output, but there is no space left for a connector.
It would just be a connection point then that the person building the calculator would have to connect something to.
Perhaps you could just have a small speaker? How hard would it be to cut a hole in the bottom of the TI 84 Plus shell (83 Plus style Very Happy)?
I'm super hyped for this project!
TheLastMillennial wrote:
Perhaps you could just have a small speaker? How hard would it be to cut a hole in the bottom of the TI 84 Plus shell (83 Plus style Very Happy)?
I'm super hyped for this project!

I'm glad you like the project so far Very Happy
In theory, that might be an option. I looked a bit into amplifiers and if there happens to be some free board area in the end, I will add it as an option Smile
People may be glad to hear that the total price will drop by around 7, since I will be dropping the Adafruit PowerBoost for an integrated LiPo charge controller and a Polo.lu (Cemetech does not like the name "0x5" for containing "lo.l", I think) Step-Up Regulator that will have a smaller footprint both in price and physical space.
I am getting ready for the first test run. The PCB is starting to get there and the most important parts have just arrived Smile



I have also picked up a small arsenal of used TI84+ on eBay:


A backlight is also not completely out of the question. I may consider adding right angled SMD LEDs to the side of the screen, if I can afford that in terms of space.
I have received diffusion film along the LCDs so I could add a backlight if I wanted to.
Looks good! Glad this is chugging along and I hope your first hardware tests turn out alright!
123outerme wrote:
Looks good! Glad this is chugging along and I hope your first hardware tests turn out alright!

Thanks Smile

The board is getting there.
Currently I am primarily working on a nice schematic and some software to aid me in the development process.
I'm going to keep this topic up-to-date Wink
I have been rather busy recently, so there has not been a lot of progress, but the coprocessor is now almost completely wired up.



This is looking really great! As we briefly discussed elsewhere, my personal interest is in being able to use this to interface with a Pi-type board, to which I'll likely be connecting my own LCD. To that end, I probably want to do some sort of multiplexing for the keyboard matrix, additional connections for power/battery charging if I choose to use something in the Zero family, and so on. I'm slightly unclear from how it's currently designed: does this main board extend underneath the LCD area? Or is that a snap-off piece?
KermMartian wrote:
This is looking really great! As we briefly discussed elsewhere, my personal interest is in being able to use this to interface with a Pi-type board, to which I'll likely be connecting my own LCD. To that end, I probably want to do some sort of multiplexing for the keyboard matrix, additional connections for power/battery charging if I choose to use something in the Zero family, and so on. I'm slightly unclear from how it's currently designed: does this main board extend underneath the LCD area? Or is that a snap-off piece?

Thanks!

I am trying to keep all traces concerning the keypad below the white line I put on the silkscreen, below the screen and I am exposing all important connections to the ATmega on test points that you can wire to. This should allow you to cut the board (yes, it usually fills the entire case up to the IO ports that are replaced with new connectors as well) at the white line to fit your own LCD and single board computer. There may or may not be power regulation on the lower part of the PCB. It depends on how I will eventually fit the regulator. So you may have to wire that up next to the Pi.
The LiPo and LiPo connector and the LiPo charger are placed on the lower part of the board (below the white line, so you will be able to keep using that.

Cheers
I have got some minor info on the project.
So, I have decided to change the RTC (real time clock) for an MCP79410. For the crystal, a rather good quality watch crystal from Microcrystal Switzerland (they're part of the Swatch group, but whatever) will be used.

Just look, how fancy it is Razz


But in all seriousness, this ended up cheaper in low quantity than many of the worse, more conventional ones (unless I want to order them directly from China...).
I suppose the clock should therefore not drift much at all, which is a plus.

To sum-up on the integrated circuits, this is planned:
- Raspberry Pi Zero or Zero W (any hardware revision) @ up to 1 GHz
- ATmega328P @ 8 MHz
- MCP79410 Real Time Clock (via I2C) with accurate tuning-fork crystal
- MCP73831T Lithium-Ion Battery Charger IC (yet another design win - the 3rd - for Microchip)
- ISL85410 Synchronous 1A Buck Regulator (might be changed for a 600mA one if possible to lower price)
- 74HC138 Demultiplexer IC (for driving the keypad matrix)
- ST7565R 128x64 LCD COG driver IC (in SPI-mode)

I hope this might be helpful to some to evaluate the capabilities of the new board.

To phrase it a little bit simpler/give a broader overview over the basic parts:
There will be a Raspberry Pi Zero with or without WiFi along a 128x64 LCD.
The system will keep time when powered off (which is usually not the case with the Pi Zero).
Apart from the Raspberry Pi, there is a smaller, Arduino Uno compatible auxilliary processor that handles the early boot process, battery (dis-)charging and the keypad.
The system is powered from a LiPo battery which can also be charged inside the calculator.
So, most parts for the first 5 Pi84s have arrived. This includes all chips, the crystals, all passives such as capacitors and resistors. However, I have not ordered 5 Pi Zeros (only 2x Zero W) mainly because I suggest people to get their own ones (since it's hard to source any amount of them as they are limited to one per person).
Also, I have not ordered any LiPo batteries, since they are also be something that people should get by themselves (since they are available in just about every country, but shipping these across the ocean is a bit of a problem since they are treated as a dangerous good).
You mentioned a TI-84 Plus emulator. Have you messed around into the software side of this project more? How will the calculator buttons be interacting exactly with the raspberry pi?
CHill wrote:
You mentioned a TI-84 Plus emulator. Have you messed around into the software side of this project more? How will the calculator buttons be interacting exactly with the raspberry pi?

Hi,
unfortunately, I have not yet really done much software work. But as always, I am keeping the software side in mind working on the hardware.
The keypad is completely custom. While most of the connections are the same as on the original TI84+, some aren't to conserve I/O. The 2ND and Alpha buttons are now separate modifier keys. While they can be queried, they are mostly going to remain modifier keys. New keystrokes are sent to the Pi via USART and injected into the keyboard buffer by an existing driver. I will be adding an extra mode, that will not send ASCII to the Pi but instead just raw keypresses that could be piped into the emulator (which would have to be modified in a few places anyways). In this special mode, key-down and key-up events will be transmitted via the asynchronous USART interface. A small library could read these events and "press" them on the emulator.

I hope this gives you a general overview of how I was going to handle key presses.

Cheers
*One month bump*

Is everything working smoothly?
TheLastMillennial wrote:
*One month bump*

Is everything working smoothly?

Hey, TheLastMillennial!

Thanks for asking about the progress.
I have made a little more progress with the board in the meantime and had a look for board houses that would manufacture the board cheap and reliable.
There are a lots of deadlines to meet for me recently, so I can't work much on it, but I will keep you up to date Wink

Cheers,
Benedikt
*almostThree month bump*

I've noticed you haven't been around as much so I assume you're still busy. Do you know roughly when you'll be caught up on work? Good luck with all you're doing!
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement