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

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

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

Introduction

The Adafruit HalloWing is a versatile, Halloween-themed development board that is perfect for creating interactive projects and wearables. Based on the powerful ATSAMD21 microcontroller, it features a 1.44-inch color TFT display, user interface buttons, and a suite of onboard sensors. The HalloWing is designed to be easy to use for both beginners and experienced makers, with plenty of opportunities for customization and creativity.

Explore Projects Built with Adafruit HalloWing

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 UNO and OLED FeatherWing Display: Battery-Powered Hello World Project
Image of ARDUINO_SSD1306: A project utilizing Adafruit HalloWing in a practical application
This circuit consists of an Arduino UNO connected to an Adafruit OLED FeatherWing display via I2C communication (SDA and SCL lines). The Arduino is powered through a Vcc source and provides 3.3V and GND connections to the OLED display. The Arduino runs a program to display 'Hello, World!' on the OLED screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Vibration Feedback System with Quad Alphanumeric Display and ADXL343 Accelerometer
Image of EC444 - Quest 3: A project utilizing Adafruit HalloWing in a practical application
This circuit features an Adafruit HUZZAH32 ESP32 Feather board as the central microcontroller, which is connected to an Adafruit Quad AlphaNumeric Featherwing display and an Adafruit ADXL343 accelerometer via I2C communication (SCL and SDA lines). The ESP32 controls a vibration motor connected to one of its GPIO pins (A5_IO4) and shares a common power supply (3.3V) and ground (GND) with the other components. The purpose of this circuit is likely to read acceleration data, display information on the alphanumeric display, and provide haptic feedback through the vibration motor.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-WROOM-32UE Wi-Fi Controlled Robotic Car with OLED Display and RGB LED
Image of mkrl bot: A project utilizing Adafruit HalloWing in a practical application
This circuit is a WiFi-controlled robotic system powered by an ESP32 microcontroller. It features an OLED display for status messages, an RGB LED for visual feedback, and dual hobby gearmotors driven by an L9110 motor driver for movement. The system is powered by a 4 x AAA battery pack regulated to 5V using a 7805 voltage regulator.
Cirkit Designer LogoOpen Project in Cirkit Designer
Raspberry Pi Pico W-Based Smart Home Automation System with Motion Detection and Environmental Monitoring
Image of Smart Home Automation 1: A project utilizing Adafruit HalloWing in a practical application
This circuit features a Raspberry Pi Pico W microcontroller connected to various sensors and actuators, including a DHT11 temperature and humidity sensor, an RCWL-0516 microwave radar motion sensor, a photocell (LDR) with a resistor for light detection, and a two-channel relay controlling a bulb and a fan. The microcontroller runs code to monitor environmental conditions and motion, displaying information on an LCD and allowing remote control via MQTT messages over Wi-Fi. It supports both automatic sensor-based operation and remote app control, with pushbuttons to switch between modes.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit HalloWing

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 ARDUINO_SSD1306: A project utilizing Adafruit HalloWing in a practical application
Arduino UNO and OLED FeatherWing Display: Battery-Powered Hello World Project
This circuit consists of an Arduino UNO connected to an Adafruit OLED FeatherWing display via I2C communication (SDA and SCL lines). The Arduino is powered through a Vcc source and provides 3.3V and GND connections to the OLED display. The Arduino runs a program to display 'Hello, World!' on the OLED screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of EC444 - Quest 3: A project utilizing Adafruit HalloWing in a practical application
ESP32-Based Vibration Feedback System with Quad Alphanumeric Display and ADXL343 Accelerometer
This circuit features an Adafruit HUZZAH32 ESP32 Feather board as the central microcontroller, which is connected to an Adafruit Quad AlphaNumeric Featherwing display and an Adafruit ADXL343 accelerometer via I2C communication (SCL and SDA lines). The ESP32 controls a vibration motor connected to one of its GPIO pins (A5_IO4) and shares a common power supply (3.3V) and ground (GND) with the other components. The purpose of this circuit is likely to read acceleration data, display information on the alphanumeric display, and provide haptic feedback through the vibration motor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of mkrl bot: A project utilizing Adafruit HalloWing in a practical application
ESP32-WROOM-32UE Wi-Fi Controlled Robotic Car with OLED Display and RGB LED
This circuit is a WiFi-controlled robotic system powered by an ESP32 microcontroller. It features an OLED display for status messages, an RGB LED for visual feedback, and dual hobby gearmotors driven by an L9110 motor driver for movement. The system is powered by a 4 x AAA battery pack regulated to 5V using a 7805 voltage regulator.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Smart Home Automation 1: A project utilizing Adafruit HalloWing in a practical application
Raspberry Pi Pico W-Based Smart Home Automation System with Motion Detection and Environmental Monitoring
This circuit features a Raspberry Pi Pico W microcontroller connected to various sensors and actuators, including a DHT11 temperature and humidity sensor, an RCWL-0516 microwave radar motion sensor, a photocell (LDR) with a resistor for light detection, and a two-channel relay controlling a bulb and a fan. The microcontroller runs code to monitor environmental conditions and motion, displaying information on an LCD and allowing remote control via MQTT messages over Wi-Fi. It supports both automatic sensor-based operation and remote app control, with pushbuttons to switch between modes.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Interactive Halloween costumes
  • Spooky decorations with sound and light effects
  • Wearable electronics with sensor feedback
  • Educational projects for teaching programming and electronics

Technical Specifications

Key Technical Details

  • Microcontroller: ATSAMD21G18 ARM Cortex M0
  • Display: 1.44" 128x128 color TFT
  • Sensors: Light sensor, temperature sensor, and accelerometer
  • Sound: Mini speaker with class D amplifier
  • Input: 2 x user buttons, 1 x reset button
  • Connectivity: JST connectors for NeoPixel and sensor input
  • Programming: Via USB or JTAG
  • Storage: 8 MB SPI Flash memory
  • Power: USB or battery with JST PH 2-pin connector

Pin Configuration and Descriptions

Pin # Function Description
1 VBAT Battery input for an optional LiPo battery
2 EN Enable pin, can be used to turn off the board
3 GND Ground
4 USB USB connection for programming and power
5 NeoPixel Output to chainable NeoPixel LEDs
6 Light Sensor Analog light sensor input
7 A0-D2 General purpose I/O pin
8 SDA I2C data line
9 SCL I2C clock line
10 TX UART transmit
11 RX UART receive
12 Button 1 User interface button
13 Button 2 User interface button

Usage Instructions

How to Use the Component in a Circuit

  1. Powering the HalloWing: Connect the board to a power source via the USB port or attach a LiPo battery to the VBAT pin.
  2. Programming the HalloWing: Use the USB connection to program the board with the Arduino IDE or CircuitPython.
  3. Connecting Sensors and Peripherals: Utilize the I2C pins (SDA and SCL) to connect compatible sensors. The NeoPixel pin can be used to connect NeoPixel LEDs for additional lighting effects.
  4. Interacting with the Display: Use the provided libraries to draw text, shapes, and images on the TFT display.
  5. Using the Buttons: Program the buttons to trigger events or control elements in your project.

Important Considerations and Best Practices

  • Always ensure the power source does not exceed the recommended voltage.
  • When soldering, be cautious not to overheat the board or components.
  • Use anti-static precautions to avoid damaging the microcontroller and sensors.
  • Keep the firmware updated to the latest version for optimal performance and security.

Troubleshooting and FAQs

Common Issues Users Might Face

  • Display not working: Ensure that the display ribbon cable is properly seated and that the correct libraries are installed.
  • Board not recognized by computer: Check the USB cable and port, and ensure that the correct drivers are installed.
  • Inaccurate sensor readings: Calibrate the sensors according to the datasheet and ensure there is no physical obstruction.

Solutions and Tips for Troubleshooting

  • Reset the board: Use the reset button to reboot the HalloWing if it becomes unresponsive.
  • Update libraries: Make sure all relevant libraries are up to date in the Arduino IDE or CircuitPython environment.
  • Check solder joints: Inspect all solder connections for cold joints or shorts.

Example Code for Arduino UNO

#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library for ST7735
#include <SPI.h>

// Pin configuration for the HalloWing connected to an Arduino UNO
#define TFT_CS     10
#define TFT_RST    9
#define TFT_DC     8

// Initialize the display
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

void setup() {
  tft.initR(INITR_144GREENTAB); // Initialize display with the correct init code
  tft.fillScreen(ST7735_BLACK);  // Clear the screen to black
}

void loop() {
  tft.setCursor(0, 0);           // Set the cursor at the top-left corner
  tft.setTextColor(ST7735_WHITE); // Set the text color to white
  tft.setTextWrap(true);          // Allow text to wrap after 80 characters
  tft.print("Happy Halloween!");  // Print a message to the screen
  delay(2000);                    // Wait for 2 seconds
  tft.fillScreen(ST7735_BLACK);   // Clear the screen
  delay(500);                     // Wait for half a second
}

Remember to wrap the code comments as needed to limit line length to 80 characters. This example demonstrates how to initialize the display and print a simple message. Adjust the pin configuration to match your setup if you're not using the default pins.

For more detailed information, refer to the Adafruit HalloWing guide and datasheets available on the Adafruit website.