Real names tell you the story of things they belong to in my language, in the Old Entish as you might say. It is a lovely language, but it takes a very long time saying anything in it, because we do not say anything in it, unless it is worth taking a long time to say, and to listen to.

                                                            - Treebeard the Ent

JRR Tolkien

Your best projects are certainly worth taking a very long time to build. Luckily, the genius programmers at Adafruit have taken the time to create and build the amazing Monster M4sk -- a plug-and-play TFT display "mask" that makes bringing life to your props and creatures incredibly easy.

Power it with a USB cable or battery and upload custom graphics with drag-and-drop. In just minutes, your project will wake up, blink a few times, and proceed to delight and astonish anyone who encounters it.

This tutorial goes into detail about the Monster M4sk setup process, and gives a lot of info about how I built the tree to house it. It's not a step-by-step tree-build tutorial, but it will definitely give you the tools and a road map of how to create your own tree or monster or movie prop using expanding foam and a few simple hand tools.

If you love trees, and you think there should be more of them, check out All donations go directly to planting millions of trees to repopulate our planet. This is a cause worth fighting for! Before you embark on building your fake tree, let these guys help out with a few new baby real ones.

Adafruit Products Needed

MONSTER M4SK DIY Electronic Face mask.  Two Screens Display Eyes that blink and dart up and down.
Peep dis! Have you always wanted to have another pair of eyes on the back of your head? Or outfit your costume with big beautiful orbs? The MONSTER M4SK
Out of Stock
PIR (motion) sensor with a cable around it.
PIR sensors are used to detect motion from pets/humanoids from about 20 feet away (possibly works on zombies, not guaranteed). This one has an adjustable delay before firing (approx...
Out of Stock
Angled shot of STEMMA JST PH 3-Pin to Male Header Cable - 200mm.
This cable will let you turn a JST PH 3-pin cable port into 3 individual wires with high-quality 0.1" male header plugs on the end. We're carrying these to match up with our...
In Stock
Fully Reversible Pink/Purple USB A to micro B Cable
This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also fully reversible! That's right, you will save seconds a day by...
In Stock
Angled shot of a High-strength 'rare earth' magnet.
Yow! These things are super powerful. 1/2" diameter, 3/16" thick discs, south side is marked with a red line. Great for use with your SpokePOV Kit. If you have an aluminium...
In Stock

Materials for Building the Foam Tree

Hardware Store

  • "Great Stuff" brand expanding foam
  • Large diameter (8"-10") cardboard tubes
  • Pool noodles or foam pipe insulation
  • 16-18ga wire
  • Latex paint in brown, black, and light grey
  • Zip ties
  • Fishing Line & eye bolts for attaching branches to the ceiling

Craft store / Online

  • Silk leaves on wire stems
  • Moss & lichen for surface decoration

Tools Needed for Building the Foam Tree

  • Keyhole saw or other rough-toothed saw blade
  • Latex gloves & plastic sheeting
  • Spray bottle for water
  • Drill
  • Large paint brushes

The sensor will connect to port D3, on the lower right as you look at the back of the Monster M4sk.

Your 3-pin JST connector will connect to the sensor as follows:

  • G --> G (black wire to black wire)
  • +5V --> +5V (red wire to red wire)
  • IN --> OUT (white wire to yellow wire)

For power, you can use either the USB port or the JST battery port (just above D3).

Extra Features

If your project has a larger scale, or eyes that are further apart (like, on an animal head) you can disconnect the two halves of the Monster M4sk at the nose bridge and reconnect them with another 3-pin JST connector. 

More about this process can be found in the FIzzgig Eyes guide here.

If you want round, bulgy eyes, we also sell lenses that can make the eyes seem to "pop out" at the viewer. More about that here!

The Monster M4sk comes installed with CircuitPython and eyes already loaded. We'll add the Tree Ent eyes and code. Start by downloading the two code packages below.

The file contains all the image files you'll need, and MASK_PIR.UF2 contains all the fancy eye movement code and sensor code.

Double-click the reset button on the bottom of the Monster M4sk. Your CIRCUITPY drive will change to read MONSTERM4SKBOOT.

Drag MASK_PIR.UF2 onto this drive. Once it's done copying, the Monster M4sk will reboot and the drive will change back to CIRCUITPY

Plug your Monster M4sk into your computer via the USB port. Please use a known-good USB cable with data + power wires.

A new flash drive will appear titled CIRCUITPY.

Unzip into a folder called tree and copy it to the CIRCUITPY drive.

Next, take a look at the contents of CIRCUITPY. You should see the tree folder you just copied over. Open that folder and look for config.eye

Delete the version of config.eye that's pre-loaded at the root of CIRCUITPY. Drag the config.eye from the tree folder to the root, replacing the original file.

Press the reset button on the back of the Monster M4sk and take a look at the eyes. If you don't have your sensor plugged in yet, you'll see just a quick "wink" and the eyes will disappear. This is normal -- they are waiting for sensor data to "wake up," but the quick wink is enough to confirm that your eye graphics are indeed showing.

That's it, all the code is installed. If you want more info about how this all works behind the scenes, check out the Monster M4sk guide for all the details.


If your Monster M4sk isn't showing up as a CIRCUITPY drive, or if you're having any trouble installing graphics, head over to the main MonsterM4sk Guide - Quick Start for more detailed instructions. 

It's not hard to reload the Monster M4sk to factory settings, from whence you can begin again with more success.

The PIR sensor comes with a 3-pin connector with bare wires at one end. We'll need to do just a little soldering to create a connector that will plug into the MonsterM4sk.

Find your 3-pin JST connector and cut it in half, so you have bare wires on one end.

Slip on some heat shrink and solder the 3 wires to the sensor connector:

  • Black to Black (G to G)
  • Red to Red (5V+ to 5V+)
  • Yellow to White (OUT to IN)

You're done! That was easy. Plug the sensor into port D3 (on the right as you look at the back of the Monster M4sk). 

Once you've got your software loaded and the sensor plugged in, you can adjust the "sleep" delay using the screws on the back of the sensor.

Turn them counter-clockwise as far as they will go. Wave your hand in front of the sensor and the eyes will come on. Hold still and they will slowly close after just a few seconds.

Use a screwdriver to turn them clockwise until the "awake" time of the eyes is right for your project. They're pretty sensitive so just turn them a little bit and test until you get it just perfect.


My tree has a cardboard tube "skeleton" for the trunk, made from concrete form tubes. The large branches are made from cardboard mailing tubes, and the smaller branches are made from foam pipe insulation and pool noodles with a length of 18g wire inside to give the branches shape and structure. 

The bark is made from Great Stuff brand expanding foam, sculpted with a saw and finished with three different colors of latex house paint. 

The whole thing probably weighs around 10-15 lbs -- it's incredibly light. The branches are suspended by 25 lb fishing line threaded through eye bolts in the ceiling. 

The trunk is supported by a wall. For this project I wanted the tree to appear to be growing up inside the wall and ceiling, so it's basically a half-tree, open on the side that's touching the wall. For free standing trees, you'd want to build a solid support system inside, but for a tree that's leaning on the wall, just a couple screws are sufficient to hold it up since it's really really light.


I don't have kids or dogs, so I'm not super concerned about the durability of this tree. The surface is spongy but solid -- the latex paint keeps it from crumbling and gives it a nice touchable texture. If you're making yours for a playground environment or a kid's room, you'll likely want to add some hardeners to your paint or use different materials so it can be climbed or poked or grabbed with grubby fingers or chewed on without damage. 

There are products such as Hard Coat that you can add to latex paint to give it a hard, durable surface. I haven't tried this myself so can't vouch for how well it works in this application, but if you're making this tree for a kid's room it's worth a little research and trial-and-error to create something that will last for years.

Planning & Layout

What Kind of Tree?

Spend some time outside, walking around your town. Find your favorite trees. Touch their trunks. Sit under them for a time. Fall asleep listening to the rustle of their branches. Say hello and learn their names. The trees are alive and aware, and will answer any questions you have, if you take the time to listen. Do this until you know how to proceed. It shouldn't take long.

My yard is full of oak trees, so it felt right for me to create something as close to an oak as I could. It was easy to know I was on the right track since I had examples right outside my window, and now that it's finished, it feels natural and "right," part of the landscape. It resonates and connects the inside of my house to the outside.

I've confused all the neighborhood birds, who are continually trying to fly through the window and make their nests in this very appealing new tree. I'm not sure whether this upsets me or delights me.


Choose the best spot for your tree. I took a picture of my preferred corner and used my iPad's markup tools to do a few sketches for how I envisioned my tree to lay out. I didn't plan too tightly, I just needed a general idea of what trunk diameter I wanted and where the main branches would go. 

I didn't want to block the upper windows too much so planned on an 8-10" trunk -- which works out perfectly with the size of the concrete form tubes available at my local hardware store. My ceiling is 12' high, so three 4' tubes stacked on top of each other filled the space perfectly.

Decide early where your Tree Ent's face will go. I wanted mine at eye level for adults, too high for children's poking fingers to reach. 

Also remember you'll want a power outlet near the base of your tree.

Interior Structure

I went to my local Home Depot and got three 4' cardboard concrete form tubes -- one 8", one about 9" and one about 10" in diameter. (They're sold in 6", 8", and 10" sizes but in reality none of them seem to be exact, so it was easy to find three that telescoped nicely inside each other.)

I used a jig saw to cut out about 1/3 of each tube to create a flat side that would go against the wall. This allowed me to bend the cardboard so it would transition smoothly between pieces. I lined the three pieces up, drilled holes, and secured the sections together with zip ties.

I also added a couple shorter cut-off branches using the discarded parts of the cardboard tube to give the tree some interest.

Larger Branches

I made the largest branches out of cardboard mailing tubes. To shape them, I cut a wedge of cardboard out to allow for a slight bend, then used duct tape to get the branch to hold its shape. This creates a very solid and supportive branch with some good stiffness to it.

Smaller Branches

I used foam pipe insulation in varying sizes to create the smaller branches. I cut a piece of 18ga wire a few inches longer than the foam, then slid the wire inside the foam insulation and gave it a few random bends in 3 dimensions to mimic the wiggly oak branches on my trees outside. 

Cover with Expanding Foam

Lay down some plastic garbage bags or drop cloth on your surface and floor first! Expanding foam is very messy and sticks to almost everything. I ruined at least three tops and four pairs of yoga pants during this phase.

I used the least expensive "Gaps & Cracks" type of foam, which worked great. A couple tips for using this stuff:

  • Wear gloves and protective clothing! This stuff gets everywhere and Does Not Come Off.
  • It comes out sticky and soft, and sets up in around 45 minutes. Misting it with water shortens the surface setting time to around 20 minutes, so have a spray bottle handy to speed up your process.
  • The foam will slowly expand to about 2x its size after you spray it, so lay your lines close together so they "grow" towards each other.
  • It's best to use up the whole can once you've opened it. The little sealer valve doesn't quite live up to it's job. If you want to try and save the rest for later, cover the tip of the straw with duct tape so no air can flow in/out.

Spray the foam lengthwise in long strokes along the branches. It doesn't look much like bark yet, but don't worry. I found it was easiest to do this in two steps, covering the top of the tube and letting the foam set up, then flipping it over and doing the other side. This doesn't have to be perfect -- in fact, the messier it is, the more realistic it looks in the end. Nature is messy.

I used the same method for the trunk. I also added two branch collar sections, to imply that branches had been flush cut earlier in the life of the tree. This is a fancy way of saying I made a couple big circles on the side of the trunk with the foam.

I did not add any foam for the Ent face just yet -- I found it was easier to do that after the next step of carving down the foam.


Let the foam fully set up overnight so it's firm when you press on it and not squishy.

Please wear safety glasses while doing any cutting or other work to protect your eyes! Wear a mask when working around anything creating dust.

Wear safety glasses and a mask during this portion. You don't want to breathe this stuff and it gets crumbly and messy!

Take a rough-toothed saw -- I used a keyhole saw, but a wood saw or even a sharp bread knife would work as well -- and saw along the length of the branches and trunk, cutting off about half the foam. Change the angle of your saw frequently. You don't need to be too exact here either, but cut off all the rounded "cartoony" bits of the foam. Underneath the surface you'll find a delightful bark-like texture.

Ent Face

Once the trunk is fully carved, it's time to decide exactly where you'd like the Ent face. Place your Monster M4sk on the tree until the placement feels right and the tree tells you YES. Mark where the eyes go, then use your keyhole saw to cut through the foam and cardboard to make holes that are just right for the eyes.

To compensate for the curvature of the trunk, I used a dremel to carve out notches on the inside so that the eyes can sit closer to the trunk.

Add more expanding foam around your eye holes and carve your face with the keyhole saw. You can always add more foam if you take off too much.

Here is my Pinterest board for inspiration! I started out envisioning mustaches and eyebrows and lots of detail, but ended with something rough and wild and more suggestive than representative. I am not a sculptor, but I'm happy with my results anyway.


I used 3 colors of latex house paint to color and seal the foam: 

  • Onyx Black
  • Chocolate Brown
  • Light Grey

Experiment on a small branch first to be sure you've got the colors right. Oak trees are predominantly grey with a brownish/blackish undercoat. Take a real tree branch to the paint store when you're choosing your colors for the best and most realistic match.


Dip your paint brush in water, then in the black paint. Let it be a little drippy. Paint the foam, getting all the bristles of your brush into the crevices and cracks. Cover as much as you can with one dip.

Next, dip in water again and then in brown. Paint the next section in brown, overlapping with the black. 

Continue alternating brown and black, getting the paint into all the crevices.

Top Coat

Let the base coat dry about halfway, so it's no longer drippy. Take a dry brush and dip it in your grey paint. Run the brush lightly across the foam, just painting the high sections, keeping the cracks and crevices dark. 

Monster M4sk Installation

I used black sticky-back velcro to secure the eyes to the inside of the trunk. This makes them easy to remove or reposition if I want to add functionality or update the programming later on. Stick some velcro to the inside of the trunk and to the front of the Monster M4sk. I used a couple staples on the velcro inside the tree just to be sure it wouldn't pull off.

I also added a little more wire between the Monster M4sk connector and the sensor, to give myself a little more wiggle room in terms of sensor placement.

Access Hatch

Once the tree is in place, I still want to be able to access the Monster M4sk in case I want to update the programming. I used one of the branch collar knot-holes as an access hatch, cutting carefully around it with the keyhole saw. I painted the loose foam to match the tree and added rare earth magnets to hold it in place. Now I can reach through the trunk to make any adjustments needed.

I embedded the rare earth magnets in the bark so the access hatch can be removed just by pulling, and snaps back into place on its own. Rare earth magnets are strong, so the glue needs to be stronger! I used E6000 glue and it worked great.

This hatch also became the controller platform for the Fairy Lights I added to the tree later on.

Attaching Branches

I fixed my larger cardboard branches to the tree first, carving the foam where needed and supporting them along the walls. I very carefully added more expanding foam around the joints (this stuff gets everywhere so use a drop cloth and go slow!), over-filling them a bit so that when I carved the foam down later, there would be a smooth transition between the branch and the trunk. 

I trimmed and painted the foam on the joints to match the tree. This worked pretty well in most places, but there were a few joints that just looked fake and awful. Not to worry! I got some fake moss from the craft store and glued it over the joint. This covered my sloppy work, and added another level of interest and realism to the tree. 

I put pieces of moss everywhere after that! 

Ceiling Attachment Points

The far ends of the branches are attached to the ceiling. I used a table saw to angle the ends of the branches so they would lie flat against the ceiling before attaching them to the trunk.

I screwed small eye bolts into the ceiling drywall and ran a piece of fishing line through the bolt and around the branch. This allowed me to get the branch as close or as far away from the ceiling as I wanted, and gives the illusion that the branches are self-supporting and hovering in space.

I added more support points mid-branch, wherever it seemed necessary. The foam-based branches do want to droop a bit, but adding these fishing line supports keeps them exactly where I want them.


I ordered 6 dozen oak leaves from They took a while to arrive, but I find that ordering direct from Asia can save you a lot of money if you're buying in bulk vs. the local craft store. They also have a huge selection available. I chose leaves that look like September -- still green in the center, but changing to reds and yellows on the edges. 

I only ended up using about 4 dozen, but it's good to have extras.

These leaves come in manageable twig-sized pieces with about 20 individual leaves per piece. I stripped off a little of the plastic coating on the bottom to expose bare wire, then simply pushed the wire into the expanding foam until the leaves were in place. 

Mount the Eyes and Sensor

The sticky-back velcro makes it really easy to place and adjust the eyes. You can put more velcro or tape over any areas that are leaking light through your tree's eye holes.

With the eyes in place and the sensor timing dialed in, find the perfect spot to place the sensor. Move it around until you're happy with its tree-waking action. 

I placed mine down at waist-height, far enough away from the eyes that it's not obviously connected -- I don't want people to notice it immediately. I also wanted it on the side of the tree away from the bed, so the eyes won't come on in the middle of the night and terrorize my guests.

I used a 1" spade bit to drill a hole through my tree so just the top of the sensor was sticking out. I disguised the PCB with a little more moss but made sure not to block the sensor. Angle really matters so I messed with it until I was really happy with the action.

My Tree Ent lives!

I also added a series of gorgeous NeoPixel fairy bottle lanterns to hang from the branches of my tree, so be sure check that guide out as well. 

Enjoy your tree! Mine keeps me company on lonely nights. And if he hasn't spoken to me yet.. perhaps he's just thinking of something worth saying.

This guide was first published on Feb 12, 2020. It was last updated on Mar 08, 2024.