The RichFiles

The SPinTerface Cartridge Page


How to build SPinTerface cartriges...

If after reading this you wish you could have a particular device on your 85, then you really ought to have a SPinTerface port installed on your TI-85. If you don't have one yet, and you feel you need it and have the expertice to install it, then I recomend the instalation.

The SPinTerface is a 10-pin port that has a serial interface and a 5v+ regulated power supply. Its design automaticly turns off the voltage regulator to save power when nothing is connected. It also makes sure all the pins are connected before power comes on and it turns off all power before the device is disconnected. I have used it to connect speakers, and memory expansion, and if anyone wants to get into it, they could create all kinds of other devices to it also!

Speakers are pretty simple. There have been speakers designed for the link port, but one could be made into an all in one case that wouldn't need an expensive 2.5" plug. You can connect it directly to the SPinTerface's serial port, or even use the power supply to run a tiny amplifier!

I won't go into too many details with some things. I want people to design their own things! It will promote creativity and it will mean devices do exactly what you want. I will however, show how to connect the NM29A080/040V chips (used in the SF Expander) to the SPinTerface port. I'll also tell you how to build a super CHEAP speaker cart with a built in amplifier and I'll show you where you can get really awesome looking cases for your small one or two chip cartridge projects.

The SF Expander, created by Mel Tsai, was my inspiration for the SPinTerface port. I loved the simplicity of the SF Expander when compared to its function, but I didn't want to have to drag another box around (I already have an 85 and an 82 that I take EVERYWHERE). My brother had just got a GameBoy Pocket, and I got a VirtualBoy. I was going to build connectors for them that would let me use cheap powerpacks with them, rather than going out and buying a $16.00 custom pack for each one that can't be used for anything else. I was suddenly inspired! I didn't want an external device for my TI-85, so maybe I could build it right into it! It was just like my VirtualBoy. I was going to build a connector right into it to run off of a standard powerpack. Why not build a "powerpack" directly into the TI-85. I used a design compatible with the SF Expander's chip. I soon discovered that I could run a small LED of this power supply without even dimming the screen! (NOTE: This depends on the power the LED requires. Some other projects may need a battery expander to run without dimming the screen). I realized at that moment that this thing gives you more power than I had ever realized, and that its potential went far beyond memory expansion!

I will first show you how to build a very, very nice looking case for small projects.

The illustration above shows what the case and its components look like. Those plastic pieces are VirtualBoy gamepack covers, and Nintendo used to give them out for free! I'm going to get a bunch of these things so I have nice little cases for these things. If you need an order form to send for these FREE gamepack covers, you can call 1-800-255-3700 Monday-Saturday, 4:00am-12:00, Midnight, and Sunday, 6:00am-7:00pm, Pacific time to get one. NOTE: due to the age of the Virtual Boy, and it's UN popularity, you may not be able to get these case cover any more.

If you need a bigger case, you can just glue two of these covers together. I think it may be able to hold 3 small chips, such as the memory chips I mentioned before. If you just need room for one chip (This is what you'd use for the SF Expander cartridge) you can cut one in half and glue them together as shown, and put the plug on the end or the side of it. I like how it looks with the plug on the end, but it might get in the way, especialy when you play video games. If you do build the SPinTerface, see if you can't build the port to come out from the bottom rather than the side. If you don't think you can work in that small space, you can create low profile cartridges by putting the connector on the side rather than the end. If you don't want it to be full lenth, you can just cut them to a good lenth and super glue the four pieces together.

The connector is the most important part that will be visible. The illustration shows that you need to cut the pin with no connection completely off (or heat it with a soldering iron and pull it out with a pliers) and that the two pins in the middle row need to be cut about 2mm off the tips. The reason for the short middle pins is so the power (activated by these pins) won't come on till all the other pins are connected. The power then is also shut off before any other pin is disconnected as you remove a cartrige. This is only nescesary for cartridges that require power. Some may not require power (non amplified speaker, etc.) and you don't need to worry about the middle pins. If the project is powered however, you should cut the pins to their shorter lenth and then you mustsolder those two pins together, inside the cart. What you get is one of the very few types of cartridges that you CAN insert and remove without having to shut anything off. It's all automatic and it's all hot swapable!

The SF Expander cartridge uses the 10-pin plug, a .1µf ceramic disk capacitor, a 2.2K resistor, and an NM29A080/040 chip. The chip is a hard to find part. They are nolonger made. It is still possible to find them, but the only way is to find someone who is interested in selling one they have. I am working on a simple serial/parralel interface that would work just like the SF Expander did, but the interface converter would use parallel chips instead of serial chips. This PF Expander, if It becomes a successful project, would be a solution for those who don't want to build a PIC or microcontroler based expander. It would have all of the SF Expander's limitations, but it would be something the average electronics hobbyist could build. IF I finnish, I'will post it here!

First off, you will need to have the connector made, as described above. Also, when you solder this thing together, you will want to be extremely quick and precise, because you do NOT want to overheat the chip. There is a something important you must read before you go on!!! The PLCC Chip case that is used for the NM29A080/040 chips needs modification to fit into the virtual boy gamepack cover case that you should have built. The chip itself fits, but the leads prevent it from going in easily. You can take a pliers and flatten the rounded lead bottoms. If you like, you can even snip off all the leads that aren't used and flatten the ones that are left, but you MUST BE CAREFUL!!! If you slip, you could break off an important lead!

If you can find it, get the SOIC(?) version. It's very thin. They will be harder to find. Most are the PLCC type. It realy doesn't matter which chip you get since both will work and both can be made to fit into the cases. Also, I would recomend tinning the leads of the chip before beginning. This simply means that you put a thin layer of solder on the lead so you can put the solder on the wire and bond the wire and the chip almost instantaneously. Only solder the wires and parts to the sides, and make sure the wires won't touch and that all the parts can slide in easily. The only pins used are 1, 4, 5, 6, 7, and 28/32 depending on which chip you use (Remember, if you want to cut the others off, you can, but be careful). The circuit is very simple. First, connect the resistor between pins 6 and 7. Connect a wire from pin 6 to the data pin (top, right from solder side of connector). Then connect pins 1 and 4 with a jumper wire. Solder two wires to both ends of the capacitor and then solder the capacitor to pins 4 and to 28/32 (depends on the chip. 28 or 32 is always the last pin). Solder the wire on the capacitor that connects to pin 4 to the ground pins and have ajumper from the ground pins to the signal ground. The wire on the other side of the capacitor (connected to pin 28/32) connects to the two 5v+ pins on the connector. Last is to connect a wire from pin 5 to the clock pin on the connector. All the wires should be short and you can't fold the capacitor or the resistor over the chip or it won't fit into the case. Slide it into the case after you have made sure it works by testing it. You may want to let a drop or two of super glue fall into the cartridge to hold the chip down. Then super glue the connector to the cartridge case. You'll have finnished your SF Expander cartridge for the SPinTerface port.


Would YOU like your cartridge design here??? E-Mail me if you have a link project that could be turned into a SPinTerface project or if you have a SPinTerface cartridge designed! I will put it up here for all people to see. I will give you full credit for your work and I'll put up your E-mail and your web sites too!!!

SPinTerface Cartridge Designs...

The SF Expander cartridge was created by me, Richard Piotter. The electronics design was adapted from the SF Expander, built by Mel Tsai. The Expander and expander cartridges provide 512K or 1 Megabyte storage for the TI-85. Mel has all rights to the software and SF Expander design however. I only modified the design to work as a SPinTerface cart.
(Instructions above)
SF Expander Driver Beta
SF Expander Driver for ZShell V1.0
SF Expander Driver for Usgard V1.0
The TI-Memory Expansion Homepage

If these links are dead, it's because Mel nolonger works with TI stuff. Go to ticalc.org for files relating to old and new memory extenders.

A speaker cart with a built in transistor amplifier, designed by Richard Piotter, can be built easily following my design. Get a low power piezo electric speaker, an NPN transistor like the 2N2222 or the 2N4954, and a very small rotary variable resistor (Radio Shack has them all). The variable resistor I used was about 10K, but I would use a lower value. The screen dims a little with mine and I would strongly suggest using the battery expander with it, since it provides more power, but if you turn your cotrast up a little, you won't notice, but remember, it uses plenty of power. I mean, it is an amplifier, isn't it? As for what programs it works with... Well, PlainJump][, zPong, Playwav, sound, and more. The amplifier is designed to take the signals from the data and clock pins of the SPinTerface port (the labels are based on the SF Expander cart. It would be more accurate to say red and white wire connectors, since that is what they connect if you were going by a Link cable) and run both of them together, through an amplifying transistor. The transistor alone drains massive power and makes the speaker rattle too much, so the variable resistor acts as both a current limiter and a volume control. The SPinTerface amplified speaker is easy to make. Connect the plus side of the speaker to one of the outside pins of the variable resistor. The other outside pin and the middle pin can be joined and then the middle pin connects to the 5v+ terminal on the connector. Connect the other speaker wire to the collector of the transistor. the emitter of the transistor connects to the signal ground, and finaly, join the clock and data pins and then connect both to the base of the transistor. The circuit is now complete. Just make a case now. I made a round hole large enough in the top of one of those virtual boy gamepack covers to hold the speaker (same case as the SF Expander cart). I then made a slot at the end for the volume knob to fit through. the transistor should slide in tightly, but it will slide in. I soldered everything together after cutting the case, but I didn't join the two halves of the case. When I was done, I glud the speaker and the variable resistor into place and then put glue on the joint and joined the two sides of the case together. I then glued the connector on. Once it is dry, you are done, but make sure your knob turns freely! Adding an earphone plug wouldn't be that difficult. I may put up a plan later for a speaker cart with stereo earphones, amplifier shutoff, volume, built in speaker, and a stereo/mono switch, but these things are easy to add. If you absolutely need a design, I'll see if I can post it soon.


The Piezo Electric Speaker Cartridge. I recomend this one because it won't crash your calc and won't dim your screen. It unfortunately is a little quieter. The principals are similar and you should use a similar, if not smaller resistance potentiometer for it. It does not use a transistor amplifier, but it should produce enough sound. You may need to work on using the case to cause a mechanical amplification effect. If you buy a plastic cased piezo buzzer from Radio Shack, you won't need to worry about the mechanical resonance.
I2C Temperature Sensor Cart (1 Chip version). The One chip version of the I2C Temperature Sensor for the SPinTerface port doesn't actualy use the power supply provided by the port. It uses so little power, that it can draw it off of the serial lines in the port! The software (TEMP.SIT) reads the sensor about twice a second and should run on any TI-85. (NOTE: The temp of the chip is updated twice a second, but that doesn't mean that if you put it in a freezer, it will instantly say 0 degrees Celsius. It takes time for the temp to go down, and it may not even go all the way down because the sensor may not have direct contact. Remember, the case has to reach the current temperature of the atmosphere or the object you're testing, so be patient). The sensor chip's case temperature is the temperature that is shown by the driver software. A tiny probe soldered onto pin 4 (Gnd) should help conduct heat from the probe into the chip, and if the chip is sealed by glue or sealant, then you can even check water teperature. You need to keep the metal probe insulated from electricity, so sealant around it as well would be wise. The capacitor is un marked because I am told that 1uf, 10uf, or 100uf all work. I am using 10uf and it works fine, you should try others too though. The capacitor is there to store power from the serial pins when they are high and release power during the time they go low. It also acts as a filter. The two switching diodes allow power into the capacitor, but doesn't allow the capacitor to send it back into the serial lines when they go low. There may be enough power to run two chips connected in parralel, with different addresses, but I have had problems using the serial port power to run two of them. I recomend this design for only one chip sensors. Use the power supply provided by the SPinTerface for two chip versions. If you need to change the address of the chip, then look at the table displayed with the schematic. Connecting an address pin to ground is the same as setting it to "1." Leaving it Not Connected is a "0." Here is the schematic for the serial line powered I2C Temp Sensor...
I2C Temperature Sensor Cart (2+ Chip version). The One chip version of the I2C Temperature Sensor for the SPinTerface port doesn't actualy use the power supply provided by the port. It uses so little power, that it can draw it off of the serial lines in the port! The software (TEMP.SIT) reads the sensor about twice a second and should run on any TI-85. (NOTE: The temp of the chip is updated twice a second, but that doesn't mean that if you put it in a freezer, it will instantly say 0 degrees Celsius. It takes time for the temp to go down, and it may not even go all the way down because the sensor may not have direct contact. Remember, the case has to reach the current temperature of the atmosphere or the object you're testing, so be patient). The sensor chip's case temperature is the temperature that is shown by the driver software. A tiny probe soldered onto pin 4 (Gnd) should help conduct heat from the probe into the chip, and if the chip is sealed by glue or sealant, then you can even check water teperature. You need to keep the metal probe insulated from electricity, so sealant around it as well would be wise. The capacitor is un marked because I am told that 1uf, 10uf, or 100uf all work. I am using 10uf and it works fine, you should try others too though. The capacitor is there to store power from the serial pins when they are high and release power during the time they go low. It also acts as a filter. The two switching diodes allow power into the capacitor, but doesn't allow the capacitor to send it back into the serial lines when they go low. The SPinTeface power supply is used run two or more chips, connected in parralel, with different addresses. I recomend this design for temp sensors that require more than one chip sensor. If you need to change the address of the chip, then look at the table displayed with the schematic. Connecting an address pin to ground is the same as setting it to "1." Leaving it Not Connected is a "0." You must remember that no two chips can have the same address. Here's the schematic...

Keith Burzinski's Light Flasher


SPinTerface Modifications by Richard Piotter.
Notes: LEDs require lots of power. The battery expander or (especialy) the SPinTerface Power pack would be good accesories for this project.


Keith Burzinski's description of the light Flasher

"My whole life I've been interested in (flashing) lights. In fact, I have a small collection of disco lights in my room. There are rotating police beacons, "kaleidoscope" displays, stoplights, blacklights, etc. I've got many types. Really, my grandfather got me started on all this when I was very young. Over the years, using my knowledge of electronics, I've built many light flashers, but none as complex (or simple?) as this one. I used to use ring counters and other types of shift registers and latches, but this, being microprocessor (TI-85) controlled, is by far the most advanced. This design can be used in a number of ways by the TI-85. The program, being as flexible and easily programmable as it is, makes this the best light flasher I've ever built. :)"


The Schematics and Technical Info for the Circuit:
Circuit Number 1:

This circuit is the original. Obviously the schematic is a bit more complex, as is the theory of operation.

The TI-85 uses the same simple 10-bit communication protocol for both circuits. In any given transmission of data, the first bit sent is low (logic level zero), followed by a high (logic level one) bit. The data to be placed on the LEDs is then sent accordingly.

When the first clock pulse occurs in a transmission, the 9th output (high) is shifted over to the 10th output, causing the circuit to reset (all outputs are forced low). Note that the 10th output is inverted; the low logic level normally present on the output is inverted to a high logic level, allowing the 74164s to operate normally. However, when the 10th output goes high (because of the 2nd bit, or 9th output, being shifted right), the output is inverted to low, causing the 74164s to reset. As soon as this occurs, the 10th output (now low) is inverted to high again, allowing the 74164s to operate normally.

It is also important to know that the 9th output serves a second purpose: to "enable" the AND gates. First it is necessary to understand the operation of an AND gate.
Input 1: 0 1 0 1
Input 2: 0 0 1 1
Output: 0 0 0 1

As you can see, Input 1 AND Input 2 must be high must be high for the output to be high. This is very important to the correct operation of our circuit.

As the data is loaded, the first input of our AND gates will change; however the outputs cannot change since the 9th output of our shift register is still low. It is not until the 2nd bit in our transmission (high) reaches the 9th output of the shift register that the outputs of the AND gates can change--one input of each AND gate is connected to this output. Since the data is already at the outputs of the first shift register, this is all that is necessary for the output of the AND gate to go high; if there was a set bit (high) in our data, the corresponding output of our first 74164 is high--so is the second input of the AND gate when the transmission is complete. This will cause the output of the AND gate to go high, as both of its inputs are high. If there was a clear (low) bit in our data, the corresponding output of the first shift register will be low, and the requirements for the output of our AND gate to go high will not be met; the output will remain low, and thus the LED will be off.

Got all that? ;)

And now the pros and cons:
Pros:
  • 7408s are easy to come by, and cheaper than the 74373s (unless you get them for free ).
  • Cons:
  • More complicated schematic and harder to build.
  • Uses more chips and thus more power.
  • Output is not fixed; all outputs will go low while shift registers are being updated.

  • Circuit Number 2:

    This is the newer circuit. Its schematic (I think) is easier to read, and its theory of operation is a bit easier to understand, mainly because about half the logic is handled by one chip. :)

    As I mentioned above, the TI-85 uses the same simple 10-bit communication protocol for both circuits. In any given transmission of data, the first bit sent is low (logic level zero), followed by a high (logic level one) bit. The data to be placed on the LEDs is then sent accordingly.

    When the first clock pulse occurs in a transmission, the 9th output (high) is shifted over to the 10th output, causing the circuit to reset (all outputs are forced low). Note that the 10th output is inverted; the low logic level normally present on the output is inverted to a high logic level, allowing the 74164s to operate normally. However, when the 10th output goes high (because of the 2nd bit, or 9th output, being shifted right), the output is inverted to low, causing the 74164s to reset. As soon as this occurs, the 10th output (now low) is inverted to high again, allowing the 74164s to operate normally.

    As the data is entered into the shift registers, the outputs of the latches do not change. This is because a clock pulse is not being provided to enter the data. However, when the 2nd bit (high) reaches the 9th output of the shift register, the clock input on the latch is pulled high, causing the data in the shift register to be "saved" in the latches. Now the outputs of the shift registers can be changed without affecting the outputs of the latches. This is especially important as new data is being transferred into the shift registers.

    Does that all make sense? ;)

    Here's the pros and cons...
    Pros:
  • Outputs are latched and do not change during a transmission, therefore making it possible to connect this to a parallel device, such as a printer.
  • Uses less chips and thus less power.
  • Slightly easier to build and understand.
  • Cons:
  • 74374s are a bit more expensive and harder to come by.
  • The parts you'll need are as follows:

  • 1 7404 Hex Inverter
  • 2 74164 8-Bit Serial-In Parallel-Out Shift Registers
  • 2 7408 Quad 2-Input AND Gates (Circuit #1) OR 1 74374 Octal D-Type Latch (Circuit #2)
  • 8 LEDs; I recommend High Brightness LEDs--they're much more visible.
  • 8 Resistors

    The values of the resistors are flexible. The brighter you want the LEDs, the lower the value of the resistors can be. Don't pull them down too low, though; you'll shorten the life of the LEDs, and possibly (not likely since it's only a 5 volt circuit) fry the resistors.

    As for the chips, I'd recommend the 74HCT00 series. Any of the 7400 series chips should work (74LS00, 74F00, 74HC00, etc.) but the 74HCT00 series, being CMOS, is faster, and is less likely to "mess up" the signals from the TI-85. Don't let the CMOS scare you either; the new CMOS technology is significantly less sensitive to static charges than older CMOS chips. I carry them loosely across wool carpeting all the time, and they're always just fine. ;)
    Also, Radio Shack sells the 74HCT00 series chips now, so, use those, and you can get all the parts there. :)
    What if I want to use something other than LEDs, like regular lights?
    Well, then replace the LEDs with IR LEDs, and add this to each output:

    (You'll need to build eight.)
    Point each IR LED directly at the phototransistor in this circuit. This will cause the phototransistor to conduct every time the IR LED is on, which will then activate the SCR.
    Keep in mind that the larger the voltage, the higher the resistance will need to be between the cathode of the diode and the phototransistor. This is so as not to destroy the phototransistor. I'm using a 12 volt AC supply (you'll need to use an AC supply, so the SCRs won't latch on), and mine are 1/4 watt 180 ohm resistors. This works, but personally I'd recommend 1/2 watt resistors, just to play it safe. :)


    The Light Flasher Software:
    File name: Version: Effects: Comments:
    FLASHER6.ZIP
    FLASHER6.SIT
    6.5 Invert
    Shadow
    Strobe
    The Sequence Editor has been redone and is (needless to say) easier to use.
    FLASHER7.ZIP
    FLASHER7.SIT
    7.1 Invert
    Shadow
    Strobe
    The best yet! Includes some bug fixes to 7.0.
    The program uses a much better system for syncronizing sequences to music. It allows you to quickly and easily change speeds with almost no hassle at all. :)
    This version also allows you to send the data in the Sequence Editor from the main screen in much the same way that the Direct Comms or Startup data can be sent!
    Please note: this version (7.1) requires CShellversion 3.0 or later; it will NOT work with ZShell!!!
    SEQS.ZIP
    SEQS.SIT
    N/A N/A (?) A group file containing various sequences I've created over time. Last updated on 6/29/97!

    Please e-mail me if you find bugs in any of the programs!

    This software itself is very flexible. It is programmable; that is, you can edit and run "sequences" in any order.
    The sequences are stored as string variables with the name "SEQDATxx". The "xx" can be any two-digit number from 00-99. Therefore, there can be up to 100 sequences (that will be accessable by the program) stored on the calculator at any time. The sequences are limited in length only by available memory in the calculator.
    The program also contains a Configure Menu. This allows you to configure a number of options, such as what information the program sends to the lights on startup and exit. From this menu, you can also view the key assignments for the Main Screen and Sequence Editor, as well as edit a sequence.
    The preprogrammed special effects can be used in any combination, with any sequence.
    Version 6.5 features three effects; they are listed and described .
    Programmability of the Software:
    The software, as mentioned above, can access up to 100 sequences at any time. It is also configurable in a number of ways from its Configure Menu. Here is a screenshot from the Configure Menu in Version 6.1 (an old version):
    Screenshot
    Although it may not seem like it, those four options can make a big difference in how you feel about the program when you're using it. ;)
    Explination of the built-in Special Effects: Strobe - The strobe effect is a classic. Its name gives it away. It causes the lights to remain lit for a very short time each time the sequence step is advanced. This has very interesting effect when used with high-paced music, such as Dance music.
    Invert - This effect does just that. It inverts the current step. Channels that would normally be off are on, and channels that would normally be on are off. An illustration will help:
    Data in step:	00110110
    Inverted data:	11001001
    Where 1s represent a channel that is on, and 0s represent a channel that is off.
    Shadow - The Shadow effect will "mix" the current step of the sequence that is running with the previous step that was being displayed. For example, if the current step being displayed is 7, then step 6 and step 7 will be sent to the light system simultaneously. Yet another illustration will help:
    Step 6:	01011000
    Step 7:	00011010
    Result:	01011010
    Again, 1s represent a channel that is on, and 0s represent a channel that is off.
    (Programmers: this uses a logical "or" between the two bytes.)
    There you have it. All of the effects that are programmed into the Light Flasher software.
    Uses for this System: Well... If you're a DJ and you know a little about electronics, BUILD ONE!!! They look cool if you've got some music that you can syncronize them to. Any kind of a chase sequence looks especially neat if it's running to the beat of the music...
    Even if you're just an experimenter (looking for a project) go ahead and make one. You won't be disappointed. ;)

  • If you would like to use AA bateries instead of the expensive AAA bateries, then go to my Battery Expander Page. It has instructions on building a batery case extender that lets you use AA batteries with NO MODIFICATION to the actual calculator. It will work on any TI-8x except the TI-80. It was easy for me to build it because I have a TI graveyard that's full of parts, but you should be able to get things done too. You'll figure it all out once you see it...


    Return to the TI Graphicg Calculator Page


    E-Mail me at: richfiles@mac.com The Richfiles News Page
    The Richfiles Links Page The "About Me" Page
    The Richfiles Robotics Page The Richfiles TI Graphing Calculator Page
    The Richfiles Model Building Page The Richfiles "Misc" Page

    Choose Frames or No Frames?

    LinkExchange
    LinkExchange Member Free Home Pages at XOOM Free Home Pages at GeoCities

     Search: Enter keywords...

    Amazon.com logo
    Join AllAdvantage.com
    Get PAID to use the internet! Avaliable for Windows. (I HAVE the Macintosh beta version NOW!)
    Start earning $12.50 a month, and build it up to larger amounts. I pay my internet bill with it!

    The Richfiles is copyright © 1996-2000. All Rights Reserved.


    Made With Macintosh