Stufin
Home Quick Cart Profile

Witty Fox - ESP32 Storm Board with On-Board Li-ion Battery & Wireless Programming

Buy Now on Stufin

Operating temperature

-20C to 70C

Storage temperature

-30C to 85C

Relative humidity

10% to 90%

Certifications and Compliance

FCC, CE, and RoHS compliant

Meets safety standards for lithium-ion battery-powered devices

Documentation and Resources

Datasheet and user manual available for download

Comprehensive documentation and tutorials on the manufacturer's website

Active community support and forums for developers and hobbyists

The Witty Fox - ESP32 Storm Board provides a versatile and feature-rich platform for IoT development, offering a unique combination of wireless programming, on-board Li-ion battery, and advanced I/O interfaces. Its compact size, low power consumption, and robust performance make it an ideal choice for a wide range of IoT applications, from wearables and home automation to industrial control and monitoring systems.

Pin Configuration

  • Witty Fox - ESP32 Storm Board with On-Board Li-ion Battery & Wireless Programming
  • Pinout Description
  • The Witty Fox ESP32 Storm Board features a comprehensive set of pins that enable users to connect various peripherals, sensors, and devices. Below is a detailed explanation of each pin, organized in a point-by-point structure for easy reference.
  • Power Pins
  • VIN (1): Input voltage pin, which can accept a voltage range of 5V to 24V. This pin is used to power the board.
  • VUSB (2): USB input voltage pin, which is connected to the onboard USB-to-UART bridge.
  • 3V3 (3): 3.3V power output pin, regulated by the onboard voltage regulator.
  • GND (4, 13, 26, 39): Ground pins, providing a common reference point for all circuits.
  • Microcontroller Pins
  • D0 (5): GPIO0 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D1 (6): GPIO1 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D2 (7): GPIO2 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D3 (8): GPIO3 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D4 (9): GPIO4 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D5 (10): GPIO5 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D6 (11): GPIO6 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D7 (12): GPIO7 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D8 (14): GPIO8 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D9 (15): GPIO9 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D10 (16): GPIO10 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D11 (17): GPIO11 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D12 (18): GPIO12 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • D13 (19): GPIO13 pin, used for various purposes such as I2C, SPI, UART, or as a general-purpose I/O pin.
  • Analog Pins
  • A0 (20): Analog input pin, allowing for voltage measurements between 0V and 3.3V.
  • A1 (21): Analog input pin, allowing for voltage measurements between 0V and 3.3V.
  • A2 (22): Analog input pin, allowing for voltage measurements between 0V and 3.3V.
  • A3 (23): Analog input pin, allowing for voltage measurements between 0V and 3.3V.
  • Communication Pins
  • RX (25): UART receive pin, used for serial communication.
  • TX (27): UART transmit pin, used for serial communication.
  • SCL (28): I2C clock pin, used for I2C communication.
  • SDA (29): I2C data pin, used for I2C communication.
  • SCK (30): SPI clock pin, used for SPI communication.
  • MOSI (31): SPI master out slave in pin, used for SPI communication.
  • MISO (32): SPI master in slave out pin, used for SPI communication.
  • SS (33): SPI slave select pin, used for SPI communication.
  • Battery and Charging Pins
  • BAT (34): Li-ion battery pin, connected to the onboard battery.
  • CHG (35): Battery charging pin, used for charging the onboard Li-ion battery.
  • Miscellaneous Pins
  • EN (36): Enable pin, used to control the power switch of the onboard voltage regulator.
  • RST (37): Reset pin, used to reset the ESP32 microcontroller.
  • BOOT (38): Boot mode pin, used to select the boot mode of the ESP32 microcontroller.
  • Please note that the pinout diagram may vary depending on the specific revision of the Witty Fox ESP32 Storm Board. It is essential to consult the manufacturer's documentation or the board's silk screen printing for accurate pin information.

Code Examples

Witty Fox - ESP32 Storm Board Documentation
Overview
The Witty Fox - ESP32 Storm Board is a versatile IoT development board designed for prototyping and production projects. It features an ESP32 microcontroller, a rechargeable Li-ion battery, and supports wireless programming. This board is ideal for projects that require Wi-Fi and Bluetooth connectivity, low power consumption, and compact size.
Specifications
Microcontroller: ESP32 Dual-Core 32-bit LX6 Microprocessor
 On-board Li-ion Battery: 350mAh, rechargeable via USB-C port
 Wireless Programming: Supports Over-the-Air (OTA) updates via Wi-Fi
 Connectivity: Wi-Fi, Bluetooth 4.2, BLE
 I/O Pins: 22 GPIO, 2 x I2C, 2 x I2S, 3 x UART, 1 x SPI, 1 x SD Card slot
 Operating Voltage: 3.3V
 Dimensions: 55 x 25 x 15 mm
Code Examples
### Example 1: Wi-Fi Connectivity and HTTP Request
This example demonstrates how to connect the Witty Fox - ESP32 Storm Board to a Wi-Fi network and send an HTTP request to a server.
```c
#include <WiFi.h>
#include <HTTPClient.h>
const char ssid = "your_wifi_ssid";
const char password = "your_wifi_password";
const char serverURL = "http://example.com/data";
WiFiClient wifiClient;
HTTPClient http;
void setup() {
  Serial.begin(115200);
// Connect to Wi-Fi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
Serial.println("Connected to WiFi");
  Serial.println("Initializing HTTP Client...");
}
void loop() {
  http.begin(wifiClient, serverURL);
int httpResponseCode = http.GET();
if (httpResponseCode > 0) {
    Serial.println("HTTP Response Code: " + String(httpResponseCode));
    String response = http.getString();
    Serial.println("Response: " + response);
  } else {
    Serial.println("Error sending HTTP request");
  }
http.end();
  delay(10000);
}
```
### Example 2: Bluetooth Low Energy (BLE) Peripheral
This example demonstrates how to use the Witty Fox - ESP32 Storm Board as a BLE peripheral, advertising a custom service and characteristic.
```c
#include <BLE.h>
// Create a BLE service and characteristic
BLEService service("180F"); // Custom service UUID
BLECharacteristic characteristic("2A19", BLECharacteristic::PROPERTY_NOTIFY); // Custom characteristic UUID
void setup() {
  Serial.begin(115200);
// Initialize BLE
  BLE.begin();
// Set device name and appearance
  BLE.setDeviceName("Witty Fox ESP32");
  BLE.setAppearance(0x0080); // Generic Computer
// Add service and characteristic
  BLE.addService(service);
  service.addCharacteristic(characteristic);
// Start advertising
  BLE.advertise();
  Serial.println("BLE advertising started...");
}
void loop() {
  // Wait for a BLE central to connect
  BLECentral central = BLE.central();
if (central) {
    Serial.println("BLE central connected");
// Send data to the connected central
    characteristic.setValue("Hello from Witty Fox ESP32!");
    BLE.notify(characteristic);
while (central.connected()) {
      delay(100);
    }
Serial.println("BLE central disconnected");
  }
}
```
Note: These examples are for demonstration purposes only and may require modifications to suit your specific project requirements. Make sure to check the official documentation for the ESP32 Arduino core and the Witty Fox - ESP32 Storm Board for more information on using the board.