Noisy HC-06

I have a HC-06 in my circuit. It is introducing are noise on the supply lines and I just cannot eliminate it.

The project is battery powered (4xAA) and I have an 0.1uf, and a 100uf directly across the HC-06 terminals.
I also have a 1n4001 (rightly or wrongly) in series with the positive pin (but that doesn't seem to make a difference).

Tried larger caps (1000uf) and a short supply lead to the HC-06 with a ferrite coil on it. No luck

Any other ideas for cleaning up the supply? (can't have separate battery - no room).

I have suppression caps across the Pro Mini and the microphone module as well.

The circuit has a microphone input on an analogue pin that takes the average background noise and triggers a relay when a threshold is reached (clap hands etc).

When the HC-06 is plugged in, it triggers almost constantly. Stops as soon as I remove the Bluetooth module.

This is on a breadboard, which I am sure doesn't help, but leads are as short as possible and from experience, I know this will still occur once transferred to a pcb.

Ideas?

I can't imagine why you would put a diode in series with the supply. Do you have a level translator on the RXD?

Noise questions usually end up with a request for close up images and/or a schematic. How about just posting those now and save time?

The diode was a last attempt stab (as I said it was rightly/wrongly). I have found that they have helped before.

The RXD has a voltage divider between it and the Arduino, but that doesn't affect the noise anyway (I can disconnect those and nothing changes.

This is noise on the supply lines from the HC-06. Huge elect cap directly across the pins of the HC-06 helps a lot. But, the second I remove that HC-06, the analogue input value (being polled to the serial monitor for testing) smooths out perfect.

Once you have paired to the HC-06, the noise drops considerably.

Pic attached, but things have changed since this initial drawing slightly.
Its now an IRF520 Mosfet instead of the TIP121

OK, I think I have fixed it.

Using a 6v battery pack feeding the RAW pin (hopefully that is enough - seems OK), and that drives all the sensors etc off the Arduino 5v pin.

The HC-06 is directly off the battery through a in4001 which drops the battery supply below the 6v max spec of the HC-06.

This seems to have eliminated the noise

Thanks for the neat schematic, but a lot of the pins and connections are unlabeled. I was hoping more for images of the actual hardware because often the wiring configuration is at the root of noise problems.

As a fun prototype, this is fine. If this is supposed to become a product, it is not fixed. 6V is not enough to power a regulator properly, a diode is inappropriate. I guess that the change in voltage is somehow changing the conditions that cause the noise. That is not the same as fixing it. You can do whatever you like, I'm just giving you an objective viewpoint. I've chased noise problems before. You haven't fixed it until you actually know where the noise is coming from and why. Especially if you are prototyping for PCB, as that will make any kludges permanent.

So if 6v isn't enough for the RAW pin on the Pro Mini, what is my best way forward?
If I drop to 4.5v, then that is too low, and my pump will also run too slow.

It all does seem to work fine (no - this isn't a product, just a hobby thing). But, I would like to know how to come up with a better solution.

I thought the 1n4001 dropped about 0.7v (seen other people use that method in here). Thought that was a reasonably easy way to keep the 6v below the 6v max of the HC-06

Full AA batteries were throwing out 6.12v.

I think the HC-06 will be OK using the diode method. My concern then is the supply to the Pro Mini from the 6v.

Updated image attached.

I have taken a line from pin 24 of the HC-06 to an analogue pin to enable me to see when the HC-06 is paired.

Thanks, that is a big improvement, although it's disappointing that there are still no hardware photos. What is your OLED? I've never seen any that run on 5V, only 3.3V. You have a servo and a pump running from the 5V supply, that is usually a recipe for disaster.

The hardware is on a very messy breadboard! Not the greatest for noise at the best of times.
Will transfer to a stripboard later.

The tiny 9G servo moves once about 20 degrees, and only ever when the pump isn't running.

The pump is a fish tank air pump 5v/6v affair that draws 235mA at 6v. Not a big load at all.
Also, it only ever runs at bootup for about 6 seconds then stops.

Basically it inflates a bladder and the servo is used to open a release valve.

The Oled is a small 128x64 white 0.96" screen (ssd1306?) Definitely 5v (use them a lot). I believe it draws around 20mA when on.

I should add that pin A0 on the drawing shows nothing at the moment, but actually goes to a 10k pot for now.
It will be used for an analogue pressure sensor when it finally arrives in the post (that is used to turn off the pump).

Thanks for the additional information. It's commonly experienced that a messy breadboard can create noise problems. It's not possible for me to comment further, without seeing photos of the hardware. Most OLED displays are, in fact, strictly 3.3V devices, both supply and I/O. Adafruit does make some "5V ready" displays but I, and I dare say most experimenters use the more common Asian modules. I point this out not for you, because I can see that your mind is already made up, but for beginners who are reading and might falsely believe that it's safe and reliable.

You mention a microphone. Have you considered that the microphone circuit is at very low levels and high impedance? That will make it prone to pickup of any RF flying about and you will have lots. You need to filter the microphone circuit do make it low pass. Not much point until hard wired though.