For this project you will need the following components:
- A Zehnder or BUVA Comfofan CMFe fan unit fitted with a RF module
- Any ESP8266 or ESP32 based Arduino board, like the DOIT ESP32 Dev Module, Wemos D1 mini Pro or the NodeMCU 1.0 (ESP-12E module).
- An nRF905 module. Some commonly available modules:
- The Taidacent module - I haven't tested this module yet, but it seems to be designed for the 868/915 MHZ band, and should give you a range of 100-300 meters
- The PTR8000 - warning! Although this module is sold as suitable for 433/868/915 MHz frequencies, the hardware is designed for 433MHz only. You CAN use this module for the nRF905-API, but range will be limited to 1-2 meters (3-6 feet)
- The goodluckbuy module- I haven't tested this module yet, but it seems to be designed for the 868/915 MHZ band, and should give you a range of 100-300 meters EDIT: this site seems to be offline/defaced
- Fourteen (14) Dupont female-to-female wires
- An micro-USB power supply, e.g. an old micro-USB phone charger
nRF905 pin | ESP32 pin | ESP32 GPIO |
---|---|---|
Vcc | 3.3V | 3.3V |
Gnd | Gnd | Gnd |
AM | D32 | GPIO 32 |
CD | D33 | GPIO 33 |
CE | D27 | GPIO 27 |
DR | D35 | GPIO 35 |
PWR | D26 | GPIO 26 |
TX_EN | D25 | GPIO 25 |
MOSI | D13 | GPIO 13 |
MISO | D12 | GPIO 12 |
CLK or SCK | D14 | GPIO 14 |
CS or CSN | D15 | GPIO 15 |
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xe000 boot_app0.bin 0x1000 bootloader_dio_80m.bin 0x10000 DOIT-ESP32.ino.bin 0x8000 DOIT-ESP32.ino.partitions.bin
nRF905 pin | Wemos D1 pin | Wemos D1 GPIO |
---|---|---|
Vcc | 3.3V | 3.3V |
Gnd | Gnd | Gnd |
AM | - | - |
CD | - | - |
CE | D2 | GPIO 4 |
DR | D1 | GPIO 5 |
PWR | D3 | GPIO 0 |
TX_EN | D0 | GPIO 16 |
MOSI | D7 / HMOSI | GPIO 13 |
MISO | D6 / HMISO | GPIO 12 |
CLK or SCK | D5 / HCLK | GPIO 14 |
CS or CSN | D8 / HCS | GPIO 15 |
The Wemos D1 mini doens't have enough GPIO pins for CD and AM to connect to.
esptool.py --chip esp8266 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash 0x0 WemosD1.ino.bin
nRF905 pin | NodeMCU pin | NodeMCU GPIO |
---|---|---|
Vcc | 3.3V | 3.3V |
Gnd | Gnd | Gnd |
AM | - | - |
CD | - | - |
CE | D2 | GPIO 4 |
DR | D1 | GPIO 5 |
PWR | D3 | GPIO 0 |
TX_EN | D0 | GPIO 16 |
MOSI | D7 / HMOSI | GPIO 13 |
MISO | D6 / HMISO | GPIO 12 |
CLK or SCK | D5 / HCLK | GPIO 14 |
CS or CSN | D8 / HCS | GPIO 15 |
The NodeMCU doens't have enough GPIO pins for CD and AM to connect to.
esptool.py --chip esp8266 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash 0x0 nRF905API.ino.bin