1.1 - Hello World

Overview

For Fullscreen: https://www.youtube.com/watch?v=IueIpZ863V4

This is the Quantum version of the classic Hello World electronics project. The goal of this project is to familiarize you with the Quantum System by walking you through pairing clients, building an app, creating firmware and more!

This project will allow you to turn a LED on and off with the push of a button.

BEGINNER

$3.50 - $5.00

10 MINUTES

2 CLIENTS

 

 

 

 


Hardware Components

Picture

Name

Quantity

Price (As of 7/9/20)

Link

Picture

Name

Quantity

Price (As of 7/9/20)

Link

 

Radial LED (5mm)

1

$.05/LED (when purchased in a 100 pack)

 

 

Included in Starter Kit

Or you can purchase it here

 

Tactile Push Button

1

$.32/Button

Included in Starter Kit

Or you can purchase it here

 

Breadboard (any size)

2

$3.00/Breadboard (when purchased in a pack of 3)

Included in Starter Kit

Or you can purchase it here

 

Jumper Cables (MM)

4

$.06/Cable (when purchased in a pack of 120)

Included in Starter Kit

Or you can purchase it here

Q-Client Builder Base

2

49$

Q-Client

Tools Used

Picture

Name

Quantity

Link

Picture

Name

Quantity

Link

Small slotted-head screwdriver

1

Included in the Starter Kit

or you can pick from one on our Recommended Tools List


Pair the Builder Base

First, we need to ensure that your Builder Bases are properly paired to your Q-Server. In order to do this you need to power on your Clients. In this project we will use the provided micro-USB cables and a USB to wall outlet adapter.

Once the clients are connected to power you should see the status LED at the bottom of both Builder Bases blink green.

Next, enter your server IP in your browser and login with your pin. If you do not know your server IP address you can follow our tutorial on how to setup your server here.

Once you are at your server homepage select the “Clients” icon in the tool panel on the left side of the window.

Then click on the “Unpaired” tab and you should see two unpaired Builder Bases.

For both Builder Bases, click on the “…” action icon and select “Pair”.

If your Builder Bases pair correctly the status LEDs should change from a blinking to a solid green state and they should appear under your “Paired” list.

In order to differentiate the two clients you should identify them. For the first Builder Base click the action button and select the “identify” command. You should notice the status LED on one of the clients flashing red and green.

Again, click the action button and select the “Edit” function. Name this client “Button” and select “Save”.

 

 

Do the same for the second Builder Base, but name this one “LED” .

Your Builder Bases are now ready to be used!


Assemble the Circuit

Gather your client named “LED”, two male to male jumper wires, and your LED.

Next, determine which leads on your LED are positive and ground and place it on the breadboard. In most cases, the longer lead will be the positive and the shorter one will be the ground. Now take two of your jumper wires and attach one to the GND lead and the other to the positive lead. Take your positive wire and connect it to the GPIO GP0 port on your Builder Base, and your GND wire to the GND port on the Builder Base. The wiring for this Builder Base is now complete!

Next, gather your Builder Base named “Button”, two male to male jumper wires, and a tactile button.

Place your button on the bread board and attach two wires to either set of pins that are diagonal from each other. Taking the leads that are connected to the button, connect one to GP0 and the other to 3.3V on the Builder Base.


Build the Firmware

Here we will build two sets of firmware files: one for the Button and the other for the LED.

Using the toolbar on the left hand side, navigate to the firmware builder. Select “+ Create New” on the upper left hand side of the screen.

Next, name your firmware file “Hello World - LED” and hit “Create”.

Now, select the “+ Add Device” button. You can find a device by using the search bar, or by scrolling through the list. Find and select, the “LED” device, name it LED, and click “Add Device”. Now you are ready to configure the device.

From the Driver drop-down menu select “GPIO”. For the Pin select GP0, and for the mode select Initially Low.

Save your firmware file.

Now we will create the Firmware file for the builder base wired to the button. Click the “+Create New” button. Name your new file “Hello World - Button” and hit “Create”.

 Next, select “+ Add Device”. Using the search functions find the “Button” device and name it “Button”.

To configure the button, select the GPIO driver from the driver dropdown menu.

Set the Pin to GP0, Debounce to Enabled, and Pin Mode to Input Pull Down.

Save your firmware file.

Now you are ready to upload your Firmware files. For your “Hello World - LED” firmware file select the “Action” button adjacent to it. Under the dropdown menu select the “Upload” button.

A list of your paired Builder Bases will appear. Select the Builder Base named LED and hit upload.

For your “Hello World - button” firmware file repeat these steps, but be sure to upload it to the Builder Base named Button.

You can upload both firmwares at the same time. The firmware files may take a few minutes to finish uploading. You can check their upload progress on the right hand of your page on the notifications tab.

 

 


Build the App

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 “LED” hardware object and drag it onto the Canvas.

 

 

Click on the LED 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 LED. Naming your objects makes it easier to identify them during the mapping stage, so we suggest that you name them.

Next, use the search function again to find the “Button” hardware object and drag it onto Canvas. Make sure this object is colored blue when you drag it onto the canvas. We suggest that you name this object as well.

You will see that the button object only has an output port and the LED has an input port.

Make a connection between the objects by clicking and holding your mouse button on one of the ports and then dragging your mouse to to the other port and releasing.

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 “Button and LED” app and hit the play button.

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

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

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

Repeat the same steps for the “Button”.

Notice how the status symbols have changed to green checkmarks.

When mapping firmware devices to objects in your Apps it is important to note that only devices and objects of the same type can be mapped together. Using this app for example, we are only given the option to map the builder base with the button firmware to the button object.


Run the App!

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

Hit “Save + Run”.

Voila! Your Hello World project is now complete.


Resources

App

 

Firmware

Fritzing