STM32 ARM MCU are proposing different low power mode for saving energy when running IoT on battery. Some basic example of low power are delivered with the SDK as part of CubeMx solution but these example are not really complete, not well documented and in my point of view difficult to use in a Fresh new project. Basically my current feeling with STM32 is these guy are pretty good to write thesis on how to do magic stuff with the MCU, writing hundreds of pdf pages about really detailed stuff but they are really bad for providing some line of code to illustrate this valuable content with something practicable you can use on the go. So after spending a week working on a working and understood example of low power code, I’ll share with you the result of this work…
Category Archives: Technology
Arduino is supporting STM32 platform and after following the installation steps, you can easily work with the st-microelectronics development kit.
In the real life you need to create a specific setup once your prototype is transformed into a custom board. This setup redefines the pin mapping, the target MCU and needs to refine the firmware transfer method as you will use and external STLINK programmer.
In this post we are going to see the different step for doing this.
In a previous post I explained how to getting started with STM32 with classical Eclipse or Keil environments. These environments are very cool for starting from scratch in designing firmware. That said, you have to recreate a lot of basic functions and libraries to create your firmware.
On the other hand, the Arduino community is proposing a lot a existing libraries and a development framework with a large number of supported features. The STM32 community looks active and that’s a good way to quickly create advanced firmware.
That said there is different point blocking in my point of view for using Arduino as a professional environment:
- Outside of the core libs and some nice one, most of the lib are badly written
- The official editor is a mess if you manage more than 3 files…
- Writing libraries with official editor is… “impossible”
For this reason, in this tuto, I’ll use Visual Code Studio to see if the 2 last point can be solved. Regarding the first point, there is nothing better than using well coded libraries and rewrite (and share) the badly written one.
After making some post on Arduino MKRFOX1200, here I come with the first steps to use MKRWAN1300 board to send your first frame on TTN and also how to use them for discovering the TTN coverage around.
MKRWAN1300 board is a LoRaWan Arduino board based on the Murata CMWX1ZZABZ module. This module is capable for LoRaWan in Europe (868Mhz), NA (915MHz) Asia (923MHz) …. It is also capable for Sigfox in both zone (but actually not with this board as much as I know). Producing 14dB emission and capable for 20dB emission for FCC zone. The price of the Arduino board is about 40€ and it is largely available on Internet.
In this post we are going to see how to make the first steps with this board and create a device to map the TTN network coverage with and without a GPS.
This is a Frequent question I received from many hackers or companies: How can I get a Sigfox subscription for my IoT device?
We need to start saying a Sigfox subscription is a right to have its device data to be proceeded for a year. In the LPWA technology there is no SIM cards or any physical things attached to the subscription. You buy a device from a semiconductor company, when this device is compatible with Sigfox you have an ID attached to this device. This ID is uniq and used to identify the device on the Sigfox network. So once you have a subscription, you attach this subscription to this device ID then you will be able to access your device data from the Sigfox backend.
That’s clarified we can address the question of this post: what are the way to access a subscription?
Since I’m using Sigfox backend there are a lot of operations I’m regularly manually doing. Thanks to the Sigfox API, it is possible to automate these manual operations to gain in productivity and save time.
The most consuming operation were for me to manage the device type because each of them have multiple callback and every callback uses many parameters. The callback replication is for me a recurrent operation when adding a new contract, when creating a new version of application, when instancing for dev, prod… It’s also a complex operation when you have to ask a third party ( like a client ) to configure a device-type for connecting to your service. As a consequence these operations are the first one I’ve automated thanks to the Sigfox Api.
I’ve decided to publish this usefull code to let you saves time on these operation with a new set of API accessible on IngeniousThings Sigfox Api portal and available on GitHub as OpenSource.
In this set of API (actually 3, will grow) you will find operation to export/import a full deviceType configuration and to duplicate a DeviceType.
Have fun !
Since a long time I’m trying to understand how the Sigfox right (ACL) works and stop affecting all the rights to my API access every time I’m creating a new one. More than that, when I’m working with clients or other LPWAn passionates I do not like requesting full access to the Sigfox backend to help them or integrate them in my backend.
So, it was a nice opportunity to tale a look to the ACL and document them with an overall overview instead of the detailed information you can get from the User Creation screen. (You may note that this documentation can’t be accessed from the API access creation screen but the groups are the same as for users).
I want to start a new category of posts about IoT, not focus on the technology itself but on the use-cases. That said, for sure my words will be on the technological aspects of this use-case. The objective is to let you understand what are the solution but also what are the challenges behind that use-case. To start I’ve selected the Tracking use-case, reviewing all the GPS, WiFi and operator technics.
Regarding my experience in IoT from the past 5 years, one of the biggest market for LPWAn is actually assets tracking. In number I assume alarm backup is a little bit behind but thanks to one uniq actor. Tracking is far away first regarding the number of actors already having implemented a solution in production. This is also where we find the largest number of objects on the market for a single use-case.
That’s why I decided to start with this use case. I also know it really well for being the founder of one of these solution : Foxtrackr and I’ve already implemented all the technics described below.