Voltage pulses on digital pin, how to fix?

Hi all. Im new to the electronics side of things so forgive me if its a stupid question.

I have an openlog sd card logger that is logging serial data from my uno. The log writes every one second to the card and pulls extra current during the write time. This spike every second is causing a radio transmitter in my circuit to change frequency as the digital write pin that is keying the radio high and low is being effected by the voltage spike. If I disconnect the logger the radio works fine.

I need some way of cleaning up the high and low from the digital output pin to be dead on 0-5v, or at least consistently the same high and low voltage.

Any ideas how I can do this?

The SDlogger and the 'radio transmitter' are both running from Arduino 5V? If so, maybe it's too much of a load on it. Maybe you could run one or the other from a separate supply. If that works out better then that's telling you something.

Yes, they are running on the arduino 5v. The transmitter module is 10mw and the open log peaks at around 6mw. That doesn't seem unreasonable to run off the Arduino. It does work ok with a seperate power supply but I'd like to run it from one power source.

I think it's the straw that breaks the camel's back. Those SDloggers are power hungry guys. You could rig up a separate supply, tapping off Vin.

The Ethernet card has a similar effect this way.

You could also put a 470 uF cap from Vcc to ground on the SD card... Do you have a separate 3V3 supply for the SD card, Most I've seen work @ 3V3 not 5V and If this is the case the 3V3 supply is limited in current capacity. The filter cap should help keep the supply "stiff".

Doc

More decoupling?

Make sure the signal line to the radio module runs with a ground wire parallel to it (ideally a twisted pair), and is kept away from other wiring. The SDcard will pull large currents, 100mA+ is likely, it depends entirely on the card itself, you should have generous decoupling on the 3.3V power to the SDcard (10uF + 0.1uF ceramic for instance).

Whenever you run a digital signal along a wire it should have parallel to it either ground or supply wires - this reduces the stray inductance and reduces the ability to emit or receive interference from nearby high-speed switching transients. When routing several digital signals they can share a single ground return wire.

In particular this is difficult to manage on a breadboarded setup, so occasionally misbehaviour like this will seen, adding more ground wires can help.

Docedison: You could also put a 470 uF cap from Vcc to ground on the SD card... Do you have a separate 3V3 supply for the SD card, Most I've seen work @ 3V3 not 5V and If this is the case the 3V3 supply is limited in current capacity. The filter cap should help keep the supply "stiff".

Doc

SDcards take 3.3V, definitely not 5V. Many will allow switching to lower than 3.3V after initialization, but this is only needed for native mode (not SPI).

GPEE: Any ideas how I can do this?

A really huge decoupling capacitor?