Most IoT projects require multiple modules – a relay board for appliances, an IR module for remote control, and a Wi-Fi MCU for connectivity. What if all of that could fit on a board smaller than a credit card?
That’s exactly what the WiFIRCarddoes! Powered by the ESP32-S3, it brings together:
- 2x Relays for appliance control
- IR transmitter/receiver for remote learning & emulation
- Wi-Fi + Bluetooth for cloud and mobile connectivity
- MicroSD card support for logging and storage
- GPIO breakout for extra sensors & actuators
In this project, we’ll set up WiFIRCard with MicroPython, toggle appliances via relays, and emulate IR remotes.
Features Recap- ESP32-S3 WROOM-1 dual-core processor
- Wi-Fi & Bluetooth LE
- Dual opto-isolated relays (5A switching)
- Onboard IR transmitter & receiver
- MicroSD card support for logging
- Type-C interface for programming
- Multiple programming options: Arduino, MicroPython, CircuitPython, C/C++
- Download the latest ESP32-S3 MicroPython firmware from micropython.org.
- Connect WiFIRCard to your PC using a USB Type-C cable.
- Use esptool.py to flash MicroPython:
esptool.py --chip esp32s3 erase_flash
esptool.py --chip esp32s3 --baud 460800 write_flash -z 0x0 micropython.bin
Step 2: Connect to WiFIRCard- Open Thonny IDE or uPyCraft IDE.
- Select MicroPython (ESP32) as the interpreter.
- Connect to the COM port where WiFIRCard is attached
WiFIRCard has onboard LEDs you can control. Try this first:
from machine import Pin
import time
led = Pin(2, Pin.OUT) # Replace with onboard LED pin
while True:
led.value(1)
time.sleep(0.5)
led.value(0)
time.sleep(0.5)
Step 4: Control Relay with MicroPythonfrom machine import Pin
import time
relay1 = Pin(15, Pin.OUT) # Example GPIO, replace with actual pin
relay2 = Pin(16, Pin.OUT)
while True:
relay1.value(1)
relay2.value(0)
time.sleep(2)
relay1.value(0)
relay2.value(1)
time.sleep(2)
Step 5: IR Receiver Example (Learn Remote Signal)from machine import Pin
import time
ir = Pin(17, Pin.IN) # Replace with actual IR pin
while True:
if ir.value() == 0:
print("IR signal detected!")
time.sleep(0.1)
Applications You Can Build Next- Voice Control with Alexa/Google Home via MQTT/Home Assistant
- Smart TV Control by learning & emulating IR remotes
- Energy-efficient automation with PIR motion sensors
- IoT dashboards using Blynk or custom MQTT brokers
The WiFIRCardcombines multiple modules into one tiny powerhouse. With MicroPython support, getting started is simple and flexible – perfect for both beginners and advanced makers. Whether you’re building a DIY smart home system, experimenting with IoT dashboards, or teaching automation concepts, this board makes it accessible and fun.
Comments