Lee of More Fun Making it on Youtube made a video building and testing the Pico-dram-tester. I like building up these types of projects, especially when the device is useful. I believe Lee mentioned he would like a power jack, as the intended power method was using test points. It can be powered by the Pico2’s USB port, but that wasn’t recommended, also such ports are easily damaged, and it would make it so you couldn’t update the device etc.
Lately when I have been ordering PCB designs by other people, I have found there were little changes I would have preferred to have made before ordering them. So I decided this time I would take the time to make some of those changes. I just didn’t want to use Test Points for powering it. I modified the design to include a DC Barrel Jack, center Positive 5Volts. The other primary change was I wanted to make it easier to “bodge” in the more common generic Rotary Encoders that I have. I didn’t know for sure if the generic Rotary Encoder would work, so I didn’t do anything too fancy in the first pass. I also made other minor routing changes throughout.
Because I picked White for the PCB, the tracks are very hard to see on photos. Somehow I put the wrong month reference on the board silk screen. I guess I should have labeled it as Revision 2.1. It was based on the Revision 2 with those minor changes. I did remove 1 Ground Test Point footprint, both were wired identically. There was no point in keeping it, and I didn’t have room for it.
The build went fairly strait forward. The primary recommendation is to put the Pico 2 on first. Don’t be confused by the project name “pico-dram-tester”, it doesn’t use a “Pico” it uses a “Pico2”. I put on the Resistors on next, then the 100nF Capacitors and then the taller components. I did use the Adafruit LCD so U9 was not required.
I did have to cut a trace at the Rotary Encoder, and put in a single bodge wire connection to ground. The common Generic Rotary Encoder lower center pin needs to be grounded, where the specified Panasonic Rotary Encoder that pin is a second “B” directional pin. (Note: “my” Rev 2.2 variant doesn’t need this done)
Rotary Encoder dodge on Rev 2.1
Once it was finished, I used it to test some 4116 chips and 4164s. It failed all of the bad 4116 chips I had, and passed the good ones, as well as the 4164s all passed. I found the 4164s pass to their speed specification and did fail if I set the tester to test for higher speeds.
The 4116 chips verified the -5 and +12 is working as well. I don’t have any of the other types of DRAM ICs to test.
With it working with the Generic Rotary Encoder, I just had a few finishing touches on this built. I needed a knob that fit the D shaped encoder. I found a knob that fit nicely.
The case didn’t require any changes to accept the DC Power Jack because there were already all of the Test Points there. The DC Power Jack does hang off the edge, which was intended, due to lack of space and I wanted it to be flush with any case it may be put in, rather than deep inside the case.
I did also print some spacers and install some M2.5 screws in the LCD PCB to keep it supported and solid. I put a bit of Red paint on the 4116 IC Socket. I also swapped out the button cap I had on the Back button.
Finally I put some stick on feet on the bottom.
While this little build is done, there were some things I wanted to change on the PCB after putting it together. I went back and reworked the PCB for Revision 2.2.
The new changes primary include a set of solder pad jumpers to configure the Encoder to either use the Panasonic Encoder, or the common Generic Encoder. The other changes are mostly Silkscreen changes. I prefer when the Component Values are on the Silkscreen as well as the part designations. There were some other minor routing changes, changes to via placement and such. I have uploaded Revision 2.2 to Github: https://github.com/Markeno76/pico-dram-tester
Below you can see renders of Revision 2.2 The solder pads can be seen to the left of the encoder footprint, instructions for JP1 are on the back of the board. Component Values have been added, also the Back button now has the “Back” text displayed.
I did find there is another fork of the project, that includes changes to the firmware. I want to look into that, as there are changes to work better with the Generic Encoder such as I have used. It works fine, but I believe you will get less “bouncing” with the alternate firmware. I do plan to look into trying that firmware, and see if I can bring it into my fork.
Update: 9/1/25: The original project has had the firmware updated several times since I built this and posted my revised pcb design. Now supports 4108 and 4132s the half good/bad chips used in some 8bit computers back in the day. I just found out about the firmware update watching another of Lee’s videos last night. I have merged in the updates into my fork, but those are current as of 9/1/25 so check the original github project for future updates.
Now that I have built a ZX Nuvo 128, I have a need for a good option for connecting up the RGB (RGBS) Video from it. The Composite Video output of it is pretty good on my 10″ LCD Monitor that I have on the work bench. The composite doesn’t look as good on some other monitors though.
With the GBS Control I built awhile back to use with the Commodore 128 RGBI to RGBS I had not included a SCART RGBS port or have an option for Audio passthrough. I just made it up to work with a standard VGA Cable. I also didn’t included the optional .96″ LCD Display and Encoder. This time I want to include those items. I am also going to place the SI5351 in a different location. I didn’t like putting it on the heatsink like I had last time. That heatsink does get warm with use, and having the board on it does reduce the heat dissipation. There will be a Switch to toggle in the Resistor between the Sync and Ground for 75 Ohm Sync Termination Enable/Disable. With SCART it will have audio passthrough. Due to that, I am also building it with a 3.5mm Stereo Audio Input/Output Jack. There is also a VGA to HDMI Adapter inside the case with audio wired to the 3.5mm and SCART ports. I can still use the VGA Output, but if I use the HDMI Output I will have audio passthrough from SCART (or the 3.5mm jack). If I use VGA as the Output and SCART for input, I can use the 3.5mm for Audio Output. If I use the HDMI as the Output and the “VGA” Input, I can use the 3.5mm jack for Audio Input so it will then output through the HDMI port.
I looked for a case that included this exact setup. I couldn’t find a full featured case that used the ESP8266 NodeMCU board form factor that Voltar had used, and I have a spare of. I found cases that use a smaller footprint ESP8266 Board with all the ports and features I wanted. They also often used a different SCART Connector than I have though.
I found a case that is similar to the last one (It is listed as a “remix” of it, but is nearly a full reconstruction I think) I had used previously. The remix also included a SCART port, which is the type of port that I have. It also had the option for the HDMI adapter, and being based on the other case I found there are 3 variants of HDMI Adapters that had mounts already made for them. The first HDMI Mount I printed I thought was the right one for my adapter, but I found out it wasn’t. There are 2 very similar looking HDMI Adapters, and mine was the “other one”, I found a mount that fit it. I tweaked it a bit to make it a slightly better fit. It turned out to have smaller screw holes, so I split it when installing it. I went back and resized the holes and reprinted it. It now fits quite well.
The case didn’t have an audio input (except by the SCART Connector), but that is an easy 1/4″ hole to add. This case did not have the LCD, or Encoder option. It also didn’t have spot for a switch that I wanted for the Sync resistor. It was simple to add the 3.5mm jack, and easy to add the Encoder, as they are simple holes. I added the spot for the switch in the little part above the VGA output port. The case is 3mm thick, which is a bit much though for the Encoder and 3.5mm jack, but it just fit. I printed the base case part to check it out and found a couple issues with it. The GBS board I have was a very tight fit, and when I test fit the board I almost couldn’t get it out. I ended up sanding the PCB down just a little, which makes it fit better. The SCART port is a bit of a problem to get in due to the large pin RGBS connector getting in the way. The Component RCA Jacks openings are slightly offset to the right.
After building this GBS Control up, I went back and relocated the front VGA and Component holes over to the left where they belong. I relocated the SCART port further toward the back of the case. I also thinned the front of the case by 0.25mm, due to the tight fit of my GBS board, this also gives the Encoder and 3.5mm Jack a tiny bit more usable screw thread to secure them. I printed a new version, the holes on the front line up properly now, the SCART still has a bit of an issue with the large RGBS header being in the way. It isn’t as bad now as the screw won’t run into that connector. For this build I had removed the RGBS port as it was in the way. I also redid the HDMI Port opening in the back, I didn’t like the tapered/feathered edge on it. I can’t move the SCART back any further than I already have as it will run into the back case screw.
Adding the .96″ LCD, it was bit more complex. I had to find some dimension specs, and I made up a model of it in Tinkercad. It gets a small bit oversized to allow room for the part to fit. My LCD is 1mm narrower than some other similar .96″ LCDs. I had to work out where everything else will be in the case. Where the ESP board will be blocking space, where the VGA to HDMI board will be, and also where the back of the Encoder will be. I printed a test print of the LCD holder part. The LCD fit, but that 1mm wider version didn’t. I reworked my 3d model of the LCD to be 1mm wider on the PCB, but it did not matter on this part, as there is no Rim up around the PCB with this part. I made another minor change to the case to accept the LCD where I wanted it. The LCD is optimally installed with four 2.5mm m2 screws. You can use 3mm m2 screws, be careful not to bottom them out and damage the case making them show through the top.
I didn’t realize it at the time, but when I went to put the VGA to HDMI adapter into the mounting bracket, it did not fit properly. There are apparently (at least) 2 VGA to HDMI adapters that look very similar externally, but the boards are a bit different. The one that was included with this case was not the correct one for mine. I did find one that was made for my adapter. I did make changes to it, I put in a relief cavity to let one of the ICs to rest in to prevent putting pressure on it with the clamping plate. That could cause failure over time. I also put some “slots” in the bottom of it looking similar to the one that did come with this case, I then found the screw holes were smaller, so I split the part when putting in the screws. I revised that and reprinted it with the larger screw holes. I swapped it out and the screws didn’t split it out this time.
The case is cool looking, and there is a good attention to how to make it work. It feels sturdy, mostly due to being thicker than the case I used last time. It is thicker than most cases I make myself, but for what it is, I figure it is worth the extra filament. I don’t like seeing into the case internals through the VGA ports, I may make little thin plastic sheets that close those gaps. I had to order the proper length screws to put the case together, as I didn’t have any that long. The model designer did specify the proper screw type and length.
This second GBS Control is functionally about the same, it has more connector options and HDMI Output internally. The VGA output also still works, I left it on the board and used the output header beside it to get the RGBHV into the VGA to HDMI.
The 3.5mm audio jack can either be used for input or output. If I am using SCART as the input, that will be inputting audio. If I want to use SCART with a VGA monitor, I can then use the 3.5mm audio jack as the audio output to speakers. If I am using RGBS/RGBHV VGA port for input (or component) and want to use HDMI with Audio for the output, then I can input the audio into the 3.5mm audio jack.
Overall, I had to pull pinouts for the SCART, and find the Pinout for the RGBS header that the included pigtail wire was for. I had to check the pinout of the 3.5mm jack I purchased. I also had to trace out the VGA/RGBHV pinout on the GBS Board, to verify it as it is labeled properly. For the VGA to HDMI adapter, I had to desolder the 3.5mm jack usb port, and the VGA port. I lost the HSync (or VSync) pad in desoldering the vga connector from the VGA to HDMI adapter. I was able to trace that down to a pad on the other side of the board. I had to trace out the pinout of the 3.5mm Jack on the board as well, and found I lost one of the Right audio pads too. There are 2 Right audio pads and 2 Left Audio pads so that worked fine as well. The board seems a bit delicate, but removing those connectors can be hard on any board. There is another type of VGA to HDMI board, the one used on the Super Gameboy Console project, there is a bracket for it out there as well, it has a standard through hole VGA input and audio jack. After building this second GBSControl, I went back and rebuilt the first one adding the SCART, HDMI etc. For that one I used the other HDMI Adapter. It was easier to remove the VGA and through hole Audio jack, but the USB Power had to be removed, and that was difficult to do without ripping off the pads (I lost one of the ground pads, but there are plenty of ground pads).
The LCD didn’t work when I connected it up, I flipped SDA and SCL and the LCD worked. I wired the Encoder as shown in the diagram on the GBS Control site, with the recommended capacitors, but it doesn’t work very well. For the rebuild of the other GBS Control, I didn’t include the Capacitors on the Encoder, it seems to work better. I was thinking of putting on some 100nF capacitors instead, but as it worked better without any capacitors, I didn’t bother with them.
To prep the GBS board, I removed the large pin RGBS header, as it was in the way of the SCART and not needed. I removed the RGB adjustment pots. I removed the headers over where the ESP gets wired in. I also removed the buttons, as I was unsure if they would get in the way of the Encoder (they would not have). The one capacitor was damaged (dented), so I also removed it and swapped it with a spare.
Once all the parts and boards were prepped, I tested the GBS before modding it. It posts a splash image when in default mode. That worked.
Then I added the 4 surface mount capacitors. I added the wiring for the ESP board. I again used two angled pin headers for the Ground pins to give a good secure connection to the GBS board.
The LCD was easy enough with just 4 wires with a header. For the Encoder, I wired it up with the suggested capacitors. The Encoder didn’t work very well in testing, below I also show that I added the new connectors etc to my original GBS Control, with that board I didn’t put on the Capacitors with the Encoder, and that is working better for me. I will probably remove the capacitors from the Encoder on this unit the next time I open it up.
For the HDMI Adapter I desoldered the VGA the Audio jack and USB Power port. I built up the HDMI adapter wiring. I didn’t have a large enough connector for the VGA output header, so I made up 2 smaller ones, the first for the RGB and Ground, then a smaller 2 pin one for H Sync and V Sync that gets plugged in to the right of the larger one. The board is labeled with R G B and H V on the header, which is correct, the other unlabeled pins are Ground, or mostly are ground on that header. I used the provided pigtail for the power header and soldered that to where the usb power port was for the HDMI adapter to power it.
ESP Board PreppedClock board with Kapton and foam double sided tape.This didn’t work very well with those capacitors, I am suggesting not using the capacitors on the Encoder.
Below I have the baseline GBS Control. This has the ESP board installed, the Encoder, the 4 pin header connector for the LCD screen. The 4 added surface mount capacitors. The RGB potentiometers are removed, they do have the jumpers installed from the bottom of the board, don’t forget them. The jumpers on the RGB potentiometer locations were put on the bottom of the board, as I am placing the Clock Generator board on top where they used to be. When I had this this far along, I tested it to make sure it was still working.
Next I installed Clock board. This new placement is recommended currently on the GBS Control wiki, and the board just fits in there. The first board shown is an Adafruit branded board appears slightly larger, but I don’t have dimension of it. The person doing the alternate placement used the same type of board I am using had cut the board down smaller, more in one dimension than the other. I expect the reason for chopping it in the narrower dimension is to get more clearance to the TrueView IC pins and heatsink, as it is quite close. I had missed this was to shift it to align with one of the Ground Through holes in the board from the removed Potentiometers. The smaller generic board I used does otherwise fit perfectly without any modification if you use a ground wire. You may be able to get alignment to that ground point though by removing the RGBS connector, but I missed the note about the Ground pin while doing the build. I placed 2 layers of Kapton Tape to the bottom once the wires were soldered on. I then put foam double sided tape to hold it in place. Then I put in the short wires to the ic pin on the corner. I wired into the capacitor the same as before for power, except I put power to the power and ground pins. I am not sure why they are telling you to add the 3.3v to the one capacitor, the board supposedly runs as 3v with a LDO Regulator that can be powered by 3.3v. So I felt it best to power it the way it was designed to be powered.
The last parts all plug in. The HDMI Adapter took some tracing out the pinout to know where to put the wires. I used a bit of ribbon cable with connectors that I crimped on. I do not do them very often, so it took me a bit to figure out how to crimp this type of connector properly. I used the power pigtail to power it. I used the RGB pigtail to wire to the SCART Connector. The switch and resistor for the Sync pin is wired to the Sync pin and Ground on the SCART Connector. I did wire together both halfs of the switch, it just doubles up the connection path incase one half starts making poor connection with use. It is not easy to see, but the SCART Connector has all the Ground pins wired together. Then the 3.5mm audio jack is wired into the SCART. With the audio also running over to the HDMI Adapter from the SCART Connector. The HDMI Adapter ribbon cable has some Liquid Electrical Tape on it to tie it together. That was mostly as I had lost a pad for H or V Sync and had to run a little 30awg wire to the top of the board and solder it then to the proper wire in the ribbon.
The 12pin JST PH (2.0mm) connector by the VGA output is where the HDMI Adapter is connected to. The pin out is Red, Ground, Green, Ground, Blue, Ground, Hsync, Vsync, and 4 more pins that we won’t be using. As I didn’t have a 12pin JST PH connector, I used a 5pin connector wiring in R, G, B and 2 Ground pins. Then for Hsync, and Vsync I used a 2pin connector, which fit in nice beside the 5pin connector. You can add a spot of Hot Glue if you like to hold it. Alternately if you have an 8 pin, or longer plug you can do it all as one, and it will be more secure. I linked a couple suggested connectors and the tool below, not any affiliated links or anything. You could solder to the pins, or maybe get or salvage a cable from somewhere else. I used part of a salvaged ide cable, which a good size of wire for the crimp connectors. Otherwise I use 30awg solid core wrapping wire, and 24 awg silicone insulated stranded wire, along with various other bits of regular scrap wire from my stash. The wrapping wire is small and easy to use to solder to small pads or ic pins. The stranded silicone insulated wire is very flexible, easy to strip, and the insulation doesn’t melt, so I splurged on some the other year.
SCART Connector, 3.5mm Audio Jack for Input or Output depending on usage. Sync to 75Ohm Switch and HDMI Adapter assembly.
The wiring on the VGA to HDMI adapter may vary, as there are some variations in the connector. With the adapter above, Red, Green and Blue were on the top of the board with Hsync and Vsync on the bottom of the board. I checked them with a continuity mode on my multimeter to verify I had it all correct. There are of course numerous Ground pins on the VGA connector. For the Audio input to the HDMI Adapter, I just used my multimeter again to test the connectors on the removed 3.5mm jack, which I was unfamiliar with the footprint for. While the 3.5mm jack had the build in “switches”, both the switched and non switched pads were wired to the inputs. That was good, as I lost one of the audio input pads closest to the hdmi adapter.
The last bit is easy, just screw the LCD to the top cover. Then it is connected with the included pin header. Using some M2 x 2.5mm (3mm max) screws to install it. The Pinout is sometimes different for the LCDs, so always wire it based on the Silkscreen Labels on the LCD. The Silkscreen Labels though are on the “front” side of my LCD, once installed I can’t read them.. The Dupont 2.54mm connectors can be purchased as various lengths and used for breadboard wiring and such. You can buy the crimp tool for them. I purchased a SN-28B Ratcheting Crimper, which doesn’t work for the JST PH 2.00mm crimps.. so purchased the SN-01BM Ratchet Crimper I have both sets now. I am wanting to try the SN-01BM with the Dupont 2.54mm. The only difference in the Crimp tools is the Die Inserts, so you can just use one crimper and get different Dies for them if needed. There are other non ratcheting crimpers that are a bit cheaper, I tried one but didn’t have much success with it. Other people have said they are great, and I find that the case with such tools, using them incorrectly they smash the crimp, or cut the wires off.. Doing them correctly, they work great. Putting the crimp in from the wrong side, crushes the connector and usually cuts the wire, but putting them in the correct side it just works.
The complete internals. There is a good bit more inside this GBS Control build, The filament I used is Overature Matte White PLA. It is a little bit of an odd filament, not glossy and more opaque (but not fully with LEDs behind it). It gave the unit a unique look, and it feels sturdy. It also looks good with my White ZX Nuvo 128 in the ZX Spectrum 48k White reproduction case.
I closed it up and did some testing with RGB Video from my Nuvo 128 to HDMI on my bench monitor. It looks great and the audio sounds great, all considering the monitor it is connected to that is.
I had all the parts that I needed. I used another type of HDMI Adapter, and put it in the revised case.
Below are most of the new parts laid out. It is hard to make out, but the required resistor is wrapped between the sync and ground pins on the large rgb header partially blocked by the new 3.5mm jack. The HDMI Adapter wiring had connectors JST PH (2.0mm) connectors crimped on. I didn’t have connectors that were long enough, so I used a 5pin for the RGB and Ground, then a 2pin connector for the H-Sync and V-Sync pins again. The wiring on the VGA to HDMI adapter was a bit different as it is a traditional through hole vga port, but it was easier to map out as that is the standard vga port footprint. For the Audio, it was easy to check left and right on the 3.5mm jack, it had 2 pads for Left and 2 pads for the Right channel.
The SCART port is relocated further back on the case to help it better clear the large RGB Connector. If you look at the pictures, you may see in the White one above, the one SCART Screw would run into one of those RGBS pins if the connector was installed. The front of the case is .25mm thinner as the GBS board was wedged tight in the white case, which did make it nicer for the 3.5mm and encoder mounting with just that little bit more thread usable to screw in. The front input port openings on it are now properly lined up with the Component RCA Ports. The .25mm thinner front of the case gives the GBS board that little bit more space, but oddly the other GBS board seems to have more clearance. The Grey case is the revised one. The top didn’t print as nicely in the Grey.
Back, mostly the same.Component Openings AlignedSCART back for better internal Clearance.Tops are the same other than how well they each printed. I had the Z Height a bit too low on the Grey one, so the finish is not as good. The Grey would still show the lines more than the white due to the type of filament though.
With the large RGBS header on the board, it did get in the way of the one corner spacer. That I had to shave down a bit to get it to fit properly. I could have removed that header like I did on the white one above, but I didn’t want to go to that trouble. It was minor thing to file the spacer.
RGBS Header in the wayShaved SpacerShaved Spacer Installed
The SI5351 board was relocated. This was almost required, as there was very little clearance to the HDMI Adapter with the prior location glued to the top of the heatsink. I also prefer it as that heatsink does get warm with use.
Kapton and Foam TapeReinstalled
I did use one of the other style of HDMI Adapters in the Grey one. I had a couple of them. It is the type used in the Gameboy Console project, so I had two more of them laying around. After looking at it, it is not identical to the one I used in the Gameboy Console project, the regulator setup is different, some parts are not present. This adapter was easier for me to get the VGA and Audio ports off, but the the type of USB ports for power was more difficult than the other style. I prefer using this type of HDMI adapter, as it lines up to the hdmi better and feels more secure. I will also be more likely to reuse the connectors I pulled from it.
Alternate HDMI AdapterUpgrades completed.
I think this one looks a bit neater internally, I did get the wire lengths down just a bit, which helps it be less cluttered. It still has a lot of wiring in it though. You can see the buttons on the pcb don’t have any issues with the Encoder being above them. Sure they won’t be used, but there was no reason to remove them.
I am going to reprint the Grey top case at some point, plan to do it with a multicolor print to fill in the GBS C text flush to the top. I tested this one with the Nuvo 128 as well, testing both HDMI with Audio and VGA Output. It worked just as well as with the White unit except the Encoder seems to work better without the capacitors. This GBS Control will go back on the desk where I keep my Commodore 128 connected for use with the RGBI to RGBS adapter. I plan to use the new White one for the Nuvo 128 mostly if I use it somewhere other than that desk.
2x M3 x 10 mm (For SCART Connector) Alternately use longer screws with Nuts if you prefer.
Depending on which VGA to HDMI Adapter you use. Either 2x M3 x about 6mm for the smaller one, or 1x M3 x 6mm with nut for the larger boxy type Adapter (in the Grey unit)