The Thingsquare IoT Platform

Massive Scale, Long Range, Long Lifetime. Wireless Mesh Networking in the Extreme for the Internet of Things.

Documentation and resources

The Thingsquare IoT platform is the reason why Thingsquare delivers rock-solid IoT solutions that just work. See how it is used and who is using it. Read more about why you need it.

Platform Components

The Thingsquare IoT platform consists of three parts: the wireless mesh, the backend, and the cloud integration.

IoT platform wireless mesh

The Wireless Mesh

All devices are connected with a wireless mesh network.

A wireless mesh network is a self-forming type of network that is able to automatically extend itself as needed. The devices in the network help each other to communicate. The mesh structure makes the wireless network extremely robust.

Thingsquare uses a sub-GHz mesh network technology based on the Internet Protocol version 6 – the next generation Internet protocol family.

IoT platform backend

The Controller

The Controller does the heavy lifting: coordinating communication with the devices, security and encryption, keeping track of when devices are awake, and performing wireless over-the-air updates for each individual IoT device.

The Controller software can be deployed either locally, near the IoT devices and their wireless meshes, or in the cloud.

The Controller also provides secure access for smartphone apps, such as the apps used by users or installation personnel.

IoT cloud platform

Cloud Integration

Most IoT deployments – but not all – have some kind of connection to the cloud.

The cloud can be either a privately managed cloud, or a publicly available one such as the cloud platforms provided by Amazon AWS, Google IoT cloud, or Microsoft Azure IoT cloud.

The Thingsquare platform provides convenient integration modules for the most popular public cloud providers, and we develop custom connectors for private clouds.

Wireless Mesh Networking for the Internet of Things

The wireless mesh technology is at the heart of the Thingsquare IoT platform

Why wireless mesh networking for the IoT?

Wireless communication is difficult: signal strength can be unreliable and change often. This makes devices difficult to reach and communication slow.

A mesh network system will automatically heal itself by routing problematic areas. This makes mesh systems extremely robust: there will always be a better way.

How does wireless IoT mesh networks work?

Like normal wireless networks, a mesh network includes an access point and a bunch of devices.

But unlike normal wireless networks, devices in a mesh network act as range extenders for the others. If one device is too far away from the access point, other devices will repeat messages on behalf of it.

This is in contrast to non-mesh systems, where every device needs to be in the immediate range of an access point.

This means that the range of a mesh network can be extended simply by adding more devices to the network.

Is this similar to WiFi meshing?

Yes, it is based on exactly the same principles: increasing robustness and range by letting devices help each other.

An IoT mesh network deployed in a city environment

What is a typical range for an IoT mesh network?

Because the devices help each other, mesh networks can extend themselves to cover very large areas.

In indoor environments, a mesh network can easily cover an entire floor of a building. Even multiple floors, since the network can extend across floors.

In outdoor environments, the distance between two devices can be up to about a mile/1.6 kilometers, but can sometimes be much longer, depending on the amount of obstacles in the area.

What mesh protocols do you use?

The Thingsquare IoT platform uses standard IPv6 mesh networking protocols (IPv6 / RPL / 6lowpan / IEEE 802.15.4) over sub-GHz radio frequencies with full channel hopping to achieve a 100% channel duty cycle.

An IoT mesh network with 500 devices

How many devices does each mesh network support?

The Thingsquare IoT platform supports thousands of devices in each network.

The limiting factor is how much data the network should support: the less data each device sends, the larger the network can be.

Are there any drawbacks to meshing?

Battery-operated IoT devices could consume too much power if they were to act as range extenders in the mesh.

In the Thingsquare IoT platform, battery-operated devices can only be part of the mesh at the edges, and normally does not act as range extenders.

The Controller

The Controller software does the heavy lifting in the Thingsquare IoT platform

The role of the Controller

The Controller is the great coordinator in a Thingsquare IoT solution. It is a piece of software that run either in the cloud or – as a cut-down variant – on a local device near the IoT deployment.

The role of the Controller in the Thingsquare IoT architecture

All IoT solutions consists of IoT devices and of smartphones, web browsers, and other software that accesses the devices and the data they produce. The Controller is responsible for securing and coordinating this access.

The Controller: cloudless or in the cloud

The Controller can be deployed in either of two modes:

  • Cloudless: a reduced version of the Controller software that runs on a Raspberry Pi-class device that is deployed locally. Intended for when the IoT solution cannot be connected to the Internet.
  • In the cloud: the full-scale version of the Controller software that runs in the cloud. Can be deployed in a variety of cloud providers – or in your own data center.

Interfaces

The Controller provides a REST API for programmatic access to the Controller's functions. In addition, we provide a thsq.js Javascript module that is used both when developing backend software in Node.JS and when developing frontend software in the browser.

Controller responsibilities

A single Controller can coordinate anything from a handful to several hundred thousand devices.

The Controller maintains a database of all devices and their secure identities and provides access to the devices for authenticated users.

The database also holds all data generated by the devices and provides an API to query the data.

For battery-operated devices, the Controller keeps track of the wake-up schedule of the devices so that the Controller can reach them when they are awake.

The Controller is also responsible for pushing and scheduling Over-The-Air (OTA) software updates to the IoT devices connected to it.

The Cloud

Many – but not all – IoT solutions are deployed in the cloud

Why the cloud?

Most IoT solutions use the cloud, both for reasons that are technical and for the user experience. In terms of technical reasons, the cloud provides computation and almost unlimited data storage.

In terms of user experience, the cloud provides remote access for users and the ability to access the data from anywhere.

Sometimes the cloud is not possible to use. Sometimes because the Internet is not available at the deployment sites. And sometimes because of privacy or data protection reasons.

The Thingsquare Controller in the cloud

The Thingsquare IoT platform Controller software can be deployed either in a public cloud or in a private data center.

For many IoT solutions, the Thingsquare Controller by itself is all the cloud services needed. It manages the data generated by the devices, allows controlling the devices, user and device authentication, and provides an API for scripting and interfacing with third-party software.

When to go cloudless

The Thingsquare Controller software can be deployed in a Raspberry Pi-class device near the deployment location. Usually with one Controller per deployment.

The local Controller provides similar functionality as the Controller when running in the cloud, but only at the deployment site.

Public IoT clouds

Over the recent years, many public IoT clouds have appeared, such as Amazon AWS IoT and the Microsoft Azure IoT cloud.

These clouds provide powerful processing, computation, and storage mechanisms and tools that many use to build complex data processing applications.

Thingsquare IoT solutions can interface with these cloud systems through the Controller APIs. For NodeJS Javscript scripting, we provide a thsq-jetstream Javascript module that easily achieves integration with AWS IoT, Azure IoT hub, Azure Storage, or any REST API of your choice.

Hardware

Every IoT solution needs hardware. Many need custom hardware.

Why custom hardware for the IoT?

Every IoT device is different and there is no one-size-fits-all. To provide the right sensor for your specific use case, you typically need to develop a piece of custom hardware.

The Thingsquare IoT platform supports a set of System-on-a-Chip (SoC) wireless microprocessors with software that can be tailored to specific hardware devices and interfaces.

As part of a tailored project, Thingsquare develops the necessary software and firmware to support your specific requirements.

Manufacturing

For the production step, Thingsquare provides tools and methods for testing and programming devices and their identities onto each SoC.

Types of hardware

A Thingsquare IoT solution consists of four pieces of hardware:

  • Wireless devices: usually a custom board with a wireless SoC.
  • Access points: the root of the wireless mesh network. Uses a similar SoC as the wireless devices.
  • Gateways: a Raspberry Pi-class device that provides access to the wireless mesh network. Not always needed. Can run the Controller software.

Supported hardware

For the final, production hardware we support the following SoCs:

For prototyping, we typically use the Texas Instruments LPSTK.

Smartphone Apps and Frontends

Every IoT solution needs a smartphone app.

Why smartphone apps?

All IoT solutions are used by people. And people use smartphones.

In the IoT, smartphone apps are used for:

  • Using the system. Every user of the system will be using their smartphones.
  • Installing the system. Installation personnel will be using their smartphones.
  • Troubleshooting installations. Maintenance personnel will be using their smartphones.

Because smartphone apps are such an integral part of any IoT solution, they need to be introduced early on in the development process.

Prototyping

For the first prototypes, we provide ready-made smartphone apps for both iOS and Android. We rebranded this with your logo and use it as-is for the first prototype.

The smartphone app use HTML5 that is readily adopted to any custom code needed for the initial development.

Web frontends

Most IoT solutions need to provide a web frontend for remote access.

The web frontend uses same technology as for prototype smartphone apps: HTML5 and CSS, which is easily adopted to any need.

Custom, native apps

When your IoT solution becomes progressively more successful, your users may start requiring native apps, for performance reasons or because it requires custom integration with other native features. You can then engage a native app development team.

Our IoT platform provides REST APIs that can be used to develop any native app.

Resources

Explore the Thingsquare IoT platform in our articles below

IoT platforms and prototyping

Power Consumption

Large Scale Networking

Installation and apps

Documentation and resources

Get started!


Get your own tailored IoT solution

Instead of recruiting a full development team, let us build a tailored IoT solution for you – from prototype to product. Tailored prototypes at a fixed price!



Get in touch – we'd love to hear how we can help you achieve your goals!

Get in touch!


Be in good company
Get in touch with us!

Get a quote!


Be in good company
Adam Dunkels

Adam Dunkels

CEO

Fredrik Rosendal

Fredrik Rosendal

CTO

Marcus Linderoth

Marcus Linderoth

VP Engineering

Setting things up...