Last year, Linus Tech Tips did a video on water cooling a TI-84 Plus. I actually helped Alex with the electrical details of how to do it (and got some nice swag—it's genuinely quality merch). Remembering that the graphite in pencil lead is actually conductive, I jokingly suggested that maybe a pencil would do the trick. Then I thought, you know, maybe I should actually try it.

It actually worked.

So I sent Alex a follow-up email. Unfortunately, by then he had already desoldered a resistor from his calculator (and burned a pad off, which is why I never tried it myself). Sorry bro, I guess.

Anyway, here's my guide to overclocking a TI-84 Plus (or TI-89 Titanium) with a pencil.

Caution: Overclocking your calculator can cause instability. For unrelated reasons, it's also fairly likely to break the graphics in games.

How does this work?

Modern CPUs typically get their clock timing from a VCO in the chipset and a PLL in the CPU, while older CPUs often used a quartz crystal tuned to display's pixel clock. The TI-84 Plus (and other pre-Nspire models) uses neither technique. Instead, it uses an old-school RC (resistor-capacitor) oscillator, similar to how a 555 timer works. Both the resistor and capacitor are external components (from the main logic chip), so they can be modified.

You can increase an RC oscillator's frequency by reducing the resistance or capacitance, but it's easier to adjust the resistance. As I mentioned, the graphite used in pencils is conductive, but it's not a good conductor, which means it can be used to literally draw resistors. (If you have a multimeter, get some paper and try it yourself!) So the idea here is simple: use a pencil to draw a conductive mark across the resistor, reducing its resistance and thereby overclocking the calculator. As a bonus, pencil marks are easily removed, so if overclocking seems to make your calculator unstable, you can just wipe the resistor clean.

The TI-84 Plus actually has two CPU speeds, a normal fast mode at about 15 MHz and a slow 6 MHz mode for backwards-compatibility with TI-83 Plus programs and apps. There is a dedicated resistor for fast mode, but the resistor for slow mode is used together with the resistor for fast mode, so overclocking slow mode will also overclock fast mode. The OS defaults to fast mode whenever it's doing computations, so there is no need to overclock slow mode, and doing so is likely to break games.

How do I actually do this?

This overclocking technique works on the TI-84 Plus and TI-89 Titanium. On a TI-84 Plus, you can test your CPU's clock speed with a program I wrote. This can also be adapted to work on the TI-83 Plus other Z80-based and 68K-based TI models. However, we can not overclock the eZ80-based TI-84 Plus CE, and overclocking the Nspire requires software hacks.

You'll obviously need a graphite pencil. I personally use HB lead mechanical pencils, but regular #2 pencils can also work. Note that colored pencils will definitely not work, as they use a wax-and-pigment system instead of graphite-and-binder. Not all pencil leads are the same, however; I have found that darker-marking lead tends to work better, but I have limited experience so experiment on your own.

To disassemble the calculator, you'll need a small Philips head screwdriver to remove the screw holding in the backup battery. The six main screws holding the case together have a Torx T6 head, but the screws are buried deep in their holes, so you'll need a screwdriver or bit with a long shank. Once the screws are out, flip the calculator upright and use an opening pick (or, if you're bold, a long fingernail) to pry the two halves of the case apart.

The resistors controlling the TI-84 Plus's CPU speed are located on the bottom right of the main chip. They've been labeled R07D (fast mode) and R08D (slow mode) since at least 2008. There have been some minor revisions to the PCB over the years. Here's a picture (courtesy of Adriweb) that highlights the resistor you want to draw on (older TI-84 Plus shown here):



The TI-84 Plus has two resistors you can adjust. I suggest only adjusting R07D, because adjusting R08D will overclock slow mode, which will likely break games. However, if you don't mind the danger of graphical corruption in games, you can also adjust R08D. Doing so will also provide an additional boost to fast mode. I've gotten up to 20.5 MHz with just adjusting R07D, and I recommend against going any higher unless you like getting randomly wrong answers on your exams.

Here's some pictures for the TI-89 Titanium if that's what you want to overclock. This is great if you find BASIC runs too slow. (And AMS's BASIC is notoriously sluggish.)

You can apply modest pressure to the top of the resistor. However, these SMD resistors are somewhat delicate and pushing too hard (especially on the sides) can break them off. This is less likely with a mechanical pencil, as the thin lead will break before the resistor.

If marking on the top of the resistor doesn't get you enough of an OC, applying graphite to the sides of the resistor also helps. I suggest holding your pencil at an angle to a sheet of paper and shading in an area on the page until you get a nice flat section on the tip of the pencil's lead. This makes it easier to get a flat face on the lead that can mark the side of the resistor.

How do I undo this?

To undo the overclock, just wipe the graphite off the resistor. Gently rubbing with your finger can do most of the work. There is no need to get 100 % of the graphite off.

Do not rub a pencil eraser on the resistor. Your instinct will be to push hard on the eraser and that will very likely break the resistor off. If you want to remove graphite from the sides of the resistor, use your fingernails or a knife to cut off a small wedge of eraser. Then, grasping the wedge between your fingernails or using tweezers, rub the point of the wedge against the resistor.

You can also use a kneaded eraser. Do not rub; only dab.

How fast will my calculator go?

While in modern devices, the limiting factor for CPU speed is heat and power, the limiting factor for these graphing calculators is actually data: the calculator uses XIP flash memory for the OS, and the flash memory in the TI-84 Plus is only spec'd to 20 MHz. Anecdotally, calculators seem to tend to become unstable around 22 MHz as the flash chip is no longer able to deliver instructions to the CPU as fast as the CPU requests them, causing corrupted reads so the CPU executes garbage. The temperature of the CPU will not be measurably affected. Overclocking does not affect the lifespan of the flash memory.

The TI-89 Titanium has a different flash memory, and due to differences in the CPU architecture, it looks like speeds closer to 25 MHz may be attainable.

I've heard reports of TI-84 Pluses factory-clocked to 17 MHz. TI's internal spec for CPU clock speed accuracy is ±20 % (RC oscillators just aren't very accurate), which is why they try for a nominal 15 MHz and not 20 MHz. They also want to keep a fair margin from the maximum spec of the flash chip in order to guarantee reliability.

Personally, I was easily able to get 18 MHz on a TI-84 Plus that was factory-clocked to 16 MHz. With some extra work, I got up to 20.5 MHz, and by adjusting R08D, I got over 22 MHz. The extra speed didn't seem to cause any stability issues for me personally. However, reliability above 20 MHz is highly variable because you're operating the flash memory out-of-spec. My TI-89 Titanium was factory-clocked to 13.1 MHz, and I got 22.0 MHz with my trusty pencil. Oh, and the TI-84 Plus C SE (not to be confused with the CE without the S) is actually tolerable at 20.3 MHz. It's still sluggish, but it's much more tolerable.
Now that's a nice write-up! I suppose the main drawback of drawing on your resistors is that it's more difficult to adjust the CPU speed, whereas if you do some soldering you can add an easier-to-adjust potentiometer.
About three years later all I have to say is thank you, DrDnar. Now running at 19.764MHz. It's so much better.
I have a question - where did the 25MHz figure come from for the theoretical maximum of the TI-89T CPU's clock speed?

I've been taking a look at the flash (LH28F320BFHE-PBTLZ2)'s datasheet and while I do not understand everything in the datasheet, I know that a read/write cycle take 4 68K cycles. I think that the mentioned theoretical max in the post comes from the fact that one read takes a total of ~160ns, as indicated by §1.2.4, and considering that an I/O cycle takes 4 CPU cycles, at 25MHz it works out to 160ns per read. Just to clarify, this is where the theoretical max comes from, correct?

Also, what about writes? It says the minimum time for write cycles is 80ns in §1.2.5, but there's a bunch of timing info below that which I'm not terribly familiar with. Would battery life also have anything to do with this?

Thank you in advance for your insight. I plan on overclocking my HW4 89T to at least 16MHz when my screwdriver gets here.
Where do you get 160ns for a single read? Both the read and write waveforms say the hard limit tAVAV is 80ns: you must hold a valid address for at least that long in either read or write cycles.
Tari wrote:
Where do you get 160ns for a single read? Both the read and write waveforms say the hard limit tAVAV is 80ns: you must hold a valid address for at least that long in either read or write cycles.


I thought "Read Cycle Time" combined with "Address to Output Delay" indicated that both of them should be added together to get the minimum "safe" amount of time to wait for a read to happen. My bad there.
I agree that it's not super clear, but I interpreted the rated max of tAVQV to mean that output data will appear no more than 80ns after an address is presented (provided all the other timings are also satisfied), which would mean you shouldn't sample data before changing the address when running at maximum speed.
Tari wrote:
I agree that it's not super clear, but I interpreted the rated max of tAVQV to mean that output data will appear no more than 80ns after an address is presented (provided all the other timings are also satisfied), which would mean you shouldn't sample data before changing the address when running at maximum speed.


That makes sense.

… so wouldn’t that technically mean you could go past 25MHz?
I think I agree with your assessment of the relationship between CPU clock and memory speed, which would seem to mean the flash would be okay with a CPU speed of up to 50 MHz. I assume D'nar was alluding to other limitations coming into play for the 89T, such as how the CPU is only rated for operation at up to 20 MHz or some other component (possibly ASIC logic) not being able to run much faster.
Ah yeah, the CPU die probably can’t take much more than 17MHz anyway… thanks for your help, I think I’ll go to 16.5 and stop there.
Back in the day, a company was offering TI-89 Titanium overclocking services, but I forgot the name of the company, and they took the page down, so a search on the current Internet won't do. They went well beyond 17 MHz, as did DrDnar here and other people on the Internet.
You're tempting me... is there any sort of permanent damage possible if I overclock it too far assuming the Flash chip is okay with 50MHz? I'd be happy to test all sorts of clock frequencies and report their outcomes as long as they don't brick my calc.
My TI-89 Titanium is now running at ~25.641 MHz using the trick. Thank you once again DrDnar.

Edit: I was able to install a FlashApp (EQW) on NiMH batteries. Either I won multiple silicon lotteries or it's safe to go to 25MHz on all 89Ts.
  
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 1
» All times are UTC - 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