circuitpython-org/_board/adafruit_funhouse.md
Jeff Epler 4715875cc4 Fix board dates to always be of the form YYYY-MM-DD
.. leading zeros are required for `frontmatter` to treat them as dates
rather than strings, apparently per the YAML specification.

This was done by script:
```py
import re
import datetime
import pathlib
import sys

import frontmatter

rx = re.compile(r'^(\s*)date_added:.*$', re.M)

for path_str in sys.argv[1:]:
    print(path_str)
    path = pathlib.Path(path_str)

    post = frontmatter.load(path)
    date_added = post.get("date_added", "")

    if isinstance(date_added, datetime.date):
        continue

    if isinstance(date_added, str):
        try:
            date_added = datetime.datetime.strptime(date_added, "%Y-%m-%d")
        except ValueError as exc:
            print(f"Failed to parse date {date_added} in {path_str}: {exc}")
            continue

    date_added = date_added.date()
    content = path.read_text("utf-8")
    new_content = rx.sub(lambda m: f"{m.group(1)}date_added: {date_added}", content)
    assert content != new_content

    path.write_text(new_content, "utf-8")
```
2024-03-22 11:31:45 -05:00

3.5 KiB

layout board_id title name manufacturer board_url board_image date_added family bootloader_id features
download adafruit_funhouse FunHouse - WiFi Home Automation Development Board Download FunHouse - WiFi Home Automation Development Board Adafruit
https://www.adafruit.com/product/4985
https://www.adafruit.com/product/5069
adafruit_funhouse.jpg 2021-04-06 esp32s2 adafruit_funhouse_esp32s2
Wi-Fi
STEMMA QT/QWIIC
Speaker
Display
USB-C

Home is where the heart is...it's also where all we keep all our electronic bits. So why not wire it up with sensors and actuators to turn our house into an electronic wonderland. Whether it's tracking the environmental temperature and humidity in your laundry room, or notifying you when someone is detected in the kitchen, to sensing when a window was left open, or logging when your cat leaves through the pet door, this board is designed to make it way easy to make WiFi-connected home automation projects.

The main processor is the ESP32-S2, which has the advantage of the low cost and power of the ESP32 with the flexibility of CircuitPython support thanks to native USB support. There's also Arduino support for this chip, and many existing ESP32 projects seem to run as-is. Note this chip does not have BLE support, but for WiFi projects its great. You can use it to connect to IoT services or just the Internet in general, with SSL support and this module has plenty of PSRAM for any kind of data processing.

The board is designed to make it easy to wire up sensors with little or no soldering. There are built in sensors for light, pressure, humidity and temperature sensors. Three JST PH plugs allow for quick connection of STEMMA boards that use digital or analog I/O, and there's a STEMMA QT port for any I2C devices.

Technical details

  • ESP32-S2 240 MHz Tensilica processor - the next generation of ESP32, now with native USB so it can act like a keyboard/mouse, MIDI device, disk drive, etc!
  • WROVER module has FCC/CE certification and comes with 4 MB of Flash and 2 MB of PSRAM - you can have huge data buffers
  • 1.54" Color TFT display with 240x240 pixels. This petite display is one of our favorites, with SPI interface and a controllable backlight.
  • USB C power and data connector
  • Five mini RGB DotStar LEDs on the top, for animations or easily-visible notification
  • 3 buttons can be used to wake up the ESP32 from deep-sleep, or select different modes
  • DPS310 barometric pressure and temperature sensor
  • AHT20 relative humidity and temperature sensor
  • Plug in socket for Mini PIR sensor (not included)
  • Front facing light sensor
  • Speaker/Buzzer can play tones and beeps for audible notification.
  • STEMMA QT port for attaching all sorts of I2C devices
  • 3 STEMMA 3 pin JST connectors for attaching NeoPixels, speakers, servos or relays.
  • 3 capacitive touch pads and one capacitive touch slider with 5 elements.
  • On/Off switch
  • Boot and Reset buttons for re-programming

Purchase: