Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Adafruit FunHouse: Examples, Pinouts, and Specs

Image of Adafruit FunHouse
Cirkit Designer LogoDesign with Adafruit FunHouse in Cirkit Designer

Introduction

The Adafruit FunHouse (Manufacturer Part ID: 4985) is a versatile microcontroller board designed specifically for Internet of Things (IoT) projects. It features a built-in touchscreen display, multiple onboard sensors, and Wi-Fi connectivity, making it an excellent choice for creating smart home applications, interactive devices, and educational projects. Its user-friendly design and compatibility with CircuitPython and Arduino IDE make it accessible to both beginners and experienced developers.

Explore Projects Built with Adafruit FunHouse

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Nano-Controlled Motion-Activated Sound and Light System
Image of no led: A project utilizing Adafruit FunHouse in a practical application
This circuit is an interactive multimedia system featuring audio input via a microphone amplifier, audio output through a DFPlayer MINI and loudspeaker, motion detection using a PIR sensor, and visual feedback with an RGB LED strip. The Arduino Nano serves as the central controller, interfacing with the audio and motion modules, and driving the LED strip.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Based Interactive LED Game with I2C LCD Display
Image of test2: A project utilizing Adafruit FunHouse in a practical application
This circuit is a simple interactive game system using an Arduino Uno, two WS2812B LEDs, two pushbuttons, and two 16x2 I2C LCDs. The Arduino controls the LEDs and displays game information on the LCDs, while the pushbuttons are used to interact with the game, which involves pressing the correct button based on the LED color displayed.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega-Nano Hybrid Control Panel with Wireless Communication and LED Displays
Image of Bombuska na airsoft: A project utilizing Adafruit FunHouse in a practical application
This is a multifunctional interactive system featuring an Arduino Mega 2560 and an Arduino Nano for control. It includes user input components (pushbuttons, keypad), visual output (OLED displays, LED matrices, NeoPixel rings/jewels), audio output (DFPlayer MINI with loudspeakers), and wireless communication (433MHz RF transmitter). The system is designed for user interaction, feedback display, and wireless control, with placeholder code for future development.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Controlled Interactive LED and Sound System with Motion Detection
Image of project 1: A project utilizing Adafruit FunHouse in a practical application
This circuit features an Arduino UNO microcontroller interfaced with an Adafruit ADXL345 accelerometer, an HC-SR04 ultrasonic sensor, two SG90 servomotors, a DFPlayer Mini MP3 module, a WS2812 RGB LED strip, and a loudspeaker. The Arduino controls the LED strip and servomotors based on distance measurements from the ultrasonic sensor and plays sounds through the DFPlayer Mini when motion is detected by the accelerometer. The circuit is designed for interactive displays or installations where visual and auditory feedback is provided in response to object proximity and movement.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit FunHouse

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of no led: A project utilizing Adafruit FunHouse in a practical application
Arduino Nano-Controlled Motion-Activated Sound and Light System
This circuit is an interactive multimedia system featuring audio input via a microphone amplifier, audio output through a DFPlayer MINI and loudspeaker, motion detection using a PIR sensor, and visual feedback with an RGB LED strip. The Arduino Nano serves as the central controller, interfacing with the audio and motion modules, and driving the LED strip.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of test2: A project utilizing Adafruit FunHouse in a practical application
Arduino-Based Interactive LED Game with I2C LCD Display
This circuit is a simple interactive game system using an Arduino Uno, two WS2812B LEDs, two pushbuttons, and two 16x2 I2C LCDs. The Arduino controls the LEDs and displays game information on the LCDs, while the pushbuttons are used to interact with the game, which involves pressing the correct button based on the LED color displayed.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Bombuska na airsoft: A project utilizing Adafruit FunHouse in a practical application
Arduino Mega-Nano Hybrid Control Panel with Wireless Communication and LED Displays
This is a multifunctional interactive system featuring an Arduino Mega 2560 and an Arduino Nano for control. It includes user input components (pushbuttons, keypad), visual output (OLED displays, LED matrices, NeoPixel rings/jewels), audio output (DFPlayer MINI with loudspeakers), and wireless communication (433MHz RF transmitter). The system is designed for user interaction, feedback display, and wireless control, with placeholder code for future development.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of project 1: A project utilizing Adafruit FunHouse in a practical application
Arduino-Controlled Interactive LED and Sound System with Motion Detection
This circuit features an Arduino UNO microcontroller interfaced with an Adafruit ADXL345 accelerometer, an HC-SR04 ultrasonic sensor, two SG90 servomotors, a DFPlayer Mini MP3 module, a WS2812 RGB LED strip, and a loudspeaker. The Arduino controls the LED strip and servomotors based on distance measurements from the ultrasonic sensor and plays sounds through the DFPlayer Mini when motion is detected by the accelerometer. The circuit is designed for interactive displays or installations where visual and auditory feedback is provided in response to object proximity and movement.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Smart home automation (e.g., controlling lights, monitoring temperature, or detecting motion)
  • Environmental monitoring (e.g., air quality, humidity, and temperature tracking)
  • Interactive IoT devices with touchscreen interfaces
  • Educational projects for learning about IoT and microcontrollers
  • Prototyping and testing IoT concepts

Technical Specifications

Key Technical Details

Specification Details
Microcontroller ESP32-S2 (240 MHz, single-core processor with Wi-Fi)
Flash Memory 4 MB SPI Flash
Display 1.14" 240x135 color TFT LCD with ST7789 driver
Connectivity Wi-Fi 802.11b/g/n
Sensors Temperature, humidity, barometric pressure, PIR motion sensor, light sensor
Power Supply USB-C (5V input) or external battery (via JST connector)
GPIO Pins 8 GPIO pins (3.3V logic)
Programming CircuitPython, Arduino IDE
Dimensions 90mm x 70mm x 12mm

Pin Configuration and Descriptions

Pin Name Description
1 3V3 3.3V power output for external components
2 GND Ground connection
3 GPIO0 General-purpose I/O pin (can also be used for touch input)
4 GPIO1 General-purpose I/O pin
5 GPIO2 General-purpose I/O pin
6 GPIO3 General-purpose I/O pin
7 GPIO4 General-purpose I/O pin
8 GPIO5 General-purpose I/O pin
9 JST Battery Connector for external battery (3.7V LiPo/LiIon)
10 USB-C USB-C connector for power and programming

Usage Instructions

How to Use the Adafruit FunHouse in a Circuit

  1. Powering the Board:

    • Connect the FunHouse to a USB-C power source (5V) or use a 3.7V LiPo/LiIon battery via the JST connector.
    • Ensure the power source provides sufficient current for the board and any connected peripherals.
  2. Programming the Board:

    • Install CircuitPython or Arduino IDE on your computer.
    • For CircuitPython:
      • Download the latest CircuitPython firmware for the FunHouse from the Adafruit website.
      • Copy the firmware .uf2 file to the board's USB drive to install CircuitPython.
    • For Arduino IDE:
      • Install the ESP32-S2 board support package and the necessary Adafruit libraries.
  3. Connecting Sensors and Peripherals:

    • Use the GPIO pins to connect external sensors, actuators, or other peripherals.
    • Ensure all connected components are compatible with the 3.3V logic level.
  4. Wi-Fi Setup:

    • Use the built-in Wi-Fi module to connect the FunHouse to your local network.
    • Configure the Wi-Fi credentials in your code to enable IoT functionality.

Important Considerations and Best Practices

  • Avoid exceeding the 3.3V logic level on GPIO pins to prevent damage to the board.
  • Use appropriate pull-up or pull-down resistors when connecting external components.
  • Ensure proper ventilation and avoid exposing the board to extreme temperatures or humidity.
  • Regularly update the firmware and libraries to access the latest features and bug fixes.

Example Code for Arduino IDE

The following example demonstrates how to connect the FunHouse to Wi-Fi and read the onboard temperature sensor:

#include <WiFi.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_AHTX0.h>

// Replace with your Wi-Fi credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";

// Initialize the temperature and humidity sensor
Adafruit_AHTX0 aht;

void setup() {
  Serial.begin(115200);
  delay(1000);

  // Connect to Wi-Fi
  Serial.print("Connecting to Wi-Fi");
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nWi-Fi connected!");

  // Initialize the AHT sensor
  if (!aht.begin()) {
    Serial.println("Failed to initialize AHT sensor!");
    while (1);
  }
  Serial.println("AHT sensor initialized.");
}

void loop() {
  // Read temperature and humidity
  sensors_event_t humidity, temp;
  aht.getEvent(&humidity, &temp);

  // Print the readings to the Serial Monitor
  Serial.print("Temperature: ");
  Serial.print(temp.temperature);
  Serial.println(" °C");

  Serial.print("Humidity: ");
  Serial.print(humidity.relative_humidity);
  Serial.println(" %");

  delay(2000); // Wait 2 seconds before the next reading
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. The board is not detected by my computer:

    • Ensure the USB-C cable is a data cable (not just a charging cable).
    • Try a different USB port or cable.
    • Check if the board is in bootloader mode by double-pressing the reset button.
  2. Wi-Fi connection fails:

    • Verify the SSID and password in your code.
    • Ensure the Wi-Fi network is 2.4 GHz (the ESP32-S2 does not support 5 GHz networks).
    • Check if the router is blocking new devices or has MAC address filtering enabled.
  3. Sensors are not providing data:

    • Confirm that the required libraries are installed and up to date.
    • Check the wiring and connections for external sensors.
    • Ensure the board is powered properly.
  4. The touchscreen is unresponsive:

    • Verify that the touchscreen library is installed and initialized correctly.
    • Avoid touching the screen with wet or dirty hands.

FAQs

  • Can I use the FunHouse with a battery only?
    Yes, the FunHouse can be powered by a 3.7V LiPo/LiIon battery via the JST connector. Ensure the battery is charged and has sufficient capacity for your project.

  • What programming languages are supported?
    The FunHouse supports CircuitPython and Arduino IDE. Both platforms are well-documented and have extensive libraries for IoT development.

  • Is the FunHouse compatible with other Adafruit sensors?
    Yes, the FunHouse is compatible with most Adafruit sensors and breakout boards. Use the GPIO pins to connect additional components.

  • Can I use the FunHouse without Wi-Fi?
    Yes, the FunHouse can function as a standalone microcontroller without Wi-Fi. However, many of its features are designed for IoT applications.


This concludes the documentation for the Adafruit FunHouse. For additional resources, visit the Adafruit FunHouse product page.