The Funhouse has a display and so many great features. It's packed with buttons, lights, connectors and sensors. Time to take a tour!
Front and center is a 1.54" ST7789-based IPS Wide Angle TFT Display with 240x240 pixels. Each pixel is 16-bit full color.
On the back, the display cable goes through the board to the display connector on the back.
- USB C port - This is used for both powering and programming the board. You can power it with any USB C cable and will request 5V from a USB C PD.
- On/Off switch - This switch controls power to the board. If you plug in your board and nothing happens, make sure the switch is flipped to "ON"!
The ESP32-S2 WROVER module.
The ESP32-S2 is a highly-integrated, low-power, 2.4 GHz Wi-Fi System-on-Chip (SoC) solution that now has built-in native USB as well as some other interesting new technologies like Time of Flight distance measurements. With its state-of-the-art power and RF performance, this SoC is an ideal choice for a wide variety of application scenarios relating to the Internet of Things (IoT), wearable electronics, and smart homes.
Please note, this is a single-core 240 MHz chip, so it won't be as fast as ESP32's with dual-core. Also, there is no Bluetooth support. However, we are super excited about the ESP32-S2's native USB which unlocks a lot of capabilities for advanced interfacing! This WROVER module comes with 4 MB flash and 2 MB PSRAM.
The 4 MB of flash is inside the module and is used for both program firmware and filesystem storage. For example, in CircuitPython, we have 3 MB set aside for program firmware (this includes two OTA option spots as well) and a 1MB section for CircuitPython scripts and files.
DotStar LEDs and red LED.
- On the front of the board, along the top, are five addressable RGB DotStar LEDs, so you can light up the display with any color or pattern. You can use
GPIO15for the Clock pin and
GPIO14for the Data pin to control the DotStars.
- Below the display, and slightly to the right, is a red LED positioned at the top right of the FunHouse door. It is user-controllable for blinky needs. You can blink this at any time. This LED is attached to
STEMMA QT - This JST SH 4-pin connector breaks out I2C (SCL, SDA, 3.3V, GND). It allows you to connect to various breakouts and sensors with STEMMA QT connectors or to other things using assorted associated accessories.
In CircuitPython, you can use the STEMMA connector with
Works great with any STEMMA QT or Qwiic sensor/device
On the side are three connectors labeled A0, A1, and A2. These are STEMMA 3 pin JST digital or analog connectors for attaching NeoPixels, speakers, servos or relays. These pins can be analog inputs or digital I/O. They are connected to
All three connectors have protection 1K resistors + 3.6V zener diodes so you can drive an LED directly from the output. The maximum current from these connectors is 200mA.
All three ports are 'true' analog outputs and all three can be used for PWM as well as analog inputs. The maximum input voltage is 2.6V, after which the zener diodes will kick in to drain excess voltage.
The power output is 5V by default, but a jumper can be cut/soldered to change it to 3.3V.
- Towards the middle of the board, at the bottom right corner of the display, is a speaker/buzzer labeled with a musical note. This includes a mini class D amplifier on DAC output
GPIO42and can play tones or lo-fi audio clips.
- In the bottom right corner of the board, on the left side of the cutout region, is a DPS310 pressure sensor, that can be used to sense the barometric pressure It is connected to the I2C port and available on I2C address
- Also in the bottom right corner of the board, on the right side of the cutout region, is an AHT20 Humidity and Temperature sensor, that can be used to sense the humidity and temperature. It is connected to the I2C port and available on I2C address
- Below the display, and slightly to the left, is a front-facing light sensor that is positioned at the top left of the FunHouse door. This is connected to
Note: The light sensor is influenced by the display's backlight, use some tape to block the light if needed. More info, and a great chart here.
- Reset button - The reset button is on the front below the display and to the right of the FunHouse Door.
Boot button - The boot button is on the back and situated between the Digital/Analog Ports and the ESP32-S2 module. This is connected to BOOT0 and can be used to put the board into ROM bootloader mode. To enter ROM bootloader mode, hold down DFU button while clicking reset button mentioned above. When in the ROM bootloader, you can upload code and query the chip using
On the front of the board, to the left of the display, there are three user-controllable buttons labeled arrows for the top and bottom buttons. The buttons are on
GPIO5. They can be used to wake up the ESP32-S2 from deep-sleep, or however you want to use them.
There are no pull-ups on board, use internal pulldowns for these pins - when the buttons are pressed the IO pin labeled is set to HIGH
On the front of the board, to the left of the display and along the top, there are three capacitive touch pads with ravens on top labeled CT6, CT7, and CT8. The pads are on
GPIO8. They can be used like buttons.
On the right side of the board, there is a capacitive touch slider made up of 5 capacitive touch pads. It has a tree on top. The pads are on
GPIO13. They can be used as separate buttons or a positional slider.
On the front of the FunHouse is a location to add the PIR sensor. It is intended to be inserted through the front and into the connector on the back, but it could also work from the back. When inserting, make sure the + and - symbols match up with the PIR sensor's markings or it will short out the board.
The PIR sensor is connected to