I Made A Home Assistant Hub Using The Atomstack X20 Pro

I’ve been slowly adding more and more devices and sensors to my home automation setup and it’s gotten to a stage where I now have a pretty significant number of apps to control them on my phone and iPad. I’ve also wanted to set up automations and routines between devices, but the interfacing across platforms and between brands isn’t usually available or is buggy at best.

Home Automation Devices & Brands

If you’ve done anything home automation related on a Raspberry Pi then you’ve probably heard of Home Assistant. It a free and open-source software package that is designed to be a central hub or control system for all of your smart home devices and it’s got a pretty substantial online community working on integration. So, for example, it allows you to do things you wouldn’t normally be able to do like use an Ikea motion sensor to turn on a Philips hue light. Something that isn’t supported by either ecosystem individually.

So today I’m going to be installing Home Assistant onto a Raspberry Pi and I’m going to use a new laser cutter, the Atomstack X20 Pro, to laser cut a housing for it so that I can put it somewhere convenient in my house without it looking like a jumble of wires, dongles and PCBs.

Here’s my video of the build, read on for the full write-up:

What You Need to Build Your Own Home Assistant Hub

Equipment used:

Unboxing and Setting Up The Atomstack X20 Pro

The X20 Pro is a new diode laser engraving and cutting machine from Atomstack that uses a clever quad diode laser module to deliver 20W of optical power. The laser is so powerful that they claim that it can even cut 0.05mm sheet metal, which as far as I can tell is a first for consumer-level diode lasers. They also say that I can cut up to 12mm sheets of wood in a single pass and up to 8mm sheets of opaque acrylic.

Unboxed Atomstack X20 Pro

The 20W laser module is quite a bit stockier than the one on the X7.

Atomstack X20 Laser Module

The control PCB and cooling fan are built into the metal housing and an air port on the top feeds down to a nozzle around the lens for the included air assist system. I really like how well the air assist system is integrated into the design of the module and doesn’t look like an afterthought.

Atomstack X20 Laser Module Air Assist Nozzle

The included air assist is their own branded system. I’ve used an industrial aquarium air pump previously on my K40 laser cutter, so I was expecting this to be something along those lines, but it’s actually a lot better. The unit apparently uses a two-cylinder compressor to deliver 10-25L/min of air to improve cutting and and engraving quality and speed, we’ll see how it works in a bit.

Atomstack X20 Pro Included Air Assist System

At a little over $1,000, it has a hefty price tag, so I’m hoping that this machine can do some cutting that’s at least equivalent to most entry-level 40W CO2 lasers.

So let’s get it assembled.

As with the X7 model, the X20 Pro comes largely preassembled, so assembly is pretty straight forward.

Atomstack X20 Pro Installation and Assembly Manual

There are a couple of pages for assembly in the manual and the components are labelled for each step, so they’ve made it really easy.

Screws and Components Packaged Into Step by Step Bags

The gantry is all pre-assembled so you mainly need to assemble the four-sided frame and then mount the gantry and belts onto it along with the laser module. The only fiddly job is feeding the belts through the gantry wheels and toothed pulley on either side.

It took me about 20 minutes to assemble the X20 Pro and to adjust the legs so that it sat perfectly flat on my desk.

Assembled Atomstack X20 Pro

Test Cut and Engraving on The X20 Pro

I then tried turning it on, particularly to try the air assist pump to see how loud it would be. I have to say that I was pleasantly surprised. The industrial aquarium pump that I’ve used in the past is basically as loud as a standard workshop compressor. This system is substantially quieter in comparison.

Turning on the X20 Pro Air Assist

It makes quite a noise if you turn the power all the way up, but you probably don’t need to use it at more than half power for most applications. You can feel a decent amount of air coming out of the nozzle at half speed, and you’ll then hardly hear it over the fan on the actual laser module (which is quite loud for a laser module). Even at full speed its quiet enough to comfortably talk over and you don’t feel like you need hearing protection when its running. It’s not something that you’re going to want to leave running unnecessarily but it’s definitely bearable for a small workshop.

If we plug in the included MicroSD card, there are two test files ready to go, one to cut and one to engrave.

Plugging in the MicroSD Card

So let’s try those out first, I’m going to get it moved to my workshop so I don’t burn a hole in my desk.

Two Prepared Test Cutting Files

The first file is a dog that was labelled to be used on 2mm plywood. I’ve only got 3mm plywood so I thought I might need to do a second pass to cut all the way through. I used the offline controller to position the laser and run the test cutting file and I used the included distance tool to set the focus distance between the laser and the wood.

Focusing the X20 Pro Laser Using the Distance Piece

The laser seemed to cope just fine with the 3mm plywood and made quick work of the dog, cutting through the sheet in a single pass.

Laser Cut Test Dog

I then tried the engraving and that too produced a great quality finish with the air assist on about 30% power. There is some debate as to whether air assist is required when engraving as it tends to blow the smoke back onto the piece. I still prefer using some masking tape over the wood that I peel off after engraving – this produces flawless results every time.

Laser Engraving Test File

It looks like the X20 Pro is ready to take on a project, so we need to design the housing to hold the Raspberry Pi.

Designing The Home Assistant Hub Housing

I’ve sketched up a cubic style housing with some feet to lift the Pi off the shelf or desk and a fan on the top for cooling.

Take a look at my video on how to design your own Pi cases in Inkscape.

Cube Case Design For Laser Cutting

I wanted to integrate the Home Assistant logo into the design in some way, so I initially planned on engraving it. That made the housing look a bit too much like an ordinary box, so I decided to rather laser cut the logo out on each side.

Home Assistant Logo On Cubic Case Design

I can then glue some clear acrylic or clear plastic sheets onto the inside of the case to keep the dust out. The RGB lighting on the fan should light up the inside of the case just enough to give the logo a bit of a glow – which will hopefully look quite good.

Let’s get the components cut on the Atomstack X20 Pro. I’m going to be cutting the components from the same sheet of 3mm plywood. I’m cutting at 300mm/min and 90% power. I’ve prepared the files in laserGRBL and I’m going to again use the microSD card and offline controller to do the actual cutting. I find this easier than having to set up a laptop near the laser.

Laser Cutting the First Home Assistant Housing Panel

The first piece came out perfectly and you can really see how the air assist has helped to keep the smoke away from the plywood. I started without it for the first USB C port cutout and you can see it’s surrounded by smoke stains. I then turned the air assist on to about 30% power and the rest of the cuts are really clean on the surface.

Laser Cut Second Home Assistant Test Panel

The underside gets marked from some of the reflected laser’s light, so I’ll probably look at adding a honeycomb bed at some stage. I also noticed that the localised heat from the laser caused pretty significant warping on the metal sheet once all of the pieces had been cut.

One thing that is a bit of an issue with all of these diode lasers is that there is no smoke extraction system, and cutting wood produces a lot of smoke. So you need to work in a well ventilated area.

Laser Cutting the Lid

Just as a test, I tried a piece of 6mm plywood that I had lying around. I set the laser to 200mm/min and 100% power and it had no problem cutting this out in a single pass either.

Assembling & Painting The Hub Housing

Now that we’ve got the pieces cut out, lets glue them together and give the housing a light sand.

All Case Components Complete

I’m just going to use regular PVA wood glue to glue it together and then I’ll leave it to dry for a few hours before sanding it.

Gluing the Home Assistant Housing Together

I used a couple of strips of masking tape to hold the sides together while the glue dried.

Holding The Housing Together With Tape While Drying

I’m going to paint the housing with two coats of a white universal undercoat and then two colour coats. I couldn’t find the exact colour of the Home Assistant logo, but this colour (called Fish Pond for some reason) is about as close as I could find – so I’m going to try it out and see what it looks like.

Dulux Duramax Undercoat and Enamel Paint

Once the glue was dry I gave the corners, edges and faces a light sand with 240 grit sandpaper.

Sanding the Housing with 240 grit sandpaper

I then painted the housing with the two coats of undercoat and two coats of enamel paint, allowing each coat to try for about half an hour before applying the next one.

After a second colour coat, it’s starting to look pretty good. I just want to fill in the edges a little more and it’ll then be done.

Engraving the Lid Using the X20 Pro’s App

Atomstack have also added an app on the software side that allows you to quickly import and engrave or cut shapes, sketches and images wirelessly, which is great to improve your workflows.

Using the Atomstack App to Laser Engrave the Lid

So I’m going to try and use the app to add some text to the lid of the housing. I’m going to quickly sketch my name in the app’s freehand editor and then engrave it onto the lid.

Laser Engraving My Name onto the Lid

The app definitely has its limitations, but it’s a great way to quickly add details to pieces where accuracy isn’t particularly important. For anything important, I’d probably still resort to using my computer or the offline controller to control the laser more accurately.

My Name Laser Engraved Onto The Lid

Installing The Home Assistant Hub Electronics

Now let’s get our Pi and fan installed in the housing. I’ve intentionally left a bit of headroom in the top so that there’s space to add shields, adaptors or devices onto the GPIO pins in future as I need them.

The Pi is held in place with some M2.5 brass standoffs that are secured through the base of the housing with a nut each on the bottom.

M2.5 Brass Standoffs and Screws

The Pi is then secured to them with an M2.5 screw into each. You can use additional brass standoffs if you want to mount a hat or shield onto your Pi as well.

Raspberry Pi Secured In Case

A small aluminium heatsink on the Pi will provide adequate cooling as the CPU isn’t going to be under much load during normal operation.

Heatsink Added to CPU for Cooling

For the fan, I’m going to use a 40mm RGB fan to light up the inside of the case and I’m also going to use a small black dust screen between it and the plywood.

Clear RGB Fan and Dust Screen

Like I’ve done previously, I’m going to press an M3 nut into each pocket in the fan to screw into. This is easiest done by putting the nuts on a desk or flat surface and pressing the fan pocket down onto them one by one.

M3 Nuts Pressed Into Fan Pockets

The fan and dust screen are then held on the lid with four M3x8mm screws.

Screws to Secure Fan to Lid

I’m going to flash the home assistant image onto a 32GB Sandisk Ultra microSD card, which we can plug in through the slot on the back of the housing. You’ll probably need to use some tweezers or needle-nose pliers to reach the card slot.

Plugging in MicroSD Card with Home Assistant Image

To finish the housing off, I’m going to stick some clear acrylic panels onto the inside behind each logo so that dust cant get in around the logo cutouts. These will also provide a bit of support to the thin branches on the logos so that they’re less likely to get damaged or break off.

Cutting Clear Panels to Block Out Dust

If you don’t have acrylic you can also use some clear plastic sheets or even old containers with clear flat sides.

I’m gluing the acrylic in place with hot melt glue in four spots along the edges.

Hot Melt Glue to Hold Clear Acrylic In Place

Now we just need to plug the fan into the 5V and GND GPIO pins and we can close up the housing. You can also plug the fan into one of the 3.3V pins if you’d like it to run at a reduced speed and be a bit quiter.

Plugging Fan Into 5V and GND GPIO Pins

Adding a Zigbee Gateway to the Hub

There are two main low-power communication protocols used by smart home devices – Zigbee and Zwave.

Zigbee and ZWave Communication Protocols

They’re both mesh networks, meaning that every device on the network connects to every other device in range of it and they then dynamically co-operate with each other to send data between nodes through the most efficient route.

Zigbee Mesh Network

I don’t really have a preference between the two, but most of the devices I’ve got so far operate on the Zigbee standard. So, rather than have my Home Assistant hub have to talk to the hub from each manufacturer in order to communicate with its devices and sensors.

Home Assistant Working With Smart Home Hubs

I’m going to add a Zigbee gateway to the Home Assistant hub so that it can communicate with them directly.

Home Assistant Working Without Smart Home Hubs

This will also allow me to use 3rd party Zigbee devices and sensors that don’t have hubs or aren’t part of other ecosystems – so they’re generally cheaper.

The Gateway I’m going to be using is this little USB adaptor called the ConBee II as it seems to be the most well supported by Home Assistant.

Conbee II Zigbee USB Adaptor

Ideally I’d like to use one that uses the GPIO pins on my Pi so that I can keep it within the housing, so if you know of any that use the Pi’s GPIO pins and work well with Home Assistant please let me know in the comments section at the end of the post.

That’s basically it, we’re now ready to start using our new Home Assistant hub to control our smart home devices, let’s get it booted up.

Powering Up The Home Assistant Hub For The First Time

Using the Home Assistant Smart Home Hub

Once set up, you can scan your network to find all of your compatible smart home devices and then start building dashboards, automations and routine to control them.

Home Assistant Control Dashboard
Adding Automations in Home Assistant

You can access your dashboards through any web browser on your network so you can take control of your home through your laptop, tablet and mobile phone, or even build your own dedicated dashboards with another Raspberry Pi and a touch display.

Home Assistant Light Control Dashboard

Check out Smart Home Solver’s channel for some great ideas for home automation routines and automations – he’s got some really creative and unique ideas using a range of sensors and devices.

Zibgee Gateway on Home Assistant

Using Home Assistant I’ve now got the motion sensor on my driveway camera to brighten my porch light for a minute when its on during the evening and it’ll even turn it on for a minute during the night if its off.

Next I’m going to be setting up some motion sensors or magnetic switches to turn on my pantry and closet lights when the doors are open.

Final Thoughts on the Atomstack X20 Pro

The Atomstack X20 Pro is without a doubt the best diode laser machine I’ve personally used. The powerful laser allows you to work with thicker materials and is now actually quite useful for thinner ones as well. I’m able to cut 3mm plywood three to four times faster than I could with a 5W laser. So it’s actually becoming a worthwhile alternative to my CO2 laser at this point.

Laser Cutting Plywood on the Atomstack X20 Pro

The air assist works really well to get cleaner cuts and engravings and won’t leave your eardrums ringing after you’ve used it. And finally, the inclusion of WiFi and a phone app means that you’ve got another way to easily use the X20 Pro, streamlining your workflow.

I’ll definitely be looking to add a honeycomb mesh bed to the X20 Pro and I need to design an enclosure for it so that I can contain and direct the smoke out of my workshop.

Let me know what you think of the Atomstack X20 Pro in the comments section below. Also let me know if you’ve used Home Assistant in your home and what interesting devices and automations you’ve set up.

Michael Klements
Michael Klements
Hi, my name is Michael and I started this blog in 2016 to share my DIY journey with you. I love tinkering with electronics, making, fixing, and building - I'm always looking for new projects and exciting DIY ideas. If you do too, grab a cup of coffee and settle in, I'm happy to have you here.


  1. Nicely done.

    Have you looked into the i/o available on the X20 Pro controller to see if you can add sensors?

    e.g. Laser in progress binary sensor and air assist switch?


Please enter your comment!
Please enter your name here

Latest posts

Which NVMe Hat Is The Best For A Raspberry Pi 5

If you don’t know already, I’ve been selling these 3D printed cases for Raspberry Pi’s online for a few years now. With the launch...

Track Aircraft In Real-time With Your Raspberry Pi Using The FlightAware Pro

Have you ever seen a flight overhead and wondered where it is going? Or seen a unique-looking aircraft and wondered what type or model...

Pi 5 Desktop Case For NVMe Base or HatDrive! Bottom

Today we're going to be assembling a 3D-printed case for the Raspberry Pi 5 and Pimoroni's NVMe Base or Pineberry's HatDrive! This is an...

Related posts