Posted on Leave a comment

Microsoft Teams presence on Icon64

Microsoft Teams presence on Icon64 placed on living room sideboard

Displaying your Microsoft Teams presence on Icon64, the ThingPulse LED matrix device, is a great way to let others around you know whether you are available or whether they would be interrupting your meeting.

We are pleased to announce a brand-new app for the Icon64 that allows you to broadcast your Microsoft Teams presence to

  • your family or flat-mates in the home office
  • your co-workers at the office

Use the coupon code ‘icon64-ms-teams’ to get 30% off the Icon64!

Just like Zoom an others, Microsoft 365 family member “Teams” offers a traffic-light style presence to announce your availability . You are either available, busy, away or offline (for real or fake). There are over a dozen different detail states but the traffic-light is usually what counts. Our Icon64 app does exactly this: mapping your presence to the three colors green, yellow, and red.

For once, we did not have to start from scratch when we set out to implement a new app for the Icon64. Instead, we forked the ESPTeamsPresence project by German maker Tobias Blum. While he 3D-printed the case for the electronics, we already had a device. Hence, we only needed to port the software. Thanks to ESPTeamsPresence’s modern foundation – Tobias used PlatformIO – and well-structured code, porting it to the Icon64 was fairly simple. However, while Tobias mapped the Microsoft Teams presence to eleven different color & animation combinations, we opted for sticking to the traffic-light. We felt that your family or co-workers should not have to remember all those eleven combinations to understand how available you are.

A note on security

Your Teams presence is not publicly available, it shouldn’t be. You need to grant the Icon64 presence app permission to access this information. You do so in a simple guided workflow in the browser. It is all described in our documentation. As you will most likely do this in the context of an organization that grants you access to Teams such as your employer or your school, they might want to have a say in this as well.

On the Microsoft side the device is represented by an Azure “application”. It is not an application in a traditional sense (source code and stuff) but a security element for consent management. The application manages the data privileges your device has. It needs access your profile and presence data – and nothing else. You can either use the multi-tenant application Tobias Blum set up, which is the default, or register your own application. Which ever way it is, your organization might have to whitelist that application. The authorization workflow cannot be completed otherwise.

Microsoft Teams presence on Icon64 placed next to home-office door
Place the Icon64 next to your home-office door to communicate to your partner or family whether you are available.
Posted on 2 Comments

Breathing LEDs – cracking the algorithm behind our breathing pattern

Breathing LEDs on ThingPulse Icon64 stock firmware

When was the last time you were thinking about your breathing pattern or the algorithm that forms it (or does the pattern form the algorithm)? I guess it is safe to assume that if your answer is “never” or “it’s been ages” you will be like most readers. Also, if the term spirometry does not ring a bell with you: relax, welcome to the club. Spirometry is the measuring of breath by the way.

Continue reading Breathing LEDs – cracking the algorithm behind our breathing pattern
Posted on 5 Comments

Swiss CO2-monitor using Icon64

ThingPulse Swiss CO2-monitor in a classroom

Using our Icon64 acoustic LED device we built a truly Swiss CO2-monitor by integrating a Sensirion SCD4x CO2 sensor – designed, engineered and built in Switzerland.

The SDC4x offers an unmatched price-to-performance ratio despite coming from a country with very high living and production costs. Furthermore, it more than breaks the size barrier in CO2 sensing. A CO2 sensor of such precision and accuracy in a <1cm3 package is unheard of.

We built the Icon64 with extensibility in mind from the very beginning. This allows us to react quickly to specific customer requirements. The Swiss C02-monitor is a result of this.

The Icon64 CO2-monitor is perfect for your classroom, living room, and (home-)office.

A student asked me yesterday: how did we manage to survive so far without?

Primary school teacher after introducing the Swiss CO2-monitor

With 27 students it takes about 15min until it blinks red. Opening the windows for five minutes brings the level down to 500ppm and everybody continues to work with peace of mind.

1st grade teacher
Posted on Leave a comment

Install & configure apps with the App Fairy


In order to make our devices more accessible for customers who do not feel at home with PlatformIO or the Arduino IDE we developed the App Fairy. The App Fairy is a self-contained app store for your computer. It allows to install and configure applications for our devices without editing any source code. Best of all? The App Fairy does not require installation itself. Just click and go!

Continue reading Install & configure apps with the App Fairy
Posted on 4 Comments

ESP32 Logging


ESP32 logging falls into the same category as the recent post about embedding binary content. It is about how logging on ESP32 is different from logging on ESP8266. Yet, as “logging” is a software topic (mostly) and “ESP32” describes hardware we need to be more precise with terms. Therefore, this post will look into how logging with the Espressif ESP-IDF has improved over plain NONOS SDK. The same goes for Arduino Core for ESP32.

Rest assured the old stuff still works on ESP-IDF. However, this post hopefully manages to convince you to improve your code by using the new features.

Continue reading ESP32 Logging
Posted on 1 Comment

Embed Binary Data on ESP32

pre-electronic binary code by dret

There is a reason the title of this post specifically says “Embed Binary Data on ESP32“. This suggests that it is different than embedding binary data on let’s say ESP8266. Yes indeed, that’s part of the story. The other is that to embed binary data on ESP32 you don’t need to jump through hoops anymore like on ESP8266. Instead, you will do what likely feels most natural: store the binary data in a file in the project directory and have the compiler slurp it from there. Easy as pie!

Continue reading Embed Binary Data on ESP32
Posted on Leave a comment

ESP32 workshop – what you learn

You will learn a lot if you attend a ThingPulse IoT workshop. Guaranteed! However, with every workshop we learn something new as well. Find out about a few of the topics below.

We recently ran a full-day workshop at the CH Open workshop days on the beautiful HSR campus in Rapperswil. We had submitted two workshops but the one that got accepted was “You’ve Got Mail – Advanced IoT with ESP32”. We had a really cool crowd of eleven software developers most of whom coming from Java-like backend developer positions. There were a few guys with hardware and C/C++ background which was fantastics. They corrected us on C++ subtleties we hadn’t mastered yet ourselves.

Continue reading ESP32 workshop – what you learn
Posted on 1 Comment

Two successful IoT workshops in a week


ThingPulse helps you – and your friends, co-workers, or your children – to get started with the Internet of Things. We have accumulated a wealth of knowledge and experience with both hardware and software over the last few years. As we are also experienced educators, speakers and presenters running informative workshops is a natural extension to our product portfolio.

Last week we were given the opportunity to lead two workshops embedded in other events. Two workshops with different

  • audiences
  • setups and venues
  • duration
  • scope

Continue reading Two successful IoT workshops in a week

Posted on 5 Comments

Welcome OpenWeatherMap, bye bye Wunderground

Weather Underground dealt us a blow that caused quite a storm for us, photo: Hurricane Maria

This is a sequel to the previous post “Weather Underground no longer providing free API keys.” We would like to fill you in on what has happened since and how we rode that storm.

Disaster struck in the evening of Thursday May 16th in the form of a private message from David “G6EJD” Bird to me. David, a passionate amateur radio & weather station operator and electronics engineer, is active on GitHub as G6EJD and has been contributing a lot to the ThingPulse open-source projects. The email started with:

I thought I’d give you advanced information, although you may already know, that Weather Underground are no-longer issuing a free Developers Licence and so new customers can no-longer download weather data.

The implications became clear in an instant – and they were far reaching.
Continue reading Welcome OpenWeatherMap, bye bye Wunderground