Link to this comparison view

fpga_fan_controller [2016/08/25 19:27]
joel [Gqrx]
fpga_fan_controller [2017/12/06 11:18]
Line 1: Line 1:
-====== FPGA Fan Controller ====== 
-My Ceiling fan is controlled by a [[https://www.amazon.com/Hunter-27185-Light-Remote-Control/dp/B00002NC0D|Hunter Fan Co 27185]] remote control, which transmits control messages over RF at 350MHz. 
  
-{{:hunter_fan:20160612-ceiling-fan.jpg?0x250|}} 
-{{:hunter_fan:20160612-controller-front.jpg?0x250|}} 
-{{:hunter_fan:20160612-controller-back.jpg?0x250|}} 
- 
-Internally the device uses a [[http://www.futurlec.com/Datasheet/Others/HT12E.pdf|HT12E]] encoder chip driving a 350MHz LC oscillator. 
- 
-===== Capture ===== 
-==== Gqrx ==== 
-{{:hunter_fan:20160618-gqrx-capture.jpg?0x500|}} 
- 
-I used my RTLSDR and [[http://gqrx.dk/|Gqrx]] to capture transmissions from the remote, which revealed the following things... 
- 
-  * When buttons are pressed, bunches of packets are transmitted in [[https://en.wikipedia.org/wiki/On-off_keying|OOK]] (On-off keying). 
-  * The carrier frequency is not at all accurately tuned to 350MHz, and drifts significantly based on the transmitter's relative to other objects, and to temperature. This is to be expected with an LC oscillator with no accurate frequency reference. 
- 
- 
-==== Inspectrum ==== 
-{{:hunter_fan:20160612-inspectrum.jpg?500x|}} 
- 
-==== GNU Radio ==== 
-{{:hunter_fan:20160612-envelope-detector.png?750x|}} 
- 
-{{:hunter_fan:20160612-threshold.png?0x350|}} 
- 
-{{:hunter_fan:pwm-modulation.png|}} 
- 
-===== iCE40 FPGA Implementation ===== 
-{{:hunter_fan:20160612-ice40hx8k-board.jpg?0x250}} 
-{{:hunter_fan:fpga-structure.png?0x250|}} 
-{{:hunter_fan:20160612-transmit-signal.png?0x250|}} 
-{{:hunter_fan:20160618-completed-unit.jpg?0x250|}} 
fpga_fan_controller.txt ยท Last modified: 2017/12/06 11:18 (external edit)