How to wire up a 8kx8 static RAM (DS1225AB)

Thread Starter


Joined May 24, 2023
Hi, first time here so be gentle... :)

I'm playing around with TTL and designing an 8 bit simple computer (following (sort of) Ben Eaters YouTube videos).

I have a DS1225AB 64k Non volatile static ram arranged as 8k x 8 bits. Which is great because I don't have to re-enter my program code and data.

I have been experiencing quite substantial voltage drops from 5v to say 4.4v

Originally since I only use 8 address bits I tied the other 5 address bits to ground directly, then tried a 1k resistor.

I also tied the control signals ~WE, ~OE and ~CE directly to the +5v rail and then to ground as needed.

So to read from the device I set the address inputs directly to the +5v rail as needed and the set ~CE to low (that is directly to ground), and ~WE directly to ground. Doing something similar for writing I can write and read to the RAM. All good.

However when I address the device using the outputs from a ring counter and with the outputs connected to 3mm LEDs via an inbuilt resistor I am getting output, but the problem is that there doesn't seem enough power to drive the led's properly. All seems fine if I manually set the address lines (directly to +5v). I seem to again get a substantial power drop. I am using a proper bench supply, though I don't how good these Chinese supplies are. It says 5v and 200mA, but the multimeter shows 4.6v when my RAM is connected and my (also Chinese) scope shows what seems to me to be a noisy power line.

So my question is? (sorry for the long preamble) How should I connect to inputs, outputs and control lines. Should I be using a resistor (1K?) to pull up or down all inputs (as for TTL) or is being tied directly to ground or 5v okay?

(Apologies if I am not providing enough info or if I should be posting in a different way)


Joined Aug 7, 2020
How many LEDs? Are they connected from the output to 5V or from the output to ground? What is the value of the "inbuilt" resistor?
The datasheet suggests that the RAM running current is 85mA. If you have 8 active LEDs trying to take 20mA each, then you don't have a big enough supply; but I doubt you could get 20mA out of the output pins.
Circuit diagram would help!


Joined Oct 2, 2009
You cannot drive LEDs directly from the outputs.
Use a buffer instead, such as 74LS04. Also use a current limiting resistor in series with each LED.

Thread Starter


Joined May 24, 2023
Well, that is possibly one of my problems and not something I had thought about. I was actually driving the LED through a 74LS245 Octal bus transceiver (I should have mentioned that, but clean forgot, sorry). However, it is making me look again and narrow down my focus to the way I have wired up my control panel. (The resistor by the way in series with the LEDs is 200 ohm). In order not to pollute this thread, I'll open a new issue.

Edit: 8 LEDS (green) for data and 8 LEDS (red) for address.

As for circuit diagram, yes of course, but I don't (yet) use a diagramming tool, indeed I don't know what to use. I'll search the threads and learn how to make one. Thanks for the advice

So do you suggest using a resistor to take the control lines normally high (1k?)

I am manually controlling devices (I haven't written any control circuit yet) so if I want to take the control pin low is it okay to just connect to ground with a jumper or should they also be through a resistor?

In my naivete I thought that just using a jumper wire to +5v or Gnd on a control line would make the chip happy, but I'm now wondering about current draw. (In watching YouTube videos it seems different folks have different ideas.)


Joined Mar 10, 2019
Common values in old TTL computers for pull-ups was around 10k. Some were 4.7k, but that depends on the driver chips, as to what they can current sink.
Remember that ttl chips can sink current (about 8ma for LS chips), but they cannot source current very well, around 1/10 to 1/20 of what they can sink.

EDIT: It has been pointed out to me that the 74LS245 can source 15ma and sink 24ma. That is because it is a buffer chip, made to handle more current. Original 74LSxx chips like 74LS04 have a sink limit of 8ma and source limit of 0.4ma. So, check datasheets for chips in use, values can vary a lot.
Last edited: