Using arduino and relays to start a grill ignitor

Hello forum,

I’m attempting to use an arduino to start the burners for my homebrew burners similar to this instructable setup -

For the ignitor, I’m using a grill ignitor that uses a single AA battery to create the spark -

Connected to the push button is a relay, whose signal is comes from another relay, which is then controlled by the arduino. I also have an LCD to display the current temperature and desired temperature. The whole setup works, but I’m getting some feedback from the grill ignitor back into the arduino that ends up putting garbage onto the lcd screen.

I even attempted to isolate the power for the relay so the arduino doesn’t share the same power or ground, but I saw a similar result.

The circuit for the ignitor and relay looks like the attached image.

How can I prevent the feedback from the grill ignitor from entering the arduino?


BrewControl.ino (8.62 KB)

Show us the code, the wiring, data for relays, power supply, igniter. Sailes information is not useful.

relays ARE isolation.
end of story.

Isolation from the switched load but not the coil depending on the relay module.


Wiring I simplified to the attached diagram (in my original post).

I was also assuming the relay would give me isolation, but when the ignitor fires, it's definitely inducing some sort of feedback. When I remove the ignitor from the relay, it doesn't reproduce.

I took two videos - one with the ignitor hooked up (right most relay) and one with it detached. I also have some pictures of the whole setup, but the diagram I drew up contains only the parts that are involved in the ignitor. Find those videos/images here -

I don't think it's a code issue, but regardless, attached it.

Do you get the same garbage when you manually push the igniter button?


What happens when you isolate the wires so they do not run next to the electronics ?

When using a relay, draw a line down the center of the relay. everything on the contact side is only on one side of that line. Everything on the logic side is on the other side of the line. The contact side should enter and exit the enclosure with the shortest run possible.

Consider using some plywood, paint white or silver. Mount that into the case.
Then mount all your bits onto the plywood. It makes it easier to mount things and keep the integrity of the case.

Move the relays to the bottom, move the display to the top.
That way, the wires in and out of the relays are not near any electronical bits.

As a note, it does not seem that it would make any difference. if you are switching low voltage battery for the igniter and not the 800 volts of the igniter, then you only have a small DC voltage in the case.

next question is if you have a metal shield around the spark and wires so that you don't have the high voltage radiating into the electronics.

On the 8 channel board:
Disconnect the GND wire between board and Mega, remove the JD-VCC - VCC jumper, connect the second 5V power supply + to JD-VCC, connect 5V supply - to the - pin next to JD-VCC, connect Mega 5V to VCC on relay board next to IN pins, connect Mega output pin to a IN pin.


If you look at the relays, all Arduino is on the left of the first relay board.
the power supply is in-between the two relay boards and the igniter in on the right of the last relay
when you think isolation, the wiring is isolated.

the Persian Flaw in all this is the power supply and relay board layout.

I would lift the wire on the grill igniter to see if that high voltage has any effect.

JCA34F shows that the power or the ground for the relay board has to be set in such a way as to not allow interference.

In the project schematic from the OP (below) it does not look like they tied grounds to thing after the relay. A good thing.

Thank you all for the detailed responses.

As Paul and Dave suggested, I tried triggering the ignitor without the relay and it still reproduced. I then disconnected the ignitor wires from the relay entirely, triggered it by touching the wires together, still reproduced. Then finally removed the thermocouples from the burners (screwed into the burner frame), started ignitor and could finally not reproduce. I reassembled everything minus the thermocouple mount and it was still good (ie. setup in the diagram).

What I'm guessing was happening is that some of the voltage from the ignitor was making it to the frame of the burner, which then travelled through the thermocouple back to the arduino or lcd (what Dave suspected). This also explains how I destroyed the previous lcd module I was using!

I'll need to mount the thermocouple in a way where it doesn't contact the burner frame. I can also add a little more distance between the burner and the ignitor leads.

@JCA34F, I had previously wired the 8 relay board with a separate power supply, but due to the above issue, I didn't think it helped at the time. I also connected the ground from my arduino to the relay board. Perhaps I can remove my second relay now that the above issue is solved and isolate the relays using your suggestion. Thanks!

Before you try anything else, use only shielded wire to the thermocouples. With only one end of the shield grounded..


An early type of radio transmitter was the spark gap transmitter.

You have inadvertently made a spark gap transmitter.

Your wiring forms an antenna that will pick up the transmitted signals and nicely inject interfering signals into any susceptible parts of the system.

You need to take special precautions to prevent this from happening.

Paul_KD7HB has already mentioned using shielded wire.
Using twisted pairs for the wiring may also help.

Well done
Very well done on testing.

Luckily it should not be too difficult to create an electrically isolated mount for the thermocouple. Or the spark generator or both.