Thingsquare IoT Platform 4.9 Released

With even larger mesh networks, AWS IoT / Microsoft Azure integration, Raspberry Pi with WiFi-over-Bluetooth setup, and seamless mesh network switching.

Adam Dunkels, Thingsquare CEOBy Adam Dunkels, Thingsquare CEO – January 11, 2022

We are happy to announce the latest release of the Thingsquare IoT platform! This is the awesome system we use to produce kick-ass products and projects together with our customers.

This release brings better performance for even larger mesh networks (500+ nodes), IoT cloud integration with platforms such as Microsoft Azure IoT and AWS IoT, easier WiFi setup for Raspberry Pi-class gateways, and seamless switching between mesh networks.

With this new release, we also bump the version for the C compiler used to produce firmware binaries. We provide a Docker image with the correct tool chain installed to help with the transition. This move also means that the system has a lower flash footprint, due to more efficient compiler optimizations.

Even larger wireless mesh networks

With the 4.9 release, we introduce new optimizations that improve the network performance in very large (500+ nodes) mesh networks.

In particular, the optimizations reduce the overhead for networks where devices stay silent for most of the time and only occasionally wake up to communicate.

IoT cloud integration

We have developed a node JS npm module called thsq-jetstream for integration between a Thingsquare-based system and IoT cloud providers such as Microsoft Azure IoT and AWS IoT. It can also be used to push data to proprietary REST APIs.

The tool can either be run standalone or used as part of a larger integration framework.

Find the tool, and instructions for how to use it, at

Docker firmware compiler

We have published a Docker image to make it easy to compile firmware binaries, without having to install complex tool chains.

To download the Docker image, first make sure to have Docker installed (find it at

Then pull the thsqfirmware Docker image:

docker pull

To compile a firmware binary file, navigate to your application source code directory, and run

# Linux:
docker run --rm -it -v $(pwd):/home/thsq/sdk

# Windows:
docker run --rm -it -v %cd%:/home/thsq/sdk

# Windows PowerShell:
docker run --rm -it -v ${PWD}:/home/thsq/sdk

# Cygwin:
docker run --rm -it -v `cygpath -d $(pwd)`:/home/thsq/sdk

The Docker image can also be used to create binary firmware images with a unique identities via the thsq-device-flasher program, which is also provided as part of the Docker image:

docker run --rm -it -v $(pwd):/home/thsq/sdk /bin/bash -c "cd sdk; thsq-device-flasher -u [usertoken] -t disabled filename.bin"

For more information about the thsq-device-flasher tool, see and this article.

Thingsquare gateway agent for Raspberry Pi-class devices

Linux devices of the Raspberry Pi-class are often used as gateway devices for wireless IoT mesh networks. The gateway has a wireless mesh access point either installed as an on-board chip, or as an external device connected via a USB port.

One common problem for a Raspberry Pi-class device is how to connect it to a nearby WiFi network, since it has no display or user interface.

To solve this problem, we have developed a thsq-agent software that runs on the Raspberry Pi-class device that allows the device to be configured via Bluetooth and the Thingsquare app.

This software is made to be integrated with customer-specific smartphone apps. The Thingsquare app serves as one example how to use it.

A Raspberry Pi-class device running the thsq-agent software will show up in the Nearby view in the Thingsquare app. Tapping the device will open up a view that allows entering a WiFi network SSID and password. The SSID and password are then securely transferred to the Raspberry Pi over Bluetooth, and the WiFi is configured accordingly.

For more information about the thsq-agent software, see

Seamless mesh network switching

Because of channel hopping, multiple wireless mesh networks can easily coexist at the same location. With the 4.9 release, we have made it easier to switch between networks on the fly.

The network switching process consists of three steps:

  • Step 1: make sure that the network that we are switching to actually exists at the current location. This is done by attempting to switch to the new network and probe its network status. If no network status is found, an error is displayed, and the device remains in its existing network.

  • Step 2: receive the new settings for the new network, but do not apply them yet. Instead, report to the backend that the device has received its new settings and that they are ready to be applied.

  • Step 3: wait for a command to apply the settings.

This three-step process makes it easy to switch network for hundreds of devices in one go. Just wait for all devices to have received their new network information, then apply them all at the same time.

New hardware

In addition to the above new features, the 4.9 release also provides support for the Texas Instruments CC1352P single-chip power-amplified sub-GHz wireless microprocessor.

Your turn

Would you like to hear more about how Thingsquare can help your product come alive? We’re looking forward to talking to you! Drop us an email, or start a chat with us. And as always feel free to use the IoT solution planner to get an automated time and cost estimate of your product.

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


Fredrik Rosendal

Fredrik Rosendal


Marcus Linderoth

Marcus Linderoth

VP Engineering

Setting things up...