SMS Notification System


For Fullscreen:

Here at Quantum, we constantly waste time by letting our 3D printer sit idle after a print has finished. So, we decided to build an alert system using our Twilio SMS integration and a limit switch.


10 Minutes

1 Client

Hardware Components










Limit Switch


can be purchased here


Copper Wire


Can be purchased here


Limit Switch Holder


.Step Files available in resources section below


Q-Client Builder Base



Tools Used










Small slotted-head screwdriver


Included in the Component Kit

or you can pick from one on our Recommended Tools List


Soldering Iron


You can pick from one on our Recommended Tools List


Hot Glue Gun


You can pick from one on our Recommended Tools List

Assemble the Circuit

We will start by hot gluing a section of a zip-tie to the Limit Switch to extend the length of the switch’s arm.

Now, we will solder two wires onto the Limit Switch. Connect one to the “NO” lead and the other to the “O” lead. You can follow the fritzings posted below.


Next, you must place the limit switch inside of its 3D printed holder. Let the wires on the limit switch feed through the slots in the holder.

Now, connect the NO wire to the GPO port on the builder base, and the O wire to the 5v port on the builder base.

To finish, place your limit switch in a position on your 3D printer where it won’t be triggered until the end of the print. For our printer, we placed it beneath the build plate as the build plate always returns to its home position at the end of the print.

Be careful in your placement of the switch! It is possible to damage your 3D printer if improper placement is used.

Pair the Builder Base

Now we want to pair the Builder Base with our Q-Server. In order to do so, go to the Homescreen of your Q-Server.

Next click on the lift side symbol labeled “Clients”. Switch to the “Unpaired” tab at the top middle of the screen.

You should see your unpaired Builder Base. If not, check if you have plugged in the power supply for the Builder Base. Now move to the three dots below “Actions” and click “Pair”.

Once your Client is paired, click the “Setup” button.

Now you can edit your Client. Give him a Name you want and also a location where you are going to use it. Hit “Save” when you finished.

Build the Firmware

In this section we will build the firmware used in this project.

Navigate to the Firmware and select “+ Create New”.

You will now be prompted to name your firmware file, we named ours “Limit Switch SMS”.

Now, select the “+ Add Hardware” button and add a button device to your firmware.

Now we will select and configure our driver. Select GPIO for the driver, then set the Pin to GP0, Debounce to Enabled, and Pin Mode to Input Pull Down.

Now, save your Firmware File and upload it to the client that your limit switch is attached to!

Build the App

Before you begin programming the app, make sure that your Twilio Service is downloaded and running. If you don’t, the App will not perform as expected!

You can watch our video on how to setup our Twilio service here.

Navigate from the Firmware Builder to the App Builder via the toolbar on the left side of the screen.

Once there, click “+ Create New”.

Name your app and hit create.

You will be redirected to the canvas where you will build your App.

Use the search bar on the left hand side of the screen to find the “Button” hardware object and drag it onto the Canvas.

Click on the Button Object and on the right hand side of the screen you will be presented with a text field. Here you can name the object. We named ours “Limit Switch”. Naming your objects makes it easier to identify them during the mapping stage, so we suggest naming them.

Next, use the search function again to find the “Digital Toggle”, “Static String”, “Input Number”, and “Twilio” objects and drag them onto the Canvas. Arrange and name the objects as shown below.

Now, connect the objects as shown below.

Now, select the “String” port on the “Print Ready” block, and using the properties panel on the right side of the screen, set the String to “Print Ready!”.

I will now give you a basic description of what’s occurring in this application.

When you start the app you will navigate to your dashboard and, using the Phone Number field, enter the recipient phone number.

Next, when the Limit Switch is triggered a signal is sent to the “Toggle” Port on the Toggle code object.

This object then triggers the “Trigger” port on the Print Ready object, which in turn sends out the string “Print Ready!” to the “SMS Message” port on the Twilio Service object.

The “SMS message” port on the Twilio object is set to Trigger by default, so when the Twilio object receives the string, the Twilio object triggers and sends the SMS message to the specified phone number.


Just so you know, the “Telephone Number” port on the Service object can also be set to trigger.

That's it!

Your App is now complete. You can save it by clicking the “Save App” button in the upper right hand corner of the screen.

After saving, click “Return To My Apps”

Map the Hardware

You should now be back on the Apps page.

Find your “Limit Switch SMS” app and hit the play button.

A list containing all of the devices in your application will expand.

Next click on the “Button” device and the client dropdown menu will appear on the right.

Select the Button driver from the dropdown menu and hit “Done”.

Notice how the status symbol has changed to a green checkmark.

Run the App!

Congrats on building your first project, It’s now time to use it!

Hit “Save + Run”.

Voila! Your SMS Notification System project is now complete and will notify you from now on when your 3D prints are ready.







3D Model