I used to work for a very large computer memory manufacturer so I've seen the inside of the memory testing world from that perspective. I've tested 10s of thousands of devices myself and the majority of failures that didn't let the blue smoke out of the chip involved devices that were slower than their speed rating, but worked fine otherwise. A tester like this will tell you about the smoking chips, but it will miss the slow chips and thus it will miss the majority of the failed devices I've tested in manufacturing. You should be aware of this issue. I used a memory tester with a large analog dial to set the access speed. You could just increase the speed of the device under test until the chip no longer worked and compare that to the speed rating.
@@StephenArsenault in this case the speed of the test is more or less the speed of the UNO. The code, or at least current code is running as fast as it can on the UNO. I am not a C++ expert, look like Greek to me, but I do not see any delays in the code. Also, what if the chip has a bad address line. The program does not know this. I don't think there is any way to have a program tell you if an address line, internally, is pulled low. The address it is being access by the line pulled low just gets tested multiple times. This is May 2023, with very recent code. I had the tested tell me 6 4164 RAMS were good. None of them worked in a C64 and caused a black screen of death.
@@Daveyk021 Yes, you're right. These arduino-based testers are kind of craptacular. They will tell you if a chip returns the right bit when it's set and retrieved in a *super* slow manner (Arduino pin performance is dramatically slower than these chips typically run in an actual device -- like 10x or 100x slower). They don't test refresh behavior at all, which is kind of important. You need to use a much faster device (like a Teensy or even an FPGA) to test these things properly.
Oh! Oric! I totally forgot about that computer! Thank you for bringing back more of the history, and my childhood! (proud owner of several C64, Spectrum, ZX81, Amiga.. and so ). Love long and prosper!
Oric-1 and Oric Atmos machines sold very well in France back in the days. There are a lot of french magazines available and a quiet good software library developed in France.
Oh, didn’t know that (obviously). Thanks for the info. I’ve never seen any Orics here in Germany although somebody pointed out they were sold here as well.
I have never seen an Oric either being sold in Italy back in the days (only Commodore and Sinclair). But I know it had a very good success in France. There is still a big french community over the net that keeps this machine alive ;-).
My father used them to mark his floppy disks back in the day and I kind of kept that tradition going. I always keep a couple of them at hand (I think he still does, too, albeit he doesn’t use many floppy disks these days). :D
The Oric 1 was also sold in Germany. I can still remember how I played with one that was displayed at the computer department of a famous department store. But it's true that they were not popular here. Maybe the price was not competitive. But it was also close to impossible to find someone else at school having an Oric, so there was no way to "exchange" software for it. 😉
It was the same here in the UK Richard. No one I knew at School had an Oric...so like you a tried one in a store display but went with a Spectrum 48... and later a BBC Micro Model B.
a frend had one, from what I can remember it was better verion it the mould of spectrum but seem to be i high spec, bolted together better amore realistic keys, more like calculator and less like the rubber spectrum keys,
If memory recalls the ORIC was also sold in France, as it could output an RGB video signal that could be connected to a SCART plug for french TV's, so bypassing the problem that french TV's used a SECAM composite video signal. Also France was widely using (their version) of videotext, called minitel, using CEPT2 videotext standard and the Oric actually has a video system that uses the same serial attribute system as CEPT does. so with a simple program a ORIC could be used as a mintel terminal.
There's a whole saga as to why the pins on the Arudino is non-standard spacing. In essence the guy designing it was up late finishing it because it HAD to go to production the following morning, and he knocked the footprint out of position just before he exported the gerbers and sent them off. They didn't realise until they got the boards back from production and didn't have enough money to re-spin the board.
Oric Atmos was also sold in ex-Yugoslavia where it was marked as Oric Nova. The weird thing was that the power adaptor with the Oric Nova was put into Oric disc case (3inch Oric disc is much more rarer than Oric computer itself) - they probably abandoned disc production but have left with many disc cases so they reused these for power adaptors.
I spent years trying to get an affordable Oric Atmos! The one I got was shipped from France, which isn't that surprising, given it was much more popular there than its homeland in the UK. Even if it were nonfunctional, it's a beautiful piece of hardware, though as a computer, it's _really_ odd! It's like somebody split the difference between a C64 and a Spectrum 128K and chose poorly. But still, it's an oddly nice machine and has an _excellent_ keyboard!
- 19:40 You should also put some tape over the exposed pins on the sides to prevent accidental shorting. - 20:40 You should've used a flat, round vertical button to just press down on it instead of pressing it from the side, that way, it could've been easier to do with a single finger instead of needing a finger and thumb.
4:00 - Elegoo sell Nano-compatible clones with AVRs that are higher spec'd than the originals, and getting a pack of three of them is dirt cheap. While Chinese _breadboards_ are invariably crap, the hardware and kits that Elegoo put out are quite good!
Re Arduino shield pin spacing - yes, it's a design defect in the original version that has since become a 'standard'. It's also one of the reasons why the Nano is so popular - It doesn't have this defect and is consequently much more useful when building devices using matrix style blank PCB's or breadboards.
Nice little project. Makes good use of those arduinos we have laying around! haha. One thing I highly recommend is the Backbit Chip Tester Pro. This thing has been amazing, especially for Commodore and Atari repairs.
An upgrade to this concept would be a more general ZIF socket and a waveshare touchscreen. Maybe a rotary encoder and button? Allow the user to select the chip, select the access speed, and button makes it go. More programming but it would be neat!
Recommend you buy a few "Arduino proto shields" (Amazon, eBay, etc) - the pins will line all up with the wonky headers, and the header signals are all brought in to an inner ring of pads for you to use. Interior is just like your perfboard. My understanding is that header offset was accidental, and was discovered too late to be corrected and became a 'standard'
I built this a year ago and still using it, so I am quite familiar with it. It shouldn't work like this, you shouldn't get an instant green light. It takes some time (around one minute per 4164, really long for 41256) to test all addresses with 4 different patterns, and the green led flashes when testing, red led blinks on pattern changes. I also modified it to work with 4116 chips too.
I was wondering that, too. It reported the correct readings for both my broken and good test RAM though. If I let it run for a longer period of time, nothing changes. There’s a slight flicker of the LED before it stays one color though. The software in the forum thread seems to have been updated several times over the years, not sure if they changed the behavior or introduced new bugs in the end. I’m going to investigate that.
@@JanBeta The code had serial monitor support. Connect your PC, open a serial terminal and you'll see a progress report. I just timed mine, each pattern cycle (there are 4 of them) takes about 17 seconds and the green led visibly flashes during the cycle. At the end of each cycle red led flashes very briefly then the next pattern cycle starts. The whole test (4 patterns) takes about a full minute.
My own version of this is still on a breadboard (posted a Twitter pic). I'm a bit wary about transferring mine over to perf board as it was a while ago and I've lost the code I pinched/updated... Mine flashes the LED while testing then, after a double pulse between red and green it leaves the green LED on solid. Just seemed a bit easier to tell what it was doing.
Or, to save on parts, just have the code turn on both colours in the LED during the testing phase. Green+Red for "Ready", Green for Pass, Red for Fail. Or, just turn the LED off or have it blink for "Ready".
It's odd. I built one of these a few years ago. The sketch I have blinks the green LED while the tests are running, and briefly flashes the red LED between each test pass. It also outputs test progress feedback through the serial connection as it runs. If the tests pass, the green LED becomes steady. If any of the tests fail, the green LED immediately turns off and the red LED turns on. It takes about a minute to complete the four test passes of a 4164. I wonder if he's letting the test run fully.
Cool! I think I'll build one of these myself, thank you for the inspiration. That funny offset in the Arduino header design is probably to prevent shields from being put in reverse. You see how much force it takes if just one side is not fitting right, and with a pre-built shield that follows this offset, you would have the same effect on both sides. But it's certainly not the best solution for reverse protection, and annoys the hell out of anybody who is trying to work with parts that follow the 2.54mm scheme. They could have provided a male and female row of headers on both sides in a way that it is impossible to reverse the shield, or something like that. Would also be convenient if you have both connector types for each connection you plan to make. Probably this would have taken too much real estate though. Anyway, thanks for the entertainment 🙂
Stressing those connectors will cause a reliability problem. No one seems to know why Arduino offset that connector, but it is well-known that they did. Possibly this prevents idiots from installing shields backward. I would notch the board there or omit that header and try not to need those ports.
Couldn't agree more that the Arduino's non standard pitch is extremely annoying. To work around this problem, I used to have an Arduino prototype shield as an intermediate layer to connect to the perf boards, i.e. Arduino -> prototype shield -> perf board. This way I only needed one prototype shield for multiple projects. Nowadays I just use the Nano if the projects are simple enough, or the STM32 black pill or ESP32 for more complex ones.
I immediately switched to Nanos when I discovered this. I don't think I've ever done a project using an Uno, and I just don't understand that design decision at all. It's not like perf boards were an unknown thing.
@@kluzz What I read was that the creator of Arduino, Massimo Banzi said it was a layout error on the Uno. Later there was a proposal to correct it starting from the Duemilanove/Mega, but was voted down in favor of backward compatibility with the older shields.
Not sure why the video appeared in my recommended list, but I guess that's where all these new people who joined the forum these last year came from :D
@@JanBeta It's totally fine and cool, we have quite many good hardware people in the Oric community, specially considering the size of the community :D
Hey Jan, I recently did a DRAM tester project which is open source, it uses an OLED display, I did a couple of videos on it, the files and PCB can be found on PCBway.
Everyone hates the pin spacing on Arduino Unos.. for easier future projects, they make PCBs that are basically adapters. They are strip/vero board layout in the center, with the "correct" hole spacing for the edge pinouts... Alternately, you could get an Arduino that is not an Uno pinout (like a Teensy, etc.). 👍🏻 Edit: except for the most basic projects, I highly recommend using a modern IDE like vscode instead of the Arduino IDE. Edit: also, the solid green = testing and solid green = good is kind of not great. I would make it either blink while testing, or show no light at all until the result. Or at least blink between the initial on state and the result...
The reason the pins are spaced like that is to avoid boards being incorrectly inserted. You could have used an Arduino prototype shield available from 50p upwards.
The real reason the pins are spaced like that is because one of the headers in the original design was accidentally moved just before production. They couldn't afford another run of boards and a decision was made to never correct the error. We've been suffering ever since.
It was a mistake made by the original arduino designers, who only noticed it after they had ordered hundreds of boards to be made. It was never corrected because by the time they redesigned the Arduino there were millions out in the field!
Heh, 2 years ago I would have commented "Who has all that stuff just lying around?". Today, however, I watched your video and thought "Hey! I have absolutely all of that stuff. I even have a prototype hat that would make it neater". Of course I also have access to a Retro Chip teste already as well :-D (Group buy at the local maker space)
My EPROM programmer can test logic chips so that’s covered. I guess you could reprogram this to test logic chips as well probably. But I’m still wrapping my head around the code side of Arduinos currently. :D
Nice hack together. Maybe another mod would be a slide switch to replace the jumper with a small label on the board indicating the position and ram type.
I am also a retrocomputing enthusiast, but I'm under the suspicion that the memory in my brain was manufactured by Micron Technologies... 14:00 you haven't seen my Fairchild Channel F Multicart. It's like 3 dense layers of wires. If any of those break, I have to make a new multicart, as there is no way in hell I can see where that wire went. And I somehow lost my schematics.
Looks neat.. i should build myself something to test 4116, 4164, 41464 and similar. Enamelled wire is great for this sort of construction BTW - and if you want to get it "cheap", the degauss coils from dumped CRT's are basically a big loop of enamelled wire covered in PVC tape :)
@@JanBeta That's a pretty neat built though, with ordinary insulated wire. It never looks that good for me :) I started using the enamelled wire when I was doing trace repairs on machines
The manual says: "4 different passes are performed in about 80 seconds total" & "wait until GREEN LED blinks". Seems you did not wait so long, and the green led was not blinking. It was permanently lit. I wonder if you tested correctly? 🤔
I wondered that, too. But I did some tests keeping the chips in longer and nothing changed. I am going to take a closer look at the code (as soon as I manage to wrap my head around it). The tester did work in that it tested my known good/bad Chips as expected though. No idea if that’s a representative sample though, obviously. :D
Nice tester. I looked at the source code for the Arduino stuff and it doesn't test for anything except for some hard failures. Good for a quick go/nogo selection, but a lot of conditions are going undetected.
I've never had luck programming an Elegoo Nano. Even using old-bootloader. I've tried burning a new bootloader via a true arduino, and it let me program the elegoo once. I order real nanos these days as I never had compatibility issues.
That’s odd. As far as I understand it, they are using the exact same Atmel microcontroller and cloned most of the hardware 1:1, so they should behave like a standard Arduino board. But as I’ve pointed out in the video, I’m absolutely not an expert on Microcontrollers (quite the opposite, really…).
Dirty little secret... 2.54 mm headers are Standard, based on ten per a US inch at 25.4 mm. As for the "disgusting" build quality, we have a saying here. "If it's stupid, but it works, it's NOT stupid."
Hi! Nice hack. You did screw up with the LED's though. Even if you have a common anode, you cannot share resistors between the LED's. You effectively halved the current available to both LEDs by doubling the resistor from 470 Ohm and then sharing it between them. If you don't have any 470 Ohm resistors, a couple of 330s or even 220s would probably work as well.
If the LED starts off green, how do you know when it’s done testing? It seems like it should take longer than 2 seconds to test even if the chips are low capacity
like a lot of others have said to use none standard spacing that will not fit the most common diy way to make a project board is most puzzling and had annoyed me many times.
Hi Jan do this project can work with an arduino pro micro?? sorry for bothering you with my newbie question :) and also its possible to make this device portable with a lithium battery and a buck converter +a 3 d printed case :)
Not sure about that because I’m an Arduino noob. Some models don’t support 5V (TTL) signal levels so that may be an issue with that model. Maybe you can work around that with level shifters and such things. This project definitely works with standard Nano and Uno models.
Lol I was immediately like perfboard - how? The weird spacing may have been a honest mistake in the beginning, but turned up to be a profitable one for the actual manufactrurers of arduino hardware, people have to either buy pre-made shield PCBs, or buy finished shields
It's not your fault. Arduino boards use non standard header spacing for no logical reason, it's just a dumb design. I would go with the Nano, it doesn't have such problem.
Backbit is definitely better.. but this is about $10 in parts vs $150 for the backbit.. so really depends on your use case. Would like to see someone expand on this as a cheap homebrew option.
Yeah, though the c64 is pretty good about identifying bad ram with the dead test... My poor man method was testing all the ram i have in stock when i had working machines. I tested all my 41256s in my tandy 1000 since it does a memory test on boot... Helped catch a lot of my bad Chinese memory 😃
@@awilliams1701 Yeah and for Jan it probably makes sense and can be a business write-off.. for most of us who are just hobbyists with a few computers, $150 for a ram tester is a hard sell. As an aside, they seem to be backordered anyway.
try this... get a piece of copper, solder a blob directly on to it WITHOUT flux.... you can knock the blob off as it will not bond. now put flux on the copper, heat it till it bubbles around 2 - 3 second then solder onto it...... the solder will flow properly if you let it heat past whats called the " plastic " stage which is where the solder is molten but NOT AT JOINTING TEMP. :D i have been soldering for over 40 years, ex M O D.... .
It really is super annoying that they didn't go with a standard pitch so you can use the standard 2.54mm pitch perfboard, I have been in the same exact situation as this and I think it's better to call Arduino Noobs for it than yourself Jan Beta :)
Huh, a Lenovo SL510, that's a really antique machine at this point, but hey i guess since it runs Windows 10 that's fine. Altho i hope you at least put an SSD in there, modern OS on a spinning platter drive is no fun.
if you're using the sw downloaded from the www page you've shown you shouldn't believe the result as the sw doesn't test the dram properly and contains a bug
Ground the Address 7 line, or tie it high. The 6164 still passes the test. I think you can ground any address line and the test still passes. Not a good test!!
It’s not very accurate for finding good chips, it’s great for finding chips that are definitely broken, as mentioned. Not the best device around for testing RAM obviously but extremely inexpensive and easy to build.
@@JanBeta It's a fun build. If the uno had 8 analog inputs (which it does not), a bit of programming could be added to check the voltage level on all address lines (Maybe add some high value pull-up resistors). If some are 2.5 volts when expecting 5 volts, the ram is bad despite passing other checks. Some 4066 analog switch chips could be used to expand the current number of analog inputs, but I don't think there is enough spare digital lines to control the needed 4066s. If the language was VB instead of that latin or greek c++, I would be all over this project - lol.
@@JanBeta One more thing, to your point, it does find bad chips quickly. It had identified, for me, about four Good rams that do not work in the C64. The only thing I can figure is bad address line inputs. I don't know what it would could be done with any RAM tester about that. The most accurate tester would be to add a 16 pin Ziff socket to a C64 mother board. I have a brand new blank PCB I ordered from some store in Germany, I think, red. It will be built with ZIFF sockets at all major locations. including at least one RAM.
I used to work for a very large computer memory manufacturer so I've seen the inside of the memory testing world from that perspective. I've tested 10s of thousands of devices myself and the majority of failures that didn't let the blue smoke out of the chip involved devices that were slower than their speed rating, but worked fine otherwise. A tester like this will tell you about the smoking chips, but it will miss the slow chips and thus it will miss the majority of the failed devices I've tested in manufacturing. You should be aware of this issue. I used a memory tester with a large analog dial to set the access speed. You could just increase the speed of the device under test until the chip no longer worked and compare that to the speed rating.
And then there's the slightly senile chips that require a more frequent refresh for them to not lose their bits.
Awesome comment, thank you for sharing. I have my own open source DRAM tester. I will see if it's possible to include this feature.
@@StephenArsenault That would be very cool!
@@StephenArsenault in this case the speed of the test is more or less the speed of the UNO. The code, or at least current code is running as fast as it can on the UNO. I am not a C++ expert, look like Greek to me, but I do not see any delays in the code. Also, what if the chip has a bad address line. The program does not know this. I don't think there is any way to have a program tell you if an address line, internally, is pulled low. The address it is being access by the line pulled low just gets tested multiple times. This is May 2023, with very recent code. I had the tested tell me 6 4164 RAMS were good. None of them worked in a C64 and caused a black screen of death.
@@Daveyk021 Yes, you're right. These arduino-based testers are kind of craptacular. They will tell you if a chip returns the right bit when it's set and retrieved in a *super* slow manner (Arduino pin performance is dramatically slower than these chips typically run in an actual device -- like 10x or 100x slower). They don't test refresh behavior at all, which is kind of important. You need to use a much faster device (like a Teensy or even an FPGA) to test these things properly.
Nice dram-tester. I would change the code by blinking the red or green led, when the the test is finished.
Oh! Oric! I totally forgot about that computer! Thank you for bringing back more of the history, and my childhood! (proud owner of several C64, Spectrum, ZX81, Amiga.. and so ). Love long and prosper!
Oric-1 and Oric Atmos machines sold very well in France back in the days. There are a lot of french magazines available and a quiet good software library developed in France.
Oh, didn’t know that (obviously). Thanks for the info. I’ve never seen any Orics here in Germany although somebody pointed out they were sold here as well.
I have never seen an Oric either being sold in Italy back in the days (only Commodore and Sinclair). But I know it had a very good success in France. There is still a big french community over the net that keeps this machine alive ;-).
Jan, you have excellent taste in pens!! I used to steal Staedtler pens from my school every chance I got.
My father used them to mark his floppy disks back in the day and I kind of kept that tradition going. I always keep a couple of them at hand (I think he still does, too, albeit he doesn’t use many floppy disks these days). :D
The Oric 1 was also sold in Germany. I can still remember how I played with one that was displayed at the computer department of a famous department store. But it's true that they were not popular here. Maybe the price was not competitive. But it was also close to impossible to find someone else at school having an Oric, so there was no way to "exchange" software for it. 😉
It was the same here in the UK Richard. No one I knew at School had an Oric...so like you a tried one in a store display but went with a Spectrum 48... and later a BBC Micro Model B.
a frend had one, from what I can remember it was better verion it the mould of spectrum but seem to be i high spec, bolted together better amore realistic keys, more like calculator and less like the rubber spectrum keys,
If memory recalls the ORIC was also sold in France, as it could output an RGB video signal that could be connected to a SCART plug for french TV's, so bypassing the problem that french TV's used a SECAM composite video signal. Also France was widely using (their version) of videotext, called minitel, using CEPT2 videotext standard and the Oric actually has a video system that uses the same serial attribute system as CEPT does. so with a simple program a ORIC could be used as a mintel terminal.
There's a whole saga as to why the pins on the Arudino is non-standard spacing. In essence the guy designing it was up late finishing it because it HAD to go to production the following morning, and he knocked the footprint out of position just before he exported the gerbers and sent them off. They didn't realise until they got the boards back from production and didn't have enough money to re-spin the board.
Makes sense. Thanks for sharing!
Oric Atmos was also sold in ex-Yugoslavia where it was marked as Oric Nova. The weird thing was that the power adaptor with the Oric Nova was put into Oric disc case (3inch Oric disc is much more rarer than Oric computer itself) - they probably abandoned disc production but have left with many disc cases so they reused these for power adaptors.
Quick and dirty, messy and bending pins. Sounds like a project expected to be made soon over here!😁👍🏻
I know, right? 😅
I spent years trying to get an affordable Oric Atmos! The one I got was shipped from France, which isn't that surprising, given it was much more popular there than its homeland in the UK.
Even if it were nonfunctional, it's a beautiful piece of hardware, though as a computer, it's _really_ odd! It's like somebody split the difference between a C64 and a Spectrum 128K and chose poorly. But still, it's an oddly nice machine and has an _excellent_ keyboard!
- 19:40 You should also put some tape over the exposed pins on the sides to prevent accidental shorting.
- 20:40 You should've used a flat, round vertical button to just press down on it instead of pressing it from the side, that way, it could've been easier to do with a single finger instead of needing a finger and thumb.
thanks for making me aware of this, i need one for testing 4116s so small mod with buck adaptor for the 12v should get me up and running
4:00 - Elegoo sell Nano-compatible clones with AVRs that are higher spec'd than the originals, and getting a pack of three of them is dirt cheap. While Chinese _breadboards_ are invariably crap, the hardware and kits that Elegoo put out are quite good!
Re Arduino shield pin spacing - yes, it's a design defect in the original version that has since become a 'standard'. It's also one of the reasons why the Nano is so popular - It doesn't have this defect and is consequently much more useful when building devices using matrix style blank PCB's or breadboards.
The non standard pin arrangement was my first thought as you started. Pita!
Nice little project. Makes good use of those arduinos we have laying around! haha. One thing I highly recommend is the Backbit Chip Tester Pro. This thing has been amazing, especially for Commodore and Atari repairs.
Yes! Definitely going to get one of those some day. :)
An upgrade to this concept would be a more general ZIF socket and a waveshare touchscreen. Maybe a rotary encoder and button?
Allow the user to select the chip, select the access speed, and button makes it go.
More programming but it would be neat!
I'm happy to see my DRAMARDUINO lives on! :)
Hey, thanks for designing this thing! It very quickly became an invaluable part of the arsenal here in the lab. :D
Recommend you buy a few "Arduino proto shields" (Amazon, eBay, etc) - the pins will line all up with the wonky headers, and the header signals are all brought in to an inner ring of pads for you to use. Interior is just like your perfboard. My understanding is that header offset was accidental, and was discovered too late to be corrected and became a 'standard'
COFFEE! thanks for the reminder 😊
☕️
I built this a year ago and still using it, so I am quite familiar with it. It shouldn't work like this, you shouldn't get an instant green light. It takes some time (around one minute per 4164, really long for 41256) to test all addresses with 4 different patterns, and the green led flashes when testing, red led blinks on pattern changes. I also modified it to work with 4116 chips too.
I was wondering that, too. It reported the correct readings for both my broken and good test RAM though. If I let it run for a longer period of time, nothing changes. There’s a slight flicker of the LED before it stays one color though. The software in the forum thread seems to have been updated several times over the years, not sure if they changed the behavior or introduced new bugs in the end. I’m going to investigate that.
@@JanBeta The code had serial monitor support. Connect your PC, open a serial terminal and you'll see a progress report. I just timed mine, each pattern cycle (there are 4 of them) takes about 17 seconds and the green led visibly flashes during the cycle. At the end of each cycle red led flashes very briefly then the next pattern cycle starts. The whole test (4 patterns) takes about a full minute.
My own version of this is still on a breadboard (posted a Twitter pic). I'm a bit wary about transferring mine over to perf board as it was a while ago and I've lost the code I pinched/updated... Mine flashes the LED while testing then, after a double pulse between red and green it leaves the green LED on solid. Just seemed a bit easier to tell what it was doing.
Jan….awesome ideo, and such a great idea!
jan, flux is designed for new virgin solder joints....... not removing old ones. it actually cleans the copper when heated to give a proper joint..
4:32 - The sound of a fresh box cutter blade crying.
Perhaps an idea adding a second led that only lights up when the test program is running so you can see when it is finished.
Or, to save on parts, just have the code turn on both colours in the LED during the testing phase. Green+Red for "Ready", Green for Pass, Red for Fail. Or, just turn the LED off or have it blink for "Ready".
Yeah or just turn it off when testing.. Good idea to change the firmware to do that.
@@Mr76Pontiac blinking seems natural to me while it's running, solid when ready.
It's odd. I built one of these a few years ago. The sketch I have blinks the green LED while the tests are running, and briefly flashes the red LED between each test pass. It also outputs test progress feedback through the serial connection as it runs. If the tests pass, the green LED becomes steady. If any of the tests fail, the green LED immediately turns off and the red LED turns on. It takes about a minute to complete the four test passes of a 4164. I wonder if he's letting the test run fully.
Maybe should have used a PCB from PCBWay ;)
Wow!!! This should make future projects easier! Well done Jan.
I can feel your pain. I've built a TZXDuino with an UNO and ran into the same pin spacing problem...
It’s a true pita. Especially since I had no idea before actually trying to fit the headers. 😅
You made a thing! Hoorah! A very handy thing, no doubt. 👍
Cool! I think I'll build one of these myself, thank you for the inspiration. That funny offset in the Arduino header design is probably to prevent shields from being put in reverse. You see how much force it takes if just one side is not fitting right, and with a pre-built shield that follows this offset, you would have the same effect on both sides. But it's certainly not the best solution for reverse protection, and annoys the hell out of anybody who is trying to work with parts that follow the 2.54mm scheme. They could have provided a male and female row of headers on both sides in a way that it is impossible to reverse the shield, or something like that. Would also be convenient if you have both connector types for each connection you plan to make. Probably this would have taken too much real estate though. Anyway, thanks for the entertainment 🙂
Stressing those connectors will cause a reliability problem. No one seems to know why Arduino offset that connector, but it is well-known that they did. Possibly this prevents idiots from installing shields backward. I would notch the board there or omit that header and try not to need those ports.
I bought a RAM tester kit off ebay for about 20 pounds. It tests 4116 and 4164 ram. Well worth the price.
Yeah but its very cool to build it and using left over electronics :)
I should do this. I`ve been using Arduino`s for years. I have a Pico running my central heating wood burner.
Arduino wanted to be knobs with the pin headers. That's why I got a proto shield for my ram tester.
Je n’ai pas tout compris pour la fabrication de ce petit objet (pour l’instant) mais il a l’air plutôt bien pratique ! Vielen dank pour le partage ✌️🕹
Couldn't agree more that the Arduino's non standard pitch is extremely annoying. To work around this problem, I used to have an Arduino prototype shield as an intermediate layer to connect to the perf boards, i.e. Arduino -> prototype shield -> perf board. This way I only needed one prototype shield for multiple projects. Nowadays I just use the Nano if the projects are simple enough, or the STM32 black pill or ESP32 for more complex ones.
I immediately switched to Nanos when I discovered this. I don't think I've ever done a project using an Uno, and I just don't understand that design decision at all. It's not like perf boards were an unknown thing.
@@kluzz What I read was that the creator of Arduino, Massimo Banzi said it was a layout error on the Uno. Later there was a proposal to correct it starting from the Duemilanove/Mega, but was voted down in favor of backward compatibility with the older shields.
Really cool 😎 also, the retro chip tester may be interesting for you 🙂👍
Not sure why the video appeared in my recommended list, but I guess that's where all these new people who joined the forum these last year came from :D
Haha, that may very well be. I think quite some people build this circuit after watching the video. It deserves all the attention! :D
@@JanBeta It's totally fine and cool, we have quite many good hardware people in the Oric community, specially considering the size of the community :D
You can try to design this as a shield for the Arduino and be made by PCB Way of course.
There’s a link in the video description with that exact project (that somebody else already designed). ;)
Ah, one of my favorite phrases, "Hi! It's Jan Beta!"
Hey Jan, I recently did a DRAM tester project which is open source, it uses an OLED display, I did a couple of videos on it, the files and PCB can be found on PCBway.
Hey, I’m going to check that out. Sounds good!
I think I used the same diagram for the one I made a couple years ago to test my commodore ram chips.
Everyone hates the pin spacing on Arduino Unos.. for easier future projects, they make PCBs that are basically adapters. They are strip/vero board layout in the center, with the "correct" hole spacing for the edge pinouts...
Alternately, you could get an Arduino that is not an Uno pinout (like a Teensy, etc.). 👍🏻
Edit: except for the most basic projects, I highly recommend using a modern IDE like vscode instead of the Arduino IDE.
Edit: also, the solid green = testing and solid green = good is kind of not great. I would make it either blink while testing, or show no light at all until the result. Or at least blink between the initial on state and the result...
The reason the pins are spaced like that is to avoid boards being incorrectly inserted. You could have used an Arduino prototype shield available from 50p upwards.
The real reason the pins are spaced like that is because one of the headers in the original design was accidentally moved just before production. They couldn't afford another run of boards and a decision was made to never correct the error. We've been suffering ever since.
Looks good to me! Very strange about the different pin spacing on the Arduino, why on earth would they do that?
It was a mistake made by the original arduino designers, who only noticed it after they had ordered hundreds of boards to be made. It was never corrected because by the time they redesigned the Arduino there were millions out in the field!
@@IanSlothieRolfe Thanks for the explanation.
Heh, 2 years ago I would have commented "Who has all that stuff just lying around?". Today, however, I watched your video and thought "Hey! I have absolutely all of that stuff. I even have a prototype hat that would make it neater".
Of course I also have access to a Retro Chip teste already as well :-D (Group buy at the local maker space)
would be good if could also test logic chips
My EPROM programmer can test logic chips so that’s covered. I guess you could reprogram this to test logic chips as well probably. But I’m still wrapping my head around the code side of Arduinos currently. :D
Nice hack together. Maybe another mod would be a slide switch to replace the jumper with a small label on the board indicating the position and ram type.
I am also a retrocomputing enthusiast, but I'm under the suspicion that the memory in my brain was manufactured by Micron Technologies...
14:00 you haven't seen my Fairchild Channel F Multicart. It's like 3 dense layers of wires. If any of those break, I have to make a new multicart, as there is no way in hell I can see where that wire went. And I somehow lost my schematics.
Looks neat.. i should build myself something to test 4116, 4164, 41464 and similar. Enamelled wire is great for this sort of construction BTW - and if you want to get it "cheap", the degauss coils from dumped CRT's are basically a big loop of enamelled wire covered in PVC tape :)
Ha! I actually have some enamel wire (both salvaged from coils/transformers and new) at hand. I’m going to try that next time.
@@JanBeta That's a pretty neat built though, with ordinary insulated wire. It never looks that good for me :) I started using the enamelled wire when I was doing trace repairs on machines
The manual says: "4 different passes are performed in about 80 seconds total" & "wait until GREEN LED blinks". Seems you did not wait so long, and the green led was not blinking. It was permanently lit. I wonder if you tested correctly? 🤔
Agreed, it seemed like he had the chips in the tester for much less than 80 seconds, and nothing was blinking.
I wondered that, too. But I did some tests keeping the chips in longer and nothing changed. I am going to take a closer look at the code (as soon as I manage to wrap my head around it). The tester did work in that it tested my known good/bad Chips as expected though. No idea if that’s a representative sample though, obviously. :D
Nice tester. I looked at the source code for the Arduino stuff and it doesn't test for anything except for some hard failures. Good for a quick go/nogo selection, but a lot of conditions are going undetected.
I've never had luck programming an Elegoo Nano. Even using old-bootloader. I've tried burning a new bootloader via a true arduino, and it let me program the elegoo once. I order real nanos these days as I never had compatibility issues.
That’s odd. As far as I understand it, they are using the exact same Atmel microcontroller and cloned most of the hardware 1:1, so they should behave like a standard Arduino board. But as I’ve pointed out in the video, I’m absolutely not an expert on Microcontrollers (quite the opposite, really…).
you're creating what are called de wetted or dry joints. it should look like the atari logo if correct..
How would I connect the DRAM memories to a microprocessor like the Z80?
It's super weird that the two pin headers didn't have the same spacing.
Hello, any way to test the RAM at different speeds?
Dirty little secret... 2.54 mm headers are Standard, based on ten per a US inch at 25.4 mm. As for the "disgusting" build quality, we have a saying here. "If it's stupid, but it works, it's NOT stupid."
Buen trabajo y interesante proyecto!!, saludos, Tony.👍
You can plug this into your pc and ardino serial monitor will tell you about the testing process. It is in the code. try it.
Hi! Nice hack. You did screw up with the LED's though. Even if you have a common anode, you cannot share resistors between the LED's. You effectively halved the current available to both LEDs by doubling the resistor from 470 Ohm and then sharing it between them. If you don't have any 470 Ohm resistors, a couple of 330s or even 220s would probably work as well.
If the LED starts off green, how do you know when it’s done testing? It seems like it should take longer than 2 seconds to test even if the chips are low capacity
Coffee is not optional.
The strange spacing of the pins intentional so you can't plug an arduino sheild in backwards.
like a lot of others have said to use none standard spacing that will not fit the most common diy way to make a project board is most puzzling and had annoyed me many times.
I remember reading that it was alayout bug with the original, and it was too late to fix, so they just shipped it.
Nice video, thanks for sharing :)
The Oric was a French made computer, popular in the UK as said..
You have that backwards: it was a British computer that was most successful in France, much like the CPC.
@@talideon Oops, I'm not an Oric owner but the one's I know keep on about the French stuff, presumed it was French at birth..Ta..
Hi Jan do this project can work with an arduino pro micro?? sorry for bothering you with my newbie question :) and also its possible to make this device portable with a lithium battery and a buck converter +a 3 d printed case :)
Not sure about that because I’m an Arduino noob. Some models don’t support 5V (TTL) signal levels so that may be an issue with that model. Maybe you can work around that with level shifters and such things. This project definitely works with standard Nano and Uno models.
@@JanBeta Thank you!!!!
Why the jumper instead of a small SPST switch?
Why not cutting the edge of the perfboard to geht to the reset button ;)
Would be an idea.
I made one of this it tests for dead ram chips . But if there sort of working it will still pass them.
Lol I was immediately like perfboard - how? The weird spacing may have been a honest mistake in the beginning, but turned up to be a profitable one for the actual manufactrurers of arduino hardware, people have to either buy pre-made shield PCBs, or buy finished shields
Hmm, i've ordered the PCB Way PCB, but a ZIF Socket doesn't Fit , now i make my own
Whoops. I wasn't aware of that. Good to know!
Get some premade Ard prototyping shields.
It's not your fault. Arduino boards use non standard header spacing for no logical reason, it's just a dumb design. I would go with the Nano, it doesn't have such problem.
you should get a backbit tester. it can do a lot and is really good at testing C64 parts, but it can do others as well.
Backbit is definitely better.. but this is about $10 in parts vs $150 for the backbit.. so really depends on your use case. Would like to see someone expand on this as a cheap homebrew option.
@@brianv2871 true but when you fix c64s like candy it would come in handy.
Yeah, though the c64 is pretty good about identifying bad ram with the dead test... My poor man method was testing all the ram i have in stock when i had working machines. I tested all my 41256s in my tandy 1000 since it does a memory test on boot... Helped catch a lot of my bad Chinese memory 😃
@@brianv2871 true but not always. A bad pla can make you think a ram chip is bad. Backbit can test all of that.
@@awilliams1701 Yeah and for Jan it probably makes sense and can be a business write-off.. for most of us who are just hobbyists with a few computers, $150 for a ram tester is a hard sell. As an aside, they seem to be backordered anyway.
Guude Jan, un' wie?! (Hessische Begrüßung ;o) ) Schönes Projekt für Anfänger.
If you want the ZIF the other way around, why not just solder it that way?
I didn’t realize until I had already soldered it in. It’s an option of course. :D
Could this be used to check sram chips also ?
"Should be able" to play a new drinking game.
Yeah, I only realized it during editing unfortunately… 😅
Jan Beta, the King of Hack!
Pretty nice! Ok the test will not tell you the 100% truth, but who does this days! 😉
I keep having to remind myself not to be angry they did that with the headers on the uno....
Ben fatto Jan
try this... get a piece of copper, solder a blob directly on to it WITHOUT flux.... you can knock the blob off as it will not bond. now put flux on the copper, heat it till it bubbles around 2 - 3 second then solder onto it...... the solder will flow properly if you let it heat past whats called the " plastic " stage which is where the solder is molten but NOT AT JOINTING TEMP. :D
i have been soldering for over 40 years, ex M O D.... .
You put the socket in such a manner that the lever sticks out and might break off.
Yep. Feel free to do it better. This was a spontaneous hack job (as I said) with a lot of room for improvements. :)
@@JanBeta sorry, was not a critique just an observation, in general i liked the project and the presentation.
Oh, no harm done. I didn’t take it as criticism, more as an observation! :)
It really is super annoying that they didn't go with a standard pitch so you can use the standard 2.54mm pitch perfboard, I have been in the same exact situation as this and I think it's better to call Arduino Noobs for it than yourself Jan Beta :)
It is standard pitch, but offset by a half. Because life wasn't meant to be easy... Unless you by a proto shield.
Huh, a Lenovo SL510, that's a really antique machine at this point, but hey i guess since it runs Windows 10 that's fine. Altho i hope you at least put an SSD in there, modern OS on a spinning platter drive is no fun.
is it MT RAM? if yes it's bad. If no, then check it. lol
Agreed.
Too bad it won't test 4116, but you would need +12v +5v -5v
I saw a similar tester that can test 4116s, too. But it’s not as quick and dirty, probably because of the extra voltages. ;)
well, I got almost all the necessary parts: KAFFEE :-)
(Nudge, nudge! Get an Oric!)
if you're using the sw downloaded from the www page you've shown you shouldn't believe the result as the sw doesn't test the dram properly and contains a bug
It got updated several times and should work now (original posting was indeed faulty). See the whole forum thread.
Bit by the ridiculous nonstandard Arduino pin spacing.
PCBWay is not a sponsor.
Too much work to add a reset button. Just hack out a corner of your board to provide easier access to the Arduino's.
Yeah, that would definitely be more in-line with the whole project. Didn’t think of that. :D
@@JanBeta I don't hold it against you.👍
More like the original designer of the arduino made an error
5:59 Turns out one of the headers on the Arduino UNOs is spaced differently than the 2.54mm standard. These NOOBs
Ground the Address 7 line, or tie it high. The 6164 still passes the test. I think you can ground any address line and the test still passes. Not a good test!!
It’s not very accurate for finding good chips, it’s great for finding chips that are definitely broken, as mentioned. Not the best device around for testing RAM obviously but extremely inexpensive and easy to build.
@@JanBeta It's a fun build. If the uno had 8 analog inputs (which it does not), a bit of programming could be added to check the voltage level on all address lines (Maybe add some high value pull-up resistors). If some are 2.5 volts when expecting 5 volts, the ram is bad despite passing other checks. Some 4066 analog switch chips could be used to expand the current number of analog inputs, but I don't think there is enough spare digital lines to control the needed 4066s. If the language was VB instead of that latin or greek c++, I would be all over this project - lol.
@@JanBeta One more thing, to your point, it does find bad chips quickly. It had identified, for me, about four Good rams that do not work in the C64. The only thing I can figure is bad address line inputs. I don't know what it would could be done with any RAM tester about that. The most accurate tester would be to add a 16 pin Ziff socket to a C64 mother board. I have a brand new blank PCB I ordered from some store in Germany, I think, red. It will be built with ZIFF sockets at all major locations. including at least one RAM.
you only got one thing wrong in the begging of the video, coffee is not optional ;-)
Good point. ☕️