Microelectronics | 4Mx9 FPM/EDO 30-pin SIMM

Synopsis

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.

  • 4 Mb 70 ns single in-line memory module (SIMM) with 30-pin interface
  • Minimal number of integrated circuits
  • Parity support

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 started that game without an 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 an 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 at least 4 Mb of RAM to install and even load. 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 quickly. Occasionally used 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.

Needless to say that even with 4 Mb of RAM, Aladdin ran way too slow on a 25 MHz 80386SX processor. It was unplayable for sure.

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 made 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 making 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.

Disclaimer: I reserve the right to change the schematic diagram, the PCB layout, or the implementation without further notice. This is an entirely hobby do-it-yourself design and I am not responsible for any damage made by any possible mistake in any version or revision of the schematic diagrams or PCB layouts. Since it is an advanced microelectronics project, it requires very good assembly and debugging skills. In addition, I cannot offer any further technical support other than the contents of this article.

This project is in its final stage.
Current iteration of ASSY. 2486-SIMM-430 is VER. 1.2 REV. B

* * *

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 diagram and circuit board layouts to the public for educational purposes. I did all this at my own expense and in my free time. If you like my work, please consider making a donation. It helps me continue these kind of projects.

Schematic Diagram

Fig. 1: Electrical Schematic Diagram

Printed Circuit Boards

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

If you want to see or hide older schematic diagrams please use the following function: Show Older Schematic Diagrams

Gerber Files

Here are the Gerber files compressed in a .ZIP archive.
Please note that the file naming convention that I used is what OSHPark normally expects.
You can also order the printed circuit board directly from OSHPark by following the link in the bill of materials below.
Beware that OSHPark PCBs are too thick for standard SIMM sockets and won't fit correctly. Read the rest of the article for more details.
I added another .ZIP archive with the Gerber files using the naming scheme expected by JLCPCB.

Compressed Gerber Files: simm-4mb.zip or simm-4mb-jlcpcb.zip

Bill of Materials (BOM)

The following list contains the parts that are required to assemble one SIMM.

4Mx9 FPM/EDO 30-pin SIMM
IdentifierValueQtyNotesMouser Number
Printed Circuit BoardASSY. 2486-SIMM-4301VER. 1.2 REV. BOrder from OSHPark [1]
Order from JLCPCB [2]
IC1M5117400A-70SJ24Mx4 DRAMOrder from 3rd Parties
IC2M514100C-70SJ14Mx1 DRAMOrder from 3rd Parties
C1-C4220 nF / 16 V4MLCC80-C1206C224K4R

Notes:

  • Normally, 100 nF capacitors would suffice. By construction, MLCC capacitance drops with operating voltage. This means that a 16 V part at 5 V operates at around 32 % of nominal voltage. Thus, I decided to install 220 nF rated capacitors.
  • RayeR from the Czechs Republic, recently informed me about a hack that enables this design to use either FPM or EDO RAM chips. He also sent me a link to a video on Youtube by Bits und Bolts that details the hack on his own project. He credits a guy called Arti9m for a detailed explanation about the FPM and EDO chips. I read it and did some research and all of them are right! Since the modification is minor, I decided to implement it in my design as well. Thanks guys for I learned something new! VER. 1.2 REV. B of this project contains a micro SMD solder jumper that allows the use of either FPM or EDO RAM chips.

Assembly Instructions and Notes

Here is a list of things you need to pay attention to should you decide to build such SIMM board.

  • Inspect the printed circuit board once you receive it. Normally OSHPark produces very good quality boards but one never knows. There must be absolutely no short circuits on the printed tracks. If the PCB is faulty then it can damage the DRAM controller in the system.
  • Take your time to solder all the components on the board. If you don't have experience in hand-soldering of SOJ SMD packages, then this project might not be for you.
  • Use a temperature-controlled soldering station and quality solder. Take care not to leave solder bridges as any short circuit will most likely lead to failures.
  • In order to ease-up the PCB assembly, I would suggest mounting parts in the following order: MLCC capacitors, integrated circuits.
  • At the end, clean any flux residues with isopropyl alcohol.

Interface Connector Description

Following is described the interface connector and its respective pinout.

INTERFACE CONNECTOR DESCRIPTION
IdentifierValueNotesPinout
CON130-pin SIMM Interface1 - 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

Sourcing Integrated Circuits

While I was 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 a 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 cause 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 fewer 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.

Construction and Pictures

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 have already inserted one of the modules into a SIMM 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 like the looks of the 4Mx9 70ns SIMM side text. The factory says tolerances for wire size are around 0.005 inches. This text is made of even smaller segment vector widths 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 80386-based machine detected 16384 KB of RAM. Great, it works! However, there is a catch. I wasn't aware that SIMM sockets expected 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.

At this point 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. First, I will recover the ICs from the modules that I have already built and then I will assemble all eight modules using the new PCBs.

Reprise

I decided to give JLCPCB a try as they offer a 1.2 mm PCB thickness option. The printed circuit boards have arrived pretty fast. At first glance, they appear to be of good quality. I thought that black PCBs would look good for these low profile SIMMs. And I was right, I like the end result.

However, the 1 and 30 pin numbers are pretty thick. Somehow the factory failed to maintain the dimensions specified in the Gerber files. The inflated (bold) font looks a bit ugly for my taste.

The silkscreen is of a lower quality compared to OSHPark. But that is as expected.

Let's move on with the assembly. Here are the parts that are soon going to be 4 x 4 Mb SIMMs.

I use Kapton tape to protect the contact pads from flux and solder.

The first SIMM using the new 1.2 mm thickness printed circuit board is finished.

I cleaned all flux remnants with high purity acetone. The Kapton tape did a good job protecting the pads.

Then again, the ugly silkscreen. JLCPCB should really do something to improve their silkscreening technique.

After assembling some more SIMMs, I also do have an opinion on the soldermask. It is not that resistant to heat and mechanical abrasion. By hazard I failed to correctly solder one of the small MLCC parts. So I quickly desoldered that capacitor and then used some desoldering wick to clean up the contact pad. I applied very little pressure with the soldering iron tip to the wick. But even so, the soldermask lifted easily near that pad. For reference, the temperature was 300 °C sharp, nothing out of the ordinary. I ditched that PCB and used a new spare instead.

All eight modules are completed.

Integrated circuits. Needless to say that my SOJ soldering skills have vastly improved.

The first batch of eight modules are installed in one of my 32-bit 80386DX ISA Single Board Microcomputers.

Conclusions and Reflections

I am happy that my 4Mx9 SIMM design works as expected. Also, it's great that I managed to solder SOJ packages by hand with the same old solder-drag method.

Versions and Revisions

This section lists the project version and revision history.

VER. 1.2 REV. B

  • Added support for either FPM or EDO RAM ICs
  • Minor PCB routing improvements

VER. 1.2 REV. A

  • Fully functional initial production version

Copyright © 2004- Alexandru Groza
All rights reserved.
VER. 1.0 | REV. A