That is not really an Arduino problem, it's a problem I have with some RAM ICs i've bought on eBay, I'm trying to make a really compact 16-bit breadboard computer, and for the programm memory i've decided to use two HY62256A-LP70 8-bit rams togheter to have a 16 bit instruction every address, but a lot of times I see a lot of interferences trought the outputs, I see a bit of light on some leds that should be off flickering, and when i put my finger on the top-left of the RAM chip the lights of the interferences goe brighter, but when i touch a random GROUND connection everywhere on the board the lights go completly off, and the interferences go away, I've tried putting 420ohm resistance trough the inputs/outputs to ground, but it doesn't solve the problem.
(For the address inputs i'm using SN74163N ICs)
So if i touch the top-left side of the rams the light of the interferences go brighter, but when i touch a random ground connection on the board the interferences go away.
Not really, I've tried putting some capacitors in the power rails, but it doesn't change anything, and even if it's that, I don't see decoupling capacitors in others breadboard computers.
Nop, I've double checked every connection, and it's done perfectly, the only pins that arent I/O and Address pins are the Write Enable pin (connected to 5v using a 420ohm resistor and connected to ground trough a button), the Output Enable pin (connected to ground) and the Chip Select pin (connected to ground too) all those 3 pins are Active LOW, so they need to be grounded to be active.
Maybe it's because it's a really compact computer circuit so it makes a lot of interferences?
Thats a photo:
(The two big centered chips with the white texts are the RAMs)
Another thing that can cause the symptoms is floating inputs on unused gates of logic chips. All inputs should be tied high or low not left unconnected. Low (ground) usuall consumes less power.
Fix the obvious problems first. You don't need 'some capacitors in the power rails' you need 0.1uF ceramic capacitors placed as physically close to the power pins of every IC in your circuit as possible. Until you fit those there's no point looking for anything else.
Ok, I've now done that, but the problems remain, the ceramic capacitors are the most possibly close to every IC power pin, but the RAM gives problems anyways.
I've checked the inputs of every IC, they're all connected to ground trough a 420ohm resistor.
There aren't any floating inputs.
Some info:
The power supply I use has 7.5 output voltage, so I've put 3 diodes in series so the voltage at the output of the diodes is 5.15v, so everything is running at a bit more than 5 volts.
May the problem be that I'm dropping the voltage using diodes? Because when I use resistors the voltage is only 3v max.
Basically sometimes I see on the leds connected to the I/O pins of the RAMs some of them turn on emitting a bit of light and flickering syncronous to each other, when I touch the top-left of the RAMs the leds go brighter, while if i touch a random ground connection on the board the inferferences go away.
Not really, but it shouldn't send casual signals to the leds making them open a little but and flicker them, and it shouldn't change the output when I touch the ram with my finger.
True but concluding that there is interference on the RAM outputs may be totally wrong.
Why don't you fix the voltage regulation problem first and see what happens. I would also remove any pull-down resistors you may have placed on the outputs.
I'm sure that is the RAM that gives problems because I've remover every single IC connected to the bus and the RAM still had the same problems, and the interferences changes ONLY when I touch the RAMs.
Sure, I'm gonna search for a 5v regulator in some old PCB's I have.
I can't, the RAMs outputs are the same as the RAMs inputs, the only difference is being that it goes on Input mode when WE is low, and it goes to Read mode when WE is High.
So I need the pull-down resistors because when I want to load something without the resistors on the I/O pins all the "0" will pick up noise from the air.
Then you are doing something wrong or you have a bad ground connection somewhere. You should not need pull-down resistors on either the data or address bus.
Each RAM has 8 I/O pins, so they're Inputs AND Outputs, and those I/O pins are connected to the Data Bus, but all the IC's on the data bus whein I'm writing to the RAM have the "Output Enable" Deactivated, so they don't provide the pull-down current if they're on Output Disabled mode, so the only thing connected to the bus when I'm writing is the RAMs, and if I write an instruction that contains zeros, they will pick up random noise from the air when i press "Write".
5 volts is 5 volts is 5 volts, doesn't matter where it comes from so long as it really is 5V, being slightly over isn't going to make any difference. That said, I completely agree with @jim-p , use a proper regulator or buy a 5V power supply. I'm surprised you don't have one as USB is 5V and USB power supplies are pretty much ubiquitous. This comes under the same heading as the capacitors: fix the obvious problems first.
You didn't actually say if you have an oscilloscope, but I suspect you don't. An oscilloscope would make finding the problem much easier, for one thing you could check the power input to every device and ensure it's the right voltage and clean.
Alternatively, you can buy a logic analyser for about £10 to £20, which will tell you a lot (but not telling you if the power is clean).
Your description still suggests to me a bad connection somewhere.
I have a 5v powerbank, but when applying a load so big the voltage drops at about 4.5 volts, And i need exactly 5v or a bit over.
(I will try to search a 5v power supply)
Yes, I have an oscilloscope, now that you said that I will try with the oscilloscope now.
I've checked every single Input of every single IC, nothing wrong found.
and whatever is doing the writing (some CPU I assume), so there are no floating signals.
If the CPU writes a zero and you are picking up noise then you have a wiring error, grounding error, or logic voltage level problem.
Sorry my mistake
Then all the address/data lines should have a pull-up to 5V and a switch that connects them to ground. You off course need to make sure all the switches are off before you enable the outputs for doing a read