In this project we'll build the iconic SpaceX helmet! This helmet features an articulating top half that allows the wearer to lift the visor up.

NeoPixel LEDs illuminate the face with motion activated animations!

We can customize motions to change different colors, animations or even play sounds!

This large helmet is 3d printed in several pieces and assembled to complete the perfect astronaut costume!

The model includes a buck to vacuum form the visor or 3d print a voronoi pattern visor, perfect for warm environments!   

Powered by the Circuit Playground Express, program animations may be changed quickly with motion gestures, sound effects and more with all the built in sensors!

Use CircuitPython, Makecode or even Arduino to easily update your own SpaceX helmet!

Easy to reach USB ports and a Slide Switch allow you to recharge the battery or reprogram the Circuit Playground Express.



A Black woman's manicured hand holds a round microcontroller with lit up LEDs.
Circuit Playground Express is the next step towards a perfect introduction to electronics and programming. We've taken the original Circuit Playground Classic and...
In Stock
Adafruit NeoPixel Digital RGB LED Strip fading in and out various colors.
So thin. So mini. So teeeeeeny-tiny. It's the 'skinny' version of our classic NeoPixel strips!These NeoPixel strips have 30 digitally-addressable pixel...
In Stock
10 wire Silicone Cover Stranded-Core Ribbon Cable
For those who are fans of our silicone-covered wires, but are always looking to up their wiring game. We now have Silicone Cover Ribbon cables! These may look...
In Stock
Lithium Ion Polymer Battery 3.7v 1200mAh with JST 2-PH connector
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
USB cable - USB A to Micro-B - 3 foot long
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or...
Out of Stock

The wiring diagram below provides a visual reference for connecting the components. It is not true to scale, it is just meant to be used as reference. This diagrams was created using the Fritzing software package.

Take a moment to review the components in the circuit diagram. This illustration is meant for referencing wired connections - the length of wire, position and size of components are not exact.

We measured and cut wires to have enough slack to reach each component.

We used silicone ribbon wire to make them easier to coil and manage wire bundles inside the tight spacing. The wire lengths used are listed below:

USB Extension CPX: 35mm

USB Extension lipo charger: 45mm

JST Extension: 120mm

Neopixel Wire: 310mm

Neopixel elbow: 40mm

Slide Switch: 70mm

NeoPixel Strips: Chin: 480mm
Forehead: 370mm

MakeCode for Circuit Playground Express

MakeCode is this programming editor that runs in the Google Chrome web browser. It’s has an intuitive interface that’s both block based and Javascript editor.

It works with Adafruit's Circuit Playground Express so you can make interactive projects with the on-board sensors and components. You can drag & drop blocks to make interactive programs using lights and sounds without having to solder or learning a new syntax.

You can alternatively upload code directly to the Circuit Playground Express with WebUSB, see the steps to do so here.

Setup Circuit Playground Express for MakeCode

To get started, we'll need to head over to the Adafruit MakeCode website and follow the steps below.

  1. Plug in your Circuit Playground Express with a known good data + power USB Cable
  2. Press the RESET button. Green light means you're ready to MakeCode
  3. Download the UF2 file and drop it onto the flash drive named CPLAYBOOT which shows up after pressing Reset once or twice in fast succession.

Upload and Test Code

Once you have your CPX setup with the MakeCode UF2, try testing it out by uploading the code to the board.

Click the link below to open up the program in MakeCode. Click on the pink edit icon near the top of the title to open the code.

This will create a project in MakeCode and allow you to edit, modify and upload the code to the board.

The parts in this kit are designed to be 3D printed with FDM based machines. STL files are oriented to print "as is". Parts require tight tolerances that might need adjustment of slice settings. Reference the suggested settings below.

CAD Files

The parts can further be separated into small pieces for fitting on printers with smaller build volumes. Note: a STEP file is included for other 3D surface modeling programs such as Onshape, Solidworks and Rhino.

Share, Make, Remix

This SpaceX Helmet was originally designed by Nathan O – The files are open to remix and they feature nice details. The parts have been modified to fit all of the electronics and available to download!


Use these settings as reference. Values listed were used in Cura slicing software.

  • 0.2mm Layer Height / 0.4mm nozzle
  • 0.38mm Line Width (inner & outer widths)
  • 60mm/s printing speed
  • 10% infill
  • Supports: Yes
  • Brim: 7mm


The parts are printed so they lay flush when assembled together. We used a 7mm brim to ensure the parts are as flat as they can be to better align the two halves.  Use flush cutters to help remove the brim.


Next use a deburring tool or a hobby knife to clean up and smooth out the sharp edges.

PanaVise Holder

To keep the parts steady and leveled, I used a PanaVise Jr. to help hold the parts while applying glue.

Super Glue the Edges

Apply a generous amount of super glue to the edges and then carefully align the ends. We used StarBound Medium Dry super glue with a narrow tip to precisely add to the edges that meet together. Apply pressure to help parts adhere.

Hot Glue

Allow the super glue to dry. Next reinforce parts by adding hot glue to the inside of the blade sections. Apply a small amount of hot glue to each section of the screws holes and allow it to dry.

You can also speed up dry times by spraying each section with an Air Duster. This technique is used extensively later in the build. 

NeoPixel Strip

First I started out by measuring the NeoPixel strips to fit the chin and forehead area around the helmet.

I measured the chin at: 480mm

The forehead measured in at: 370mm

Our NeoPixel Strip will connect to the Circuit Playground Express with a wire 310mm long.

To connect the two strips, I measured a ribbon cable 40mm long to shape around the helmet.

USB Extensions

The Circuit Playground Express will require USB extension cables so we can easily connect to it. I built these with the 10 wire silicone coated ribbon cables to make the wire bundle easy to manage.  

I measured the USB wires 45mm long to have enough length to reach the outside of the helmet.

Solder NeoPixel Strip

To keep the connections small, I chose to solder the LED strips directly to the pads. I applied a small amount of solder to the pads and then soldered each wire the one side of the pads on the Circuit Playground Express. 

Mount Boards and Strips

I dry fitted the boards inside the outer shell to verify that all the wires are the correct length. I chose to place the Circuit Playground Express at the center of the helmet with the slide switch over to one side.  

I used a drop of hot glue to secure the boards to the outer shell.   

Glue USB and Slide Switch

Position the USB jack and slide switch close to the edge of the forehead. I measured the distance by making sure my USB cables could reach when plugged in. 

Use a small drop of glue to adhere the USB and switch to the lining of the helmet.

LiPo Pocket

The battery can mount via a printed pocket, right next to the Circuit Playground Express. I positioned the pocket so the battery can insert closer to the JST port.

Mount Strips

After the glue is allowed to dry, you can mount the NeoPixel Strip over the helmets lining. If you haven't already, remove the silicone cover as the hot glue can't bind to silicone.


Attach Visor

The visor mounts from the inside of the inner shell. Position the visor so the LEDs aren't covered. I carefully added drops of hot glue on each corner and center of the visor were the linear and visor touch. 

Connect Hinge

Almost there! Verify the visor is adhered in place. Place the outer shell over the inner shell. Insert one of the nubs on the inner shell into the circular holder on the outer shell. Then move the outer shell to the closed position, this will make it easier to snap the second nub into place.

Test that the hinge can move freely. There might be some hot glue that can be trimmed away to make the top shell easier to close.


Now time for fitting. I used weather strips to add padding to the inner shell. Cut pieces for the tops and sides and then move them around until they center the helmet around your face. 

Use hot glue to adhere the pads after finding a good fit around your head.


To complete the look pair with a space suit! 

This guide was first published on Aug 20, 2019. It was last updated on Aug 20, 2019.