Ceiling fan controller?

I’ll add my voice to the chorus and say: When are we going to get something like the Insteon that is z-wave or zigbee? Much like @tonesto, I’m not trying to complicate things for my better half and children.

1 Like

Are you referring to the fanlync module? +1 on that if so.


Yes I am. One switch to control the light (and its brightness) and the fan speeds.

Yea that thing is pretty nice. It would be a nice addition.

So I like the GE 12730 fan control however I really want to try and free up a gang in my box so I can throw in a Cooper 5-Scene Controller in some of my rooms. The INSTEON FanLinc might work, not sure if a device type was made for it yet, but there $50 a unit and I would have to pull down my fans that I just put up to put them in. Currently the fans right now are new and I got them for $80 and included a Hampton bay remote for them. So I am thinking about using an Arduino with ST shield and wiring a relay to everything (hi, med, low, off and for each dip switch 4 of them.) I would run it with a smart app and virtual switch. Thought and ideas about this, hopefully I will be ordering the arduino and ST shield in the next weeks.

The Insteon FanLinc is a nice device, but not compatible with SmartThings. It uses the Insteon communication protocol.

SmartThings uses zwave, zigbee (home automation profile 1.2) or cloud to cloud.

As for the Arduino direction: I won’t say it’s impossible, but you have to know a lot about electrical wiring to avoid burning out the fan motor. Or burning down the house. It’s the same issue as trying to use a light control for a fan motor.

If the word “TRIAC” is new to you, don’t attempt an Arduino solution until you’ve done a lot more research. See:

The arduino with relays would be connected to the remote not the actual fans. So this way one control would control all of the fans in the house. Which is why the 4 pins on the inside would also need to be on the realy. So the code would have to first have to relay the correct pin and then send the command to set the fan as L/M/H/off

I see. OK, if you’re just going to use the Arduino to fire the remote that makes more sense electrically. I don’t understand the comment about one control for the whole house, though. Don’t the remotes need to be line of sight to the fans?

No they are RF. There’s a button for Hi, Med, Low, off and one for the light (however I don’t plan to wire up the light because they are all on dimmers because they are LED bulbs). Inside where the batteries are, there are 4 dip switches that are on or off to match the dip switches for the receiver. So I have 5 different fans though out the house. So 4 relays will be used for the Hi, med, low and off and 4 relays will be used for the dip switches. So when a command is sent the dip switch relays need to be set first then the fan speed relay can be sent. I have pulled code from a relay project that someone else send connect to virtual switches. The only thing I need to research, which I haven’t had time to do yet, is can a virtual switch have a state of hi, med, low, off or can a virtual switch only be on or off?

Did you look at this thread? Perhaps another way to do this…

ST_Anything: 433Mhz RF Devices + Arduino + ThingShield

1 Like

Well this would work if I could find the exact frequencies how ever it might be more work than just soldering the remote to the arduino.

I’m working with someone with my variant of the above mentioned project and he was able to intercept his fan’s wireless module commands with the rc-switch library.


So I was researching the RC transmitter idea. I looked up the transmitter on the fcc site and it looks like it uses a frequency of 303.9. Is there a chip like the one above that works on the 303.9 frequency and works with @ogiewon code?

That’s an odd one. I’m sure they did that on purpose. I know the RC-Switch library in my project only works on the 315 and 433 mhz spectrums.

Interesting. I just got the fans last year from Home Depot.

So i got my Arduino, 8 relay board and ST shield yesterday and got working on this project. I’m new to coding and all of my code if parts of others’ code. It messy and over the next days/weeks i plan on cleaning it up but would love guidance form those better with coding. There’s a couple of areas that i mainly need help with in my code. I can click the low, med, high buttons and it works however the on/off switch isn’t working at all. Also if i hit a button for the fan speed to be low and if the relays don’t function correct and the fan doesn’t change i can’t just hit low again, i have to hit med and then low again. Lastly the triggering the relays sometimes gets tripped because it’s going from relay1on, relay7on, relay7off, relay1off. I need an idea on how i can do it so it’s stable.


Are you having an issue when you send multiple commands relatively close to eachother?

I’m looking for the same thing for the same reasons!

yea, i think i might redo all the coding setup. my thought process is to make the device type contain all of my fans and send commands to the arduino as fan1off, fan1low, fan2med, fan1high. and within the arduino trigger the relays on and off. This should make it more stable. Today doing more testing with the current code, i found that the antenna range sucks. This is my top item to work on because if i can’t get the range better theres no point in moving forward.

@keithcroshaw not sure how good you are with electronics but any idea where i could wire an antenna to? Here is some things i got off the fcc website that might help. FYI yes i did try and connect a wire to where the image says antenna and it didn’t help.

Actually the antenna might be a little better now, i decided to give the 1/4 wavelength antenna size of 9.23 inches a try and it works better.