The 32-bit 80386DX ISA Single Board Microcomputer uses memory under the form of SIMMs. While I do have some very nice IBM 1 Mb SIMMs, I thought about designing a 4 Mb SIMM board so that I could use the full 32 Mb that my 386 computer supports. This amount of memory would've been overkill back in the early 1990s. And for an 80386 class machine, it is even now. But I always wanted to have enough space for a nice and fast RAM drive and still be able to run Windows 95 and all of my MS-DOS games without fiddling with the settings in CONFIG.SYS all the time.
Here are the hardware specifications.
Let's see what is the main motivation to design and build these memory modules. In 1996 or so I wanted to play this game called Aladdin. My 80386SX / 25 MHz machine was equipped with 2 Mb of RAM. The game required 4 Mb split between XMS and EMS. If you played that game without a XMS driver (HIMEM.SYS) installed, I bet you remember that annoying error message XMS allocation error... And it was the same case if you didn't have and EMS driver (EMM386.EXE) loaded. But in that case, the message said: EMS allocation error... Annoying as crap. Then there was Windows 95 which required 4 Mb of RAM to install and load correctly. Thus I managed to source two more 1 Mb 30-pin SIMMs. Since that computer had only four SIMM slots, I filled all of them. I don't have to remember that if I dared to use SmartDrive (SMARTDRV.SYS), the available RAM would drop down quickly. Occasionally I was using a RAM drive for my software development routines. It was drastically reducing compilation time but it was eating about 1 Mb of RAM. So it was only natural that I had multiple CONFIG.SYS configurations. While it was (partly) fun, it was also (damn) annoying at times.
Of course, these days I can buy any SIMM from eBay. But there is a catch. 4 Mb 30-pin SIMMs are incredibly scarce and expensive. But 72-pin SIMMs are very common. And this idea of robbing a 72-pin SIMM of valuable DRAM integrated circuits became a reality. Thus I bought two 16 Mb 72-pin SIMMs and carefully removed the ICs. I studied their datasheets and decided that producing a working schematic would be straightforward.
It took me two whole days to design this SIMM from start to end. As always, I routed every circuit trace manually. Initially I tried to use the autorouter. But it did a big mess. It's also true that I use a very old program to design the layouts of my printed circuit boards. I had a lot of fun designing this memory module and I felt like I was doing some kind of technological breakthrough. Of course this is a wrong perception as there's nothing science-fiction in a three integrated circuit board. But the fact that I knew the prices of RAM back in the 1990s, and the scarcity of 4 Mb modules, enabled me to keep up my euphoric mood.
Let's get started.
This project is in its final stage.
Current iteration of ASSY. 2486-SIMM-430 is VER. 1.2 REV. A
Initially I will produce 16 prototype PCBs.
* * *
Laudatur ab his, culpatur ab illis. This project is provided as-is and is not for commercial purposes. It reflects my experimental work in microcomputer system design and should be treated as such. I release the schematic and circuit boards to the public for educational purposes. I did all this on my expense and in my free time. So if you like my work, please consider a donation.
Fig. 1: Electrical Principial Schematic
Fig. 2: Top Silkscreen
Fig. 3: Bottom Silkscreen
Fig. 4: Top Layer Printed Circuit Board
Fig. 5: Inner Bottom Layer Printed Circuit Board
Fig. 6: Inner Top Layer Printed Circuit Board
Fig. 7: Bottom Layer Printed Circuit Board
Fig. 8: Top Layer Printed Circuit Board - Simulation
Fig. 9: Bottom Layer Printed Circuit Board - Simulation
The following list contains the parts that are required to assemble one SIMM.
|4Mx9 70ns 30-pin SIMM|
|Printed Circuit Board||ASSY. 2486-SIMM-430||1||VER. 1.2 REV. A||Order from OSHPark|
|IC1||M5117400A-70SJ||2||4Mx4 DRAM||Order from eBay|
|IC2||M514100C-70SJ||1||4Mx1 DRAM||Order from eBay|
|C1-C4||220 nF / 16 V||4||MLCC||80-C1206C224K4R|
Here is a list of things you need to pay attention to should you decide to build such SIMM board.
Following is described the interface connector and its respective pinout.
|INTERFACE CONNECTOR DESCRIPTION|
|CON1||30-pin SIMM Interface||1 - VDD|
2 - /CAS
3 - D0
4 - A0
5 - A1
6 - D1
7 - A2
8 - A3
9 - VSS
10 - D2
11 - A4
12 - A5
13 - D3
14 - A6
15 - A7
16 - D4
17 - A8
18 - A9
19 - A10
20 - D5
21 - /WE
22 - VSS
23 - D6
24 - A11 (NC)
25 - D7
26 - P (Data Parity Out)
27 - /RAS
28 - /CASP (Parity CAS)
29 - D (Data Parity In)
30 - VDD
While I'm waiting for the PCBs to arrive from the Factory, I sourced the required DRAM chips from the two 72-pin SIMMs that I was talking about in the introduction to this project. Here are the two 72-pin PCB assemblies. They sure do look nice.
Well, not for long. Because they're taking a hot trip in the ... bread toaster. That's my preferred way of quickly and controlled removal of SMD parts. Timing needs to be perfect or else, the ICs turn themselves into toasted ICs.
One or two minutes later, I carefully removed the PCB assembly from the toaster and quickly gave each IC a push with a small screwdriver. They fall down just like autumn leaves.
Next comes the long and boring job of cleaning the pins of old solder. I'm using solder wick and plenty of activated rosin. This leaves a very big brown mess. But the solder is all gone. To remove the rosin residues, I'm using non diluted acetone and cotton swabs. Needless to say that acetone fumes can quickly give dizziness. Thus I'm doing this operation in the open air. In addition, these fumes are extremely flammable. So extra care should be taken. But anyway, all pins are clean now.
The ICs look brand new, just as if they were never soldered before. The ones with less pins on the right side are 4Mx1 while the other ones on the left side are 4Mx4. In total 32 Mb of RAM. This amount of RAM would've cost a small fortune back in the 80386 days. Now they value as much as pocket money.
Needless to say that these ICs are very sensitive to electrostatic discharge (ESD). Thus they require careful handling at any time.
The PCBs have finally arrived from the Factory.
I have sufficient PCBs for 32 Mb and one spare.
Soldering was straightforward. This is my first time soldering SOJ packages. And I think I did well. I already inserted one of the modules in a socket just to see if it fits. The socket pins scratched the SIMM pads -- but this is as expected.
If only I had these back in the early 1990s...
These modules appear to be of an almost industrial quality.
I had to manually file down the sharp edges. And, well, hand tools are not perfect. The PCBs appear chipped where the sharp pads were initially placed.
I am very happy with the way the 4Mx9 70ns SIMM side text looks like. The Factory says tolerances for wire size are around 0.005 inches. This text is made of even smaller width and it still looks crisp. Well technically this is not really a wire, but a combination of copper and soldermask.
I tested four SIMMs and the 386 machine detects 16384 KB of RAM. Great, it works! However there is a catch. I wasn't aware that SIMM sockets expect a 1.2 mm PCB thickness. OSHPark produces PCBs of 1.6 mm thickness. That means they are stressing the SIMM sockets a little too much.
I will not continue with the next batch of four SIMMs on these 1.6 mm PCBs. I will search for a different manufacturer that can make 4 layer PCBs in 1.2 mm thickness and I will redo these SIMMs somewhere in the future. Next I will recover the ICs from these four modules that I already built and only then I will assemble all eight modules using the new PCBs.
I am happy that my 4Mx9 SIMM design works as expected. Also I am happy that I managed to solder SOJ packages by hand with the same old solder-drag method.
This section lists the project version and revision history.
Copyright © 2004- Alexandru Groza
All rights reserved.
VER. 1.0 | REV. A