(603) 889 5100.
This website uses cookies. More info . That's Fine


  Home / MQTT Labs


24/7 interactive demo


Portal for public SaaS MQTT labs based on MIMIC MQTT Simulator with Ubidots for Ubidots training as seen on their site .

Free, 24/7, interactive demo

Try this immediate, live, Interactive Demo .

You can try for free (no registration/credit card required) the other MQTT labs , then upgrade to this paid lab if you like it. Ubidots Tutorial

Ubidots Get Started Tutorial


Onboarding an external device to Ubidots for the first time is a task that until now took hours if not days. To overcome this hurdle, we created this Ubidots Getting Started Lab to get started in minutes.

This MIMIC MQTT lab demonstrates integration of Ubidots and MIMIC MQTT Simulator to produce an out-of-the-box lab for immediate first-time setup and use of dynamically controllable devices . By having a quick, successful example, you will short-circuit integration of your own devices into Ubidots.

Try this immediate, live, Interactive Demo , or watch this 2-minute Youtube video of 10 sensors updating predictable, customizable telemetry in Ubidots in real-time, being graphed in the Ubidots dashboard.

There are more videos in the Youtube channel listed on the right of this page to show more advanced Ubidots features, such as analysis, events and actions.

This lab extends the Ubidots Onboarding document and MQTT Examples to set up within 15 minutes any number of realistic, third-party, MQTT-based sensors publishing custom, dynamic telemetry that fits the Ubidots MQTT guidelines. There is no limit to the scalability, but we'll setup 1 sensor, and then you can try the same yourself on any number in the lab for your requirements (if you need more sensors, send e-mail to


Features of this lab include:

  1. no prior requirements except for a valid Ubidots account, ie. a Ubidots login ;
  2. no extra setup of hardware, NODE.JS, or cloning of Github source code;
  3. step-by-step, clear instructions for all tasks;
  4. 1 realistic sensor (or more) that publishes telemetry via MQTT ;
  5. each sensor is authorized to access your account (and only your account) in Ubidots, just like real devices will have to be;
  6. dynamic telemetry published over the internet to Ubidots and reflected in the device state;
  7. real-time, interactive control of the telemetry to reproduce any scenario you want at any point in time;
  8. investigate all aspects of Ubidots interaction with a third-party device;
  9. finally, verifiable cleanup of everything we setup automatically.


These are the tutorial steps you are going to perform to get going quickly:

  1. Setup
  2. Add Device(s)
  3. Start Device(s)
  4. Investigate
  5. Change Telemetry
  6. Stop Device(s)
  7. Advanced
  8. Cleanup

Do you have questions? Maybe we answered them in the FAQ below. If not, contact our support team.

The power of MIMIC is not limited to this. If you have a scenario you need simulated, send e-mail to

Step 1: Setup


Sign up to your own Ubidots account if you have not done it. This takes 5 minutes.

NOTE: NEVER give out your Ubidots account login username and password to anyone you don't trust.

Then setup the simplest device authentication method, the Default Token as documented here .


If you have not already signed up for an account, first go to their home page and press GET STARTED FOR FREE to sign up for a Ubidots account.

Then review how Ubidots works

To operate your lab, we recommend 2 web browser (Chrome, Firefox, Edge, ...) windows side by side. For example in the left browser window you can have your MIMIC MQTT lab for Ubidots, and in the right your Ubidots cockpit, logged into your Ubidots account, eg. as in Figure 1:

2 browser windows

Figure 1 - 2 browser windows side-by-side

When we point to features in either of the windows, they will be highlighted with a red circle. For example, in Figure 1 above we have highlighed the main menu of MIMIC lab and that of the Ubidots cockpit. Check it out by clicking on the Figure 1 picture to open it (make it larger). Then press your browser Back button (left arrow) to get back to this page.

You can maximize either of them when working in one window for a while. When you press README or Help in the MIMIC lab (left browser window), it will open another tab with the help page. Clicking on links in this document to external pages will also open in separate tabs. That way you can switch between the tabs, or lay them out however you wish.

To check it out, click on Ubidots Tutorial, then the top README menu item, and the help page titled Documentation: MQTT Lab for Ubidots appears in a new browser tab. Close the tab by clicking on its x, or switch back to the previous tab.

  1. Copy the Default Token as shown in their MQTT Authentication section

  2. In the MIMIC lab page, click on Ubidots Tutorial, then Step 1: Setup.... The shorthand for this will be from now on

    Ubidots Tutorial -> Step 1: Setup....

    The Step 1: Setup dialog appears.

  3. For the Default Token, paste the token that you copied above, into the field in the dialog, then press OK.

  4. Once you click OK, a new Run Script Console tab is opened in the browser with the output of the processing. When it says Task completed, and there are no ERROR messages, your lab is configured to work with your Ubidots account with the authentication parameters (token) you supplied.


You signed up to Ubidots, setup the default authentication token, and you are ready to use the MIMIC MQTT Lab to add a device, investigate how it connects, and play with it.

Step 2: Add Device(s)


The left MIMIC MQTT lab browser window shows red icons, one for each simulated device. This is the equivalent of your real-world devices sitting on your lab bench. They are not doing anything.

We need to configure one of the devices to publish telemetry to Ubidots according to the Ubidots MQTT rules. This task configures the simulated devices to use the access parameters (token) that you configured in Ubidots.


  1. Let's first check on the devices in your Ubidots account (right browser window).

    Your Ubidots home page shows an empty list of devices as shown in Figure 1 above.

  2. Click on the top Devices menu. There should be no devices, if this is a fresh account. Else, it will show the devices that are registered in this account. There should be no devices from this lab until the next step.

  3. In the MIMIC Ubidots lab (left browser window) click on Ubidots Tutorial -> Step 2: Add Device.... The Step 2: Add Device dialog appears.

    Step 2: MIMIC Add Device dialog

    Figure 2 - Step 2: MIMIC Add Device dialog

  4. Type the Prefix for the NAME of the device to be created in your Ubidots account. We recommend to keep mimic, that way you can find it easily later. The first device will be mimic-1.

  5. Once you click OK, a new Run Script Console tab is opened in the browser with the output of the processing. When it says Task completed, and there are no ERROR messages, your new sensor device is configured in the MIMIC MQTT Lab, ready to connect to your Ubidots account. You can dismiss this tab, or switch back to the lab browser tab titled MIMIC MQTT Lab: Ubidots.

  6. If it does not have it already, when you now reload the MIMIC MQTT Lab window, the first icon should have a name underneath its number, eg. the first device will be named mimic-1. It is red because it is currently stopped. This is the equivalent of the device sitting on your lab bench in the real world with power switched off.


We configured a new device with name mimic-1 and configured it with the authentication parameters necessary to connect to Ubidots;

You are now ready to experiment with this device in the next sections.

Using the lab

To start using the lab, first verify that at least one device with the chosen prefix, eg. mimic-1, is showing in your MIMIC MQTT Lab.

Step 3: Start Device(s)


The devices in your lab are stopped, equivalent to lab equipment sitting on your lab bench and powered off. So they are not doing anything. We need to power up the recently configured device, the one that is labelled mimic-1.


To start it, select the icon(s) of the device(s) you want to start. Each selected device will have a blue indicator in the upper left. Then click on Ubidots Tutorial -> Step 3: Start Device(s) -> Go!.

The selected icon(s) will turn green, as if you had turned power on.

Just like the equipment on your lab bench, whether it delivers telemetry to Ubidots or not depends on whether you have configured the correct parameters in the MQTT client software.

In this lab, if you added the device as in the section above and there were no errors, then it will publish telemetry once a second. You will know that it works when a orange <--> arrow appears in the icon, indicating activity.

In your Ubidots cockpit mimic-1 device page, to see the received telemetry you can click on the desired variable as shown in Figure 3:

Step 3: Device

Figure 3 - Step 3: Device

From the live inspector you see that the telemetry will be updating. In particular, we made it so that the Light value changes frequently at random, like a flickering light. We'll see it in a dashboard in the Step 5: Change Telemetry section below.


The icon of the selected device shows green to indicate that it is started, and telemetry is published to Ubidots. Now you can investigate further how things work, and change telemetry on the fly.

Step 4: Investigate


Now that it is running, you'll want to see how the lab device and your Ubidots device state are linked. That way you can reproduce this with your real devices.


To check the configuration of the device in your Ubidots Device Management page, click on the device name, and then click Info on the left.

To check the configuration of the simulated device in MIMIC, select the device icon in the lab, then click on Ubidots Tutorial -> Step 4: Investigate -> MQTT Configuration...

Step 4: MQTT Configuration

Figure 4 - Step 4: MQTT Configuration

The important configuration parameters for the device are the

  1. Config File - this defines the MIMIC simulation: what MQTT payload to send where and when. Here we publish once a second the telemetry to the device topic with a JSON message containing the desired telemetry.

    The Light value changes at random for this tutorial. This simulates a very dynamic attribute that changes at every sample.

    Finally, the Temperature values can be dynamically controlled to achieve on-demand, consistent, real-time results, eg. in the Step 5: Change Telemetry section below.

  2. Broker - your Ubidots broker

  3. Port - 1883 for insecure MQTT communications

  4. ClientID - blank means we use the default MIMIC client ID

  5. Username - the default token

  6. Password - not used

  7. Use TLS - set to false to use insecure MQTT

These are the configurables you would have to setup minimally in your real-world device to communicate with Ubidots.

NOTE: The OK button is disabled in this lab. More advanced labs allow you to configure anything on the simulated devices.


We verified the necessary configuration for a device to communicate with Ubidots Iot.

Step 5: Change Telemetry


You are seeing real-time, dynamic telemetry in your digital twin on Ubidots. The Temperature value is static, while the Light value changes at random, like a flickering light. In this task we will interactively change the temperature to some other predictable value. This lets you change the temperature on-demand, eg. a device over-heating. Imagine the effort to do this with a real device.


If you have not done so already above, in the MIMIC lab window select the icon(s) of the device(s) you want to manipulate and start it. Each selected device will have a green icon and a blue indicator in the upper left. Then click on Ubidots Tutorial -> Step 5: Change Telemetry....

In the Step 5: Change Telemetry dialog, change the Temperature value to something else, eg. 60000. As soon as you slide the slider to a new value, the new temperature value is published. If you click OK, the value is preserved, if you click Cancel, the value goes back to what it was when you entered the dialog.

In this 1-minute Youtube video we see the temperature and light telemetry updating in real-time. While the temperature is precise and predictable, the light intensity behaves randomly like a flickering light.


We changed temperature telemetry on the fly, on-demand, predictably. You can use this technique when it comes to testing your application for certain conditions.

Step 6: Stop Device(s)


Your lab devices are continuously generating telemetry and publishing messages to Ubidots. This task stops them, the equivalent of powering down the real equipment.


In the MIMIC lab window select the icon(s) of the device(s) you want to stop. Each selected device will have a blue indicator in the upper left. Then click on Ubidots Tutorial -> Step 6: Stop Device(s).

The icon(s) will turn red, and messages cease to be published.

This is the equivalent of turning power off to your real device.


We stopped the devices to stop publishing messages.

Step 7: Advanced Tasks

These are further optional tasks you can do in your lab:

  1. repeatedly do Step 2: Add Device , and it will add more things with incrementing instance number upto the total allowed in your lab. Once you start the lab devices, you will see independent telemetry for each;

  2. create other dashboards to display the telemetry any way you want, as shown in this video:

  3. test actions and events to act on the telemetry received, as shown in these screenshots:

    Step 7: Event

    Figure 5 - Step 7: Event

    Step 7: E-mail notification

    Figure 6 - Step 7: E-mail notification

Step 8: Cleanup


Once a lab is setup, you want to clean it up when you are done, to be certain no left-over devices have access to your account. This procedure makes certain there are no left-overs.


The Ubidots Tutorial -> Step 8: Cleanup... lets you cleanup devices setup in the lab. Just select the device(s), then that menu item cleans up any associated resources from the MIMIC MQTT Lab. You need to delete the associated devices from Ubidots.

Once you have deleted a device, you can add one back in with different credentials with the Add step above.

Frequently Asked Questions

  • Q: What will this cost me?

    A: Besides the fixed cost for the MIMIC MQTT lab, there will be Ubidots costs in your Ubidots account that we cannot control, beyond their free evaluation.

  • Q: What exactly does this do to my Ubidots account?

    A: If you run the Step 2 - Add dialog with correct Ubidots authentication parameters, and start the device, it will setup exactly 1 device instance in your Ubidots account. Any subsequent devices connecting to Ubidots from this lab will be added as well.

    Since we NEVER know your account authentication parameters, we cannot do anything else to your account.

  • Q: What about security / privacy?

    A: The lab will be able to access your account during the session because device authentication parameters (tokens) are stored in the lab configuration. You can change tokens for the devices in your Ubidots device dialog. Then you can verify that the devices can no longer talk to your account. This is verifiable cleanup, ie. you have proven that the outside device cannot access any more.

  • Q: Where can I get help?

    A: For the MIMIC lab select the README menu item, or press the Help button in any dialog. If you still need help, send e-mail to

    For Ubidots, see their Help Center or online community .

  • Q: What next?

    A: This lab gives you a small successful step in connecting a few third-party sensors publishing real-time, dynamic, predictable, controllable telemetry to Ubidots in a matter of minutes. The next steps are up to you:

    1. You can build on what you learned to connect your own devices to Ubidots;

    2. Explore our other free resources / videos to learn about solutions to common problems you will encounter in IoT development;

    3. You can rent an advanced lab anytime you need to test different aspects of your application, or lease a longer-term MIMIC MQTT Simulator with more features;

    4. You can scale the deployment to as many devices as you need to test, demo, train your IoT Application.