Hampton Bay Ceiling Fan

Hi, as many who come on here, I'm new to this. Been searching on and off for a while to find if it's possible to have my phone control my Hampton Bay ceiling fan and there's a whole lot of information but nothing too specific for me to say I know what they're talking about.

So as I was saying earlier I want my phone to control my ceiling fan and I guess the easiest way would be to use my phone's Bluetooth and have the signal get picked up by something that'll take it and transmit an RF signal that the fan can understand. What is the best way to do this?

Also, I looked up the records the FCC says and it states the frequency for the remote is 303.217

Thanks I'm advance for any help provided.

Does the fan have a receiver for remote control? If it has, get knowledge about how it is used. Having an Arduino listen to the cell phone BT can be done. Then a transmitter for the link up to the fan remains.

Any good books I can read? I've cracked open the controller and I see switches and while I understand what they do I'm not sure about the rest.

You found switches. That sounds like electromechanical devices. I hope You have knowledge about line power electricity. Else things can go bad, very bad.
Of cource, starting from mains, 230 volts, a 5 volt pwr converter, an Arduino, an RF receiver and a relay things can be made happening, like rotation.

Line power electricity? The controller I'm referring to is a cheap little battery-operated controller (circuit board). Just to be sure we're on the same page.

Ok. Make sure You put Your fingers into the logic, low voltage oarts.

I'd look for a "home automation" solution. [u]Here[/u] is something I found.

Most home automation systems use a special protocol (X10, Insteon, Z-Wave, etc.). You can get timers & remote controllers that work directly with the particular protocol and then you can add a hub if you want to control things with Wi-Fi, Bluetooth, or over the Internet or over the cell phone network etc.

I've got a combination X-10 & Insteon system with about 10 controlled lights & outlets, but no fans. My girlfriend has a similar-simpler setup with two remote light dimmers and two [u]relay switches[/u] for 2 ceiling fans, plus two wireless remote controllers. These are on/off switches... No remote speed control. Neither of our setups has a any king of hub so we can't control the system with a phone or over the Internet, but those would be easy to add.

Thank you DVDdoug, if my fan didn't already come with the rf receiver built-in the fan I would definitelyordered something like that. I have already talked to Hampton Bay and they claim I can't "upgrade" the fans receiver.

I've done some computer programming, mostly Java and have taken apart several electronic devices, but never have taken on something like this and only have recently come up with the phone idea out of necessity. Since I love programming and tinkering with things I thought this would be a good start.

what built in receiver ?

do you have a remote and the fan has a receiver ?

if the hardware exists, then there are ways .

if the hardware exists, you may need to decipher the code that controls the fan so you can replicate it.

if you have a remote, then you can go full hack with some solenoids and use them to push the buttons on the remote.

I have this: Marlton 52 in. Indoor Oil-Rubbed Bronze Ceiling Fan with Light Kit and Remote Control

If I wanted to decipher what books, videos, etc could teach me?

OK, quite a bit of confusion here it seems. :roll_eyes:

You have a remote control, apparently it is wireless, 303.217 MHz. That will be more difficult than an IR remote.

Are you prepared to hack the remote? You will not be able to use it easily without the Arduino system, Can you purchase an extra? If you investigate how the buttons in the remote are wired, then we can discuss interfacing.

Ya I can replace it.

I think that you need to do the following stages:

Purchase both a transmitter and a receiver module that operate on the same frequency as the existing remote control and can be connected to an Arduino.

Preferably have two Arduinos available,(but if you only have one then you can load different sketches at different stages).

Use the receiver connected to one Arduino to "learn" the commands that the Hampton Bay remote control sends.
(i'm not sure how difficult that will be - but there are only 4 buttons to learn).

Use the second Arduino connected to the transmitter module to send the newly learned codes to the fan.

If you are using two Arduinos you can check that you are sending the same the correct codes, and if not make adjustments to what you are sending.

Once you are able to correctly control the fan using Arduino, then the rf receiver module becomes redundant, but hopefully you will only have had to outlay a few $ for it.

Purchase both a transmitter and a receiver module that operate on the same frequency as the existing remote control and can be connected to an Arduino.

Note that it is extremely improbable that the receiver will require that exact frequency (which is actually not a standard one). The transmitter likely uses a SAW resonator and is quite precise but the receiver is not likely to be that critical.

Note that it is extremely improbable that the receiver will require that exact frequency (which is actually not a standard one). The transmitter likely uses a SAW resonator and is quite precise but the receiver is not likely to be that critical.

Sorry, I hadn't realised it was a non-standard frequency.

I'm speaking from a territory where we use 433MHz, and I just knew that you used a lower frquency around 315MHz ±(?)MHz.

The OP states that it has a FCC declaration for that particular frequency. My reference to “non-standard” is that there is no eBay or Google hit for it at 303.217.

It is however apparently in a particular quasi-ISM band and my suspicion is that the receiver would respond just as well to the morestandard frequencies” readily available.

If you have a second remote control unit (as in the one you press buttons on to make stuff happen), I'd go and hack that. It's the easiest. No need to worry about frequencies, transmitters and reverse engineering the code sent to the fan, nor the modulation used for this.
You will be able to use the Arduino to press the buttons. Of course you could use solenoids but there are more elegant ways. First figure out the voltages across the buttons. The first thing I'd try is wiring them through an optocoupler, then the Arduino can "press" the button with a simple signal to that optocoupler. This is very likely to work, do mind the polarity of the button and wire it the correct way around.
If that doesn't work, use small relays. That's basically a mechanical switch and should always work.

As I see this project, there are a few ways to do this.
#1) to preserve all the original parts
make a holder, and use some solenoids or servos. create a wireless link so that your phone controls the servos, the servos press the buttons.
to quote wvmarle "there are more elegant ways" I think we all agree with this statement !
#1a) replace the buttons in the remove with wires and use an Arduino to send the signal to the existing remote. still not as elegant as we would want do do.
#2) this might be a round-about way, but I would consider getting a pair of receives and senders for 315kHz, hope that it is close enough, then use the existing remote, send a signal to the receiver, have the receiver, send that to the transmitter and see if the fan responds. there is a whole lot of room for errors and problems. not the least of which is that you have to make sure the remote is not within distance to the fan.
#2a) get sender/receive pair, listen to the remote, decode the values.
create those values in your sketch and have your Arduino send those to the fan.
hope that the 315 frequency is close enough to 303.
your phone can then talk to the Arduino
#3) the fan has no more than 8 switches.
forward, reverse, off, low, medium, high, lights, lights dim ?
all of these could be done by relays. you can control the relays with an Arduino that receives signals from your phone by using an Arduino that can get those signals from some means. (blue tooth, WiFi etc)
#3a) use SSR (solid state relays)

This link might help to DECODE RF SIGNALS from the remote,

by the way, when I say "arduino" it might be an ESP32 to use the onboard Bluetooth, or an UNO with Bluetooth shield, or EXP8288 with Wifi....

as a note, you can get an ESP8266, a 4 channel relay board with WiFi on e-bay for around $10 USD.