Go Down

Topic: Arduino to control HID grow light? (Read 6290 times) previous topic - next topic


Hello all,

This newbie has some questions relating to the arduino and electronics in general. I was wondering about relays and High Intensity Grow lights.

I want the Arduino to switch on a grow light for a set interval. The grow light is 1000W, and all I have seen relating to the Garduino are those thin fluorescent lights. I know I need to use relays, but I have no idea which one to choose. I have a 5V DC relay with the contacts rated at 2A at 125VAC.

I'm really uncomfortable b/c I'm unsure of how all the numbers relate to each other. I don't want to kill myself/burn down my school  :P. Any help is appreciated as to what kind of relays I should be looking for and if it is possible to power a 1000W bulb w/ Arduino.


There are two things to look for - the current being switched (1000W @ 125V is 8A) and also the possibility of current surges and inductive load.

The standard ratings for a relay relate to resistive loads.  Some loads take more current from cold than their operating current so you have to de-rate the relay appropriately.  The same goes for inductive loads (fluorescent lights usually have big inductors in them).  Find out more about the lights you propose using (they may have data on suitable switch rating).

Certainly a 2A 125V relay is insufficient.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]


You'll need a much heavier relay as that, Power = Voltage x Current, so 2A x 125Volts = 250 Watt max.

At 125 volt I'd at least use an 20 amperes-relay and preferably heavier.
As far as I understand when HID-growlights are switched on quite a high current flows (inrush if my translator is right). That could weld the contacts of the relay together which disables you to turn the light off.

The coil of a mechanical relay also uses more energy as Arduino can handle, you can't drive it directly, but you could use a transistor to switch it. A search "Arduino relay" will probably show you several circuits.

You could also look for an solid state relay, you don't need a transistor for that, but it should of course be heavy enough.


I'm thinking of doing something similer but with CFLs and lower wattage, about 600W, but higher voltage, 240v.

I, like you, am a little weary of messing around with mains electric (a few years ago I managed to blow up a spur box/fuse box after wiring up a light. Loud bang, fire, lots of smoke) but also baulk at the cost of relays.

The conclusion I've come to is that it would be better to get some remote controlled plugs/switches from ebay, then just rip open the remote for them, remove the buttons and replace them with transistors, with the base of the transister connected to one of the Arduinos digital pins, perhaps through a resistor, then just tie the grounds of the remote and the Arduino together.

I far as I'm concerned this route has many advantages:
1) Don't have to mess about with mains voltage.
2) Cheap
3) More control (The rc switches usually come in packs so can also control fans, co2 release, whatever, all independently).
4) The control unit doesn't have to be in the grow room (can change settings in the dark period, could install BL LCD giving feedback which you couldn't if was in the grow room 'cause of the dark period (although could auto off the BL))

I could go on and on really.

There are other ways of controlling the remote switches, like by getting an RF module for the Arduino and sniffing and emulating the signals the original remote sent out, but as this would take quite a bit of time to figure out.

I'm going with the transistor method, much easier.

Hope this gives you some ideas.
The Cageybee


There are some relay boards that work well with Arduino here: 

These are rated at 10A at 230VAC  or 10A at 30VDC .

The 8-relay board is opto-isolated so no direct  electrical connection to Arduino. I would locate it near the loads and keep the 240VAC away from the area of the Arduino.

DISCLAIMER: I mentioned stuff from my own Shop...


Would I need to use a RTC to have the lights run on a 16 hour on/8 hour off cycle? The timing doesn't need to be super accurate.


Would I need to use a RTC to have the lights run on a 16 hour on/8 hour off cycle? The timing doesn't need to be super accurate.

No. Check out the blinkwithoutdelay example sketch to see how you can use the millis() function to keep track of elapsed time. Note that one hour is equal to 3,600,000 milliseconds so 8 hours would be 28,000,000 milliseconds and 16 hours would be 57,600,000 milliseconds. millis() uses a long variable for it's argument value, so those size numbers work fine.



Would I need to use a RTC to have the lights run on a 16 hour on/8 hour off cycle? The timing doesn't need to be super accurate.

No, but...

Problems might start though once the micro controller is reset or power is lost for a short while.
Attached to an PC a standard arduino will be already be reset when the PC is started and... each time you start communicating with the arduino.

When the controller would reset after 15 hours light for some reason, the arduino may see it as the beginning of a new day and power the lights on for another 16 hours.

You may be able to store the time in eeprom every minute or so to check what arduino was doing once it restarts. That... won't unfortunately tell you how long the arduino has been off.

Should it restart after 8 hours in the above example, the arduino won't know, it turns the sun on for an hour and turns it off after that for 8.

Loads of other applications you can simply turn on/off when you need them, a living stock (plants/fish in aquarium etc) usually needs a pretty accurate 24hour day. A few minutes inaccuracy each day probably won't matter.

If it's a lot more fish and plants may start behaving quite strange though...


Real Time clock a good solution. No losing time with resets, etc.. Only about $10 depending on how you do it..

One choice: http://arduino-direct.com/sunshop/index.php?l=product_detail&p=48

DISCLAIMER: I mentioned stuff from my own Shop...


hi would your 8-channel 10 relay board be alright switching on sockets in a extension lead?


hi would your 8-channel 10 relay board be alright switching on sockets in a extension lead?

Hi, Sorry for slow reply; I was in Bangkok for a few days...

These are 8 identical relay channels with a transistor driver from an optical isolator. Like this: http://arduino-direct.com/sunshop/index.php?l=product_detail&p=156

This is a good solution for remote switching.  You would need a small 5 volt supply like a 'wall wart' etc. at the location of the relay board, separate from the Arduino. And you would have to decide how to mount / package the relay board. I would think you'd need some box are enclosed location, with cables or outlet connectors for the loads. 

The Arduino only turns on the LEDs for each channel, (one inside the optocoupler, the other visible outside)...

Let us know how your project works out.



Pay 6-8$ for a "Lamp and Appliance Timer". These timers are usually graded to 2000W.



Dec 05, 2014, 09:11 am Last Edit: Dec 05, 2014, 09:12 am by TomGeorge
Hi, konke, you say the light is 1000W.
I'm surprised that nobody has asked you what voltage it is.
We cannot recommend a switching device unless we know the voltage and current needed.
The 125Vac you quote is on the relay not the lamp.
(Come on guys, up to reply #12 and we still know as much about the light as in reply #1)
Can you tell us the brand and type of growlamp, I understand it is a HID, High Intensity Discharge lamp.

Everything runs on smoke, let the smoke out, it stops running....


Jul 20, 2016, 09:38 am Last Edit: Jul 20, 2016, 10:08 am by SOSA74
1000W HPS or MH bulb uses 4.17A @240V and 8.34A @ 120V

Now you would need a contactor that can be powered with a 24V coil and can take either 240V or 120V at the terminals. Depending on which voltage you prefer.

From the Arduino you will need a relay that outputs 24V to power the contactor coil but uses 5V to trigger the magnetic switch to close.

I would go with a solid state relay and don't cheap out on Chinese made trash.

Actually they make solid state relays that go from 5V to 12V that can handle various amperage and Contactors that use 12V at the coil and 120V/240V at terminals.


Arduino to SS Relay
Pin that you assign to trigger this relay to the line side of the relay and I would use a separate power source from the Arduino to get a full 5V to the coil of the relay. The load side of the SS Relay will go to the coil side of the contactor

SS Relay to Contactor
Now the load side of the SS Relay will go to the transformer coil that uses 12V or 24V to energize and switch the light on. Now you want to connect the 120V/240V line to the T1 section of the contactor and the T2 is the load side of the contactor and this is where you would connect your light ballast and make sure the ballast is set for 240V or 120V.

Remember these Relays and Contactors must be higher in Amperage then your loads to be on the safe side. In this case the amperage a you are working with are 4.17A and 8.34A so a good choice would be a 15A to 20A to take heat into consideration. You could also incorporate heat sinks to keep these SS Relays cool.

Hope that helps.


Go Up