3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

DIY RAM Memory- Register Style

DIY RAM Memory- Register Style
«
  • 100_0217.JPG
  • 100_0211.JPG
**UPDATE** I also made a CMOS version here: http://www.instructables.com/id/DIY-CMOS-RAM-Memory/
If you have ever looked at a microcontroller's datasheet, you have probably seen something about registers.  Registers are little one or two byte memory storage units in microcontrollers.  The register in this instructable can hold 3 bits of data (b/c I ran out of room on my breadboards) using transistors.  I did this to prove that I can, however, its not practical as an 8 bit register requires 64 transistors, about 64 resistors and lots of space.

The register is a neat device. It can recieve data when the enable input is, in my circuit, low and it can then latch and save the data even it the data line is changing. My circuit is not the conventional D-type latch because it used more transistors than I had.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Materials

Materials

The materials for this project are quite simple as it is a prototype kind of project.

8 NPN transistors for each bit - mine is 3 bits (do the math)
8 resistors for each bit - 1K for the supply connection and 1K or more for signal. get a few more (you will need some more)
A pushbutton switch - N.O.
A DIP switch - at least 4 switches
A solderless breadboard - if you dont have one then your missing out because these things are great
An LED for each register to display  the stored bit
Some wire
Pliers are a great help for placing wires in tight places

« Previous StepDownload PDFView All StepsNext Step »
97 comments
1-40 of 97next »
Apr 23, 2011. 8:36 AMrobot1398 says:
can i use 1.2k ohm instead of 1k ohm
Apr 23, 2011. 8:37 PMrobot1398 says:
ok i will post some pics when i am finished
Apr 22, 2011. 7:56 PMrobot1398 says:
can i use bc548
i have about 50
Mar 3, 2011. 9:04 PMrtty21 says:
Check out this schematic! I painstakingly slaved away on my D Latch memory for all the world to see!
here is the schematic.
Mar 9, 2011. 3:13 PMrtty21 says:
With the LED on, it draws an additional 5 mA (Milliamps) as compared to having the LED off.
The circuitry itself draws anywhere from 1 mA to 2 mA depending on the state of the data input. If the data input is HIGH, the circuitry will draw 1 mA more compared to when the data input is LOW

The most this will draw is 7 mA.
The least this will draw is 1 mA.
Apr 21, 2011. 11:19 PMrobot1398 says:
can i store data in it
Apr 22, 2011. 7:29 AMrtty21 says:
it becomes immensely more practical to store bits after I soldered up my design!

Inst'ables.com is not allowing me to post pics in comments right now, so I'll just post some links to them:

http://i137.photobucket.com/albums/q208/rtty_the_pivot/100_9730.jpg
http://i137.photobucket.com/albums/q208/rtty_the_pivot/100_9731.jpg
http://i137.photobucket.com/albums/q208/rtty_the_pivot/100_9730.jpg
Apr 22, 2011. 7:46 PMrtty21 says:
thx
Apr 22, 2011. 7:56 AMrobot1398 says:
ok if i want to store something less than a bit
can i store it
if yes how
Apr 22, 2011. 7:27 PMrobot1398 says:
you made 3 bits so you can store 3 bits
am i correct
how can you store data in it
Apr 22, 2011. 7:47 PMrtty21 says:
I only made one. i gave you three pictures of the same thing. so i can only store one bit.
Apr 22, 2011. 8:50 PMrobot1398 says:
how do you put data into the circuit
Apr 23, 2011. 8:11 PMrtty21 says:
If the "D" (data) input is at the desired state, pulse the "Latch" (write) input fairly fast to set the LED (the output) to whatever logic level "D" is.

When i say "pulse the 'latch' input", I mean turn it on and then turn it off.
Apr 22, 2011. 8:11 PMrobot1398 says:
ok
i am trying this
i have about 50 bc548s
Apr 22, 2011. 7:27 AMrtty21 says:
it becomes immensely more practical to store bits after I soldered up my design!

Inst'ables.com is not allowing me to post pics in comments right now, so I'll just post some links to them:

http://i137.photobucket.com/albums/q208/rtty_the_pivot/100_9730.jpg
http://i137.photobucket.com/albums/q208/rtty_the_pivot/100_9731.jpg
http://i137.photobucket.com/albums/q208/rtty_the_pivot/100_9730.jpg
Mar 9, 2011. 7:42 PMrtty21 says:
            I am using 10 Kohm resistors. If you would like to try one of my AND gates out, (I don't know if they are unique or not) here is the schematic:
===http://i137.photobucket.com/albums/q208/rtty_the_pivot/ANDgate.png===

            I suggest R1 and R2 to have a value of anywhere between 10 Kohm and 100 Kohm.
R3's value has to be less than R2. preferably half the value of R2.

            The reason for the addition of R3 into the gate is to keep the base-emitter leakage in check. If I make input B HIGH, that high current will go through the base and out the emitter of the transistor. This current will ultimately end up at the output (X) of the gate. The LOW current coming through R3 is going to be double the HIGH current of R2 if the value of R2 is double R3.

            From this we can see that the LOW current from R3 and the HIGH current from R2 will both meet once they have gone out the emitter of the transistor. Now that they have met, the signal with more current will take over. Since the LOW signal from R3 is double the current of the HIGH signal from R2, the output will be LOW.
            Alternately, When A is HIGH, it allows a HIGH signal with much more current than the R3 LOW signal to "take over" the emitter as the dominant state, and the end result being a HIGH output (X).
=====thanks for reading!=====
Mar 6, 2011. 7:42 AMrtty21 says:
thanks
Feb 23, 2011. 7:41 PMrtty21 says:
Couldn't I replace the two YES gates (buffer gates) with AND gates?
Feb 25, 2011. 6:23 AMrtty21 says:
For a larger image of the below schematic, click here
Feb 25, 2011. 6:17 AMrtty21 says:
You can fix that with a pull-down resistor of less value that the resistor connected to "B". (10,000 < 22,000)
This ensures that even if B is HIGH while A is LOW, the HIGH current given to B will not be more than the LOW current from pull-down resistor. (remember that the current given to the base and collector both go to the emitter)
Feb 25, 2011. 2:06 PMrtty21 says:
Very interesting...
Good chat.
Feb 23, 2011. 8:59 AMrtty21 says:
Could you upload the schematic file of your transistor memory? I would really appreciate it if you would! I use CadSoft:Eagle too and I'm loving it!
Dec 26, 2010. 1:28 PMJmmaroli says:
Great Instructable! I built this using logic gate IC's but the only problem is that when the bit is locked at 1, it stays on for a bit and then goes to the 0 state after sometime, could the gates just be leaky or what?
Dec 8, 2010. 3:41 AMpyrohaz says:
Surely for the output stage, using a common emitter stage would be better so it doesn't invert the output?
Dec 2, 2010. 9:03 AMparukboy says:
I don't think I understand the gated buffer properly. Okay heres what I know

D = 1
WE = 1
Q will = 1

THEN

D = 0;
WE = 0
Q will = 1 because when R & S = 0 , Q = 1

BUT

D = 0
WE = 1
Q will = 0

THEN

D = 1;
WE = 0;
Q will = 1 because when R & S = 0, Q = 1

Or have I gone wrong somewhere ?


Nov 15, 2010. 1:55 AMbeehard44 says:
is it possible to use an ordinary ram stick (i have a few laying around) and use it for analog datalogging?
Dec 2, 2010. 8:19 AMbeehard44 says:
i know double post, but i might stick to paper and pencil, easiest way to go
Nov 20, 2010. 5:56 AMbeehard44 says:
oh, i still like analog over digital because it is less complex
1-40 of 97next »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
48
Followers
10
Author:Teslaling(Teslaling)
I like to make things that move, sense, calculate, compute, blink, and make noise. I like making things that create high voltages, electrical arcs, and can light fluorescent bulbs at a distance. I li...
more »