Company name change

The business of Kiwi Embedded is being moved to Sparv Embedded AB. This is due to a name collision when incorporating the company. The proprietor Anders Petersson continues as managing director of Sparv Embedded AB. The nature of the business will be the same. (Although the number of involved persons is expected to grow.)

The new web site is online at Email will be

Content, emails, contracts etc will be gradually migrated.

Summer time

During the last year, I have spent most of my time doing consulting work at Zenterio. As previously mentioned, Zenterio creates software for set-top boxes, offering a full independent OS for digital TV operators. It’s a vibrant environment with over 100 employees from over 20 countries. I have been the technical lead for two components and I’m happy to say my work has met with high appraisal. My first priority is to meet the customers’ time frame. Second priority is delivering extensible technical solutions. I also take active part in planning and coordinating the development efforts. The team has been able to deliver in time in spite of some tough technical obstacles. I’ll continue to help them out after the summer.

During the summer, I will again focus fully on Windsond and an as of yet undisclosed project. There’s a clear potential for weather soundings within the lower part of the atmosphere and a lot of activities are going on in Kiwi Embedded in areas of market, hardware, firmware, software, measuring techniques and manufacturing. I’m also learning more about meteorology — a fascinating science. There’s certainly plenty to do!

Windsond is now featured at its own domain, That domain will present the product in all the detail it deserves. Future news and writings regarding Windsond and weather sounding will primarily be featured there. This site will continue to cover general topics and other products of Kiwi Embedded.

This also marks the introduction of a logotype for Windsond. The unassuming and stylish dandelion seed represents floating with the winds, low weight and ease of use. Like the dandelion seed, the Windsond radiosonde is its own parachute. Many thanks to my friend the game and graphics designer Martin Magni for the logo work!

Windsond software 1.40

The Windsond software has matured a lot over the winter. For example, the software can now generate a range of different file formats for the weather data. The settings dialog of this is pictured below. All generated files can be viewed within the application, even while the sounding is still progressing.

Here’s a quick breakdown of the major changes:

  • Better curve smoothing algorithm that preserves air layer transitions
  • Altitude axes start at the current ground altitude
  • Support generating nine different weather data formats
  • Select generated data formats in the Settings dialog and inspect the result in the Report panel.
  • Dewpoint and lapse rate are plotted
  • Plot history of sensor readings and GPS/pressure altitude
  • Winds are reported starting at 10m height
  • Bugfix in improving cut-down altitude accuracy when using the default cut-down altitude
  • Name of launch site can be entered by hand or selected in list

The software update is available without charge to all customers.

Visit to trade show ISNR

In Abu Dhabi, I visited the International Exhibition for Security and National Resilience (ISNR) on April 1. (No, it’s not an April fool.) This is a big trade show held every two years at the grand National Convention Centre in Abu Dhabi, UAE. The 400 exhibitors cover topics such as security, surveillance, terror prevention and counter-measures, emergency services like ambulance and fire-fighting, etc.

At the show I met with several interesting companies where Windsond would serve a valuable role. The small size and ease of deployment of Windsond makes it possible to gather local wind profiles in scenarios where this was previously unpractical. My goal is to continue exploring such alternative use cases in cooperation with these companies. I extend a thank you to exhibitors and fellow visitors from all over the world for the friendly reception!

Windsond deployed in UAE

I’m happy to announce that Kiwi Embedded has sold a Windsond system to Burkan Munitions Systems LLC, based in the United Arab Emirates. Burkan develops various types of ammunition and will use Windsond for gathering wind data during field tests. The company also uses a traditional weather sounding system and find Windsond to be a perfect complement for the lower atmospheric conditions. Advantages include portability, convenience, cost of operation and control over flight path.

A few days ago I conducted an on-site training with the professional and hospitable team. For the occasion I travelled to the UAE for the first time. We spent a day out in the desert for a hands-on walkthough of the system and two short soundings. They had no problem understanding how to operate the system and complimented the ease-of-use and set of features.  I was happy to see that Windsond will fit well into their workflow, after I make a small software adaptation.

This marks the start of Kiwi Embedded offering services in on-site training. Please contact me to discuss your case.

Channel Wizard shipping again

Pile of Channel Wizards

After a long period with a waiting list, Channel Wizard is now in stock and shipping again. Channel Wizard is a uniquely flexible piece of electronics that adds more channels to radio-control system. It can also act as PPM encoder, PPM decoder, adjust PPM frame length to certain radio systems and more.

As before, here is the manual. The announcement of availability was first done on rcgroups.


An old truth in software development is to use tools of the proper level of abstraction for the task at hand. But all too often we find ourselves reaching for C or C++ even when absolute execution speed isn’t critically important. Developers end up dealing with issues like type conversion, memory management and implementing basic data structures without even knowing what benefit in speed the extra work brings.

I got the opportunity to look into the scripting language Lua for a client and I’m thrilled to see the great things this language offers. It’s a compact and flexible language that adds easy control over program flow and data structures. Calls and data sharing between C and Lua are fairly straight-forward. The platform-specific parts, heavy calculations and big data can stay in C or C++ to preserve performance while other components can enjoy replaceable code, garbage collection etc.

Lua is by no means an unknown language — it’s used as part in a great number of games and applications. For example, the photography suite Adobe Lightroom uses Lua to define the GUI, totalling a full 40% of the source code (source). Hit games World of Warcraft and Grand Theft Auto 4 use Lua. Although the standard distribution is very basic there are many plugins, for example Love 2D for creating games.

Maybe the biggest argument for a scripting language is the ability for third parties to change and adapt the program behavior without compiling code, creating native libraries or risking to compromise the system security. Both Lightroom and World of Warcraft use Lua for this.

Python is another scripting language that’s very popular for its ease of development and availability of libraries for almost any purpose. Indeed, I often use it myself and the whole Windsond PC application is written in Python. But binary size and memory footprint count in embedded systems and the lower demands of Lua make a big difference here. All Lua language features compiles to 182 KB with additional 244 KB needed for the standard libraries. When needed, Lua can allegedly be reduced to 100 KB with libraries. Standard Python is at least 1000 KB. Python-on-a-chip reimplements parts of Python to 55 KB program memory (flash) to potentially be a contender.

Lua also offers an alternative for for microcontroller projects, eLua. It adds direct access to many hardware features. It has support for some Cortex-M3 and AVR32 MCUs. The documentation is a bit fuzzy on the hardware requirements, but seem to be in the range of 100s of KB flash and down to 10 KB RAM.

Ground winds

Some data formats include a field for the ground wind speed and direction. At first glance, Windsond should be able to report this… but it can’t, since the wind is sensed by the balloon floating with the air movements (i.e. winds) as it rises. Before the balloon starts rising it’s anchored (typically by someone holding it…) and can’t measure winds.

But wait a moment, what exactly is meant by winds on the ground? Due to the physics of fluid mechanics, wind movement very near the ground will be much lower than expected, even approaching zero extremely close to the surface. The ground drag is felt up to 200-400m height, depending on the type of terrain. As it turns out, the standard is to measure ground wind at 10 meters height. Here’s another discussion, by Belfort Instrument. It takes Windsond several seconds to reach 10m height so the GPS has time to sense the change in speed and direction.

Still, the wind close to the ground is more turbulent than at altitude, so a single reading from Windsond cannot capture average conditions like a ground-based weather station can.

By the way, the GPS senses the movement by doppler effect. This is more accurate than calculating heading and distance between successive position reports — GPS position reports may experience sudden jumps and even at the best of times they have a degree of uncertainty that would severely limit the time resolution possible.

At the moment Windsond measures wind once a second and makes an average over the last three seconds when sending data to the ground station. A software extension could transmit all three values to the ground station. A future experiment is to measure five times a second and save this to on-board storage for downloading after the sounding finished.

Detachable Battery

Looking down into the sonde, with the new battery mounted

From now on, Windsond sondes use a mini connector for the battery, and the battery itself is fastened by velcro. To charge the battery, remove it from the sonde and connect it to the USB charger. Previously, the battery was soldered in the sonde and the USB charger connector needed to extend down into the sonde encasing.

This change removes the concern whether a particular sonde is charged and even enables the same sonde to be launched multiple times in succession by changing to a fresh battery. The battery can be removed for repairs, or replaced in case it’s damaged from deep discharge. For different trade-off between weight and running time, other battery sizes can be employed.

Another issue was the strict shipping regulations for LiPo batteries that affect world-wide shipping since Jan 1, 2013 to handle the risk of spontaneous battery combustion that have occurred aboard aircrafts. The rules are complex and cause headaches for many businesses. Even though the Windsond battery is miniscule and hardly constitutes a risk for anything, limitations may that apply — depending on whether you turn to the Swedish Postal Service, DHL, UPS or Fedex. Separating the battery gives the option to dropship the batteries directly from China which bypasses the problem altogether since China has less strict shipping regulations than Europe.

The battery assemby is custom-made for Windsond and I’m happy about how this change makes the system more modular and easier to handle.

Even charge three batteries at the same time from a USB port