Your board may say "A1 Lite" for the light sensor - A7 is correct!

We put a ton of stuff on this HalloWing M4, above you can see a 'guided tour' of whats available!

Power Pins and Ports

There's two ways to power your Hallowing. The best way is to plug in a 3.7/4.2V Lipoly battery into the JST 2-PH port. You can then recharge the battery over the Micro USB jack. You can also just run the board directly from Micro USB, it will automatically 'switch over' to USB power when that's plugged in

The Hallowing JST battery port is expecting a LiPo with the 'standard' Adafruit polarity wiring. Using other battery packs with opposite wiring or voltages may destroy your Hallowing!
Slim Lithium Ion Polymer Battery 3.7v 400mAh with JST 2-PH connector and short cable
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This...
Out of Stock

You can turn off power completely with the on/off switch at the bottom of the board.

If you need access to the power pins, the 'Feather Headers' have 3.3V regulated out, GND on the left. On the right there's the BAT pin (connects directly to lipoly) and two pins below that is the USB pin. You can measure the voltage on the battery by reading analog pin A6 - this is divided by two with resistors so don't forget to x2 once you do the reading. The voltage, after doubling, will range from about 3.5 (empty) to 4.2V (charged)

Microcontroller and Flash

The main processor is the ATSAMD51G18 running at 120MHz with 3.3V logic/power. It has 512KB of flash and 192KB of RAM. It can run Arduino or CircuitPython.

We also include 8 MB of SPI Flash for storing images, sounds, animations, whatever!


There's a few built in sensors.

On the top there's a light sensor, connected to pin A7 - it's reverse mounted so you can read light levels from the front.

There's also a MSA301 3-axis accelerometer connected to the I2C pins for detection motion, tilt or taps

On the bottom of the board are four pads designed for capacitive touch. They are connected to A2, A3, A4 and A5.

On the right is a SENSE port, this is a JST 3-PH port for connecting an external sensor. From the top to bottom the pads are GND, V+, D2 (in Arduino this is also A8). V+ is either LiPoly or USB power, whchever is plugged in and higher. There's a 1 Kohm+3.6V zener diode connection to protect against voltages higher than 3.3V coming in.

The pin for the light sensor is A7 even though your board may have "A1 Lite" printed next to the light sensor.

External NeoPixel Connector

On the left is the EXTERNAL NEOPIXEL port, this is a JST 3-PH port for connecting external NeoPixel strips. From top to bottom, the pads are D3, V+, GND (in Arduino this is also A9).

I2C Connector

There is a 4-pin JST I2C connector on the right, that is STEMMA and Grove compatible. The I2C has pullups to 3.3V power and is connected to the MSA301 already.

In CircuitPython, you can use the STEMMA connector with board.SCL and board.SDA, or board.STEMMA_I2C().

The I2C connector defaults to 5V. There is a jumper you can cut or solder to change it between 5V and 3V. It also changes the STEMMA 3-pin connector power pin voltage!


There is a speaker connector with a mono 2 Watt class D audio amp connected to A0 - that's the DAC output on the SAMD51,. It is good for many simple sound effects or musical output.

The speaker connector is a Molex PicoBlade

In CircuitPython, to use the speaker, you must enable the speaker with the board.SPEAKER_ENABLE pin. To do so, include the following two lines in your code:

speaker_enable = digitalio.DigitalInOut(board.SPEAKER_ENABLE)


There are six LEDs. There is the red LED on pin D13 (top to the right of the USB connector), and the CHG LED that will let you know when the battery is charging (top to the left of the USB connector)

Located on the sides and towards the bottom are four side light NeoPixels on D8 (in Arduino) or board.NEOPIXEL (in CircuitPython). Check out the image at the top of this page to see what order they're numbered!

It's normal for the yellow CHG LED to flicker when no battery is in place, that's the charge circuitry trying to detect whether a battery is there or not. If you are powering only over USB, you can cover it with tape

The charge LED is automatically driven by the Lipoly charger circuit. It will try to detect a battery and is expecting one to be attached. If there isn't one it may flicker once in a while when you use power because it's trying to charge a (non-existant) battery. It's not harmful, and its totally normal!


On the front is a 1.54" sized 240x240 full color IPS TFT. Compared to the HalloWing M0's 1.44" 128x128, this has 4x as many pixels and is IPS for great color and brightness.

This guide was first published on Sep 19, 2019. It was last updated on Jun 19, 2024.

This page (Pinouts) was last updated on Mar 08, 2024.

Text editor powered by tinymce.