Spotlight: advancing satellite software development with Hastlayer – of satsearch member Lombiq Technologies

Spotlight

Satellite software development is a challenging practice, often requiring in-depth knowledge of specialist tools and systems that aren’t necessarily in wider use outside of the space industry.

This article is an introduction to Hastlayer, a satellite software tool built on the popular and accessible .NET framework. Hastlayer is produced by Lombiq Technologies, a paying member of the satsearch membership program, and was produced in collaboration with the company.


The difficulties of satellite software development

Although the costs of smallsats and nanosats, like many aspects of the space industry, are going down rapidly, satellite software development for such technologies is still not accessible enough for most developers.

Despite hardware platforms such as Xilinx Zynq becoming quasi-standards due to their widespread use, every On-board Computer (OBC) and payload processor manufacturer has their own set of satellite Software Development Kits (SDKs) that developers need to get to grips with to use the technology effectively.

Furthermore, programming such hardware usually requires specialist knowledge, along with tools that are far less convenient and user-friendly than those commonly used in modern app or web development.

In order to address these issues, satsearch member Lombiq Technologies has developed a tool called Hastlayer that enables developers to benefit from the .NET framework – a suite of tools and systems that can add real value to space missions.

satellite software development with Hastlayer by Lombiq

The benefits of .NET app development for space

As a well-established and widely used technology, .NET can provide some very interesting new capabilities for satellite software developers.

Even if the developers currently work in a highly specialized niche in the space industry, the tools and community that they are able to access are mainstream and widely available.

This enables a satellite software developer to be as productive as a web/mobile app developer. For example, they will be able to:

  • Access all of the modern .NET tools,
  • Utilize advanced de-bugging,
  • Perform automated testing, and
  • Carry out operations/application performance monitoring.

This also enables simpler transfer of knowledge between app developers. There are more training materials, resources, and technical documents available from a variety of sources that satellite software creators can use, and more people to help if needed.

This also applies to hiring and contracting developers – essentially, by using .NET a satellite team has access to more developers, potentially at lower costs.

Finally, it is important to note that .NET software enables the use of safe, managed code but that code is non-deterministic. This makes it suitable for app development, and hardware-accelerated on-board data processing, but not for real-time computations or mission-critical sub-systems.


An introduction to Hastlayer for satellite software development

Hastlayer is a software platform on .NET, the framework used by millions of developers around the world every day.

This means that users can access to a wide range of cutting-edge, highly productive development tools without compromising on performance.

Hastlayer can provide automatic hardware acceleration while still enabling users to operate within the safety and comfort of a modern, high-level programming environment.

Lombiq Technologies is relatively new to the space sector, but has significant experience in hardware acceleration.

The company is aiming to bring a fresh, developer-enabling viewpoint to the space industry, with ambitions to enable more powerful, efficient, and intuitive app development for satellites in a similar fashion to development for mobile devices.

an overview of software development for satellites with Hastlayer by Lombiq

Hastlayer gives .NET software developers a way to increase the performance and decrease the power consumption of their apps by accelerating them with FPGAs.

It essentially enables developers to speed up their programs while lowering the power consumption by basically turning them into computer chips.

They can write standard code, then instruct Hastlayer to process the computationally intensive part of their program. That part will then be converted to logic hardware, while the rest of the software interacts with it as usual.

Function calls work without changes, but behind the scenes an embedded chip is crunching the data. This can provide enhanced performance and power consumption benefit compared to CPU execution, especially if the algorithm is highly parallelized.

The entire process happens with FPGAs, which are chips that can be dynamically reconfigured to behave like any other computer chip.


How Hastlayer can benefit space missions

Hastlayer is in a beta stage, showing promising results with highly parallelized computations. It’s available to be used in all major cloud platforms, so engineers don’t have to purchase an FPGA or run FPGA vendor software.

All of the development operations occur on a remote server, so developers simply need to write the code.

developing software for satellite missions using .NET

The system has been designed to offer space software and hardware developers the following benefits and features:

  • Access to a highly productive environment, with cutting-edge IDEs and other tools, that is part of a modern, thriving development ecosystem.
  • To an extent everything is free; the core .NET framework and most of the ecosystem is open source.
  • Wide platform support for developing and running apps (using Windows, Mac, various Linux distros, x86, x64, cloud, and even ARM hardware platforms such as Zynqs).
  • Enterprise support is available.
  • A proven development ecosystem consisting of mainly web apps, cloud workers, desktop apps, and a greater number of mobile apps.
  • Similarities to Java, but operating with different languages, ecosystem, and community.
  • Lombiq’s support, as a dedicated and experienced .NET shop.

Performance benchmarks vs. standard .NET code

In this section are some basic performance benchmarks demonstrating how Hastlayer-accelerated code compares to standard .NET.

Note that when using FPGAs you’re not running a program on a processor, as when using a CPU or GPU. Instead, you create a processor out of your algorithm, therefore direct performance comparisons are difficult.

Nevertheless, the data below demonstrates an attempt to compare FPGAs and host PCs (or CPUs) that are approximately at the same level; e.g. it compares a mid-tier CPU to a mid-tier FPGA.

All of the algorithms are samples in the Hastlayer solution and are available for you to check. You can view the Zynq benchmark here on GitHub.

The test compares the Zynq-7000 FPGA’s accelerated performance to the ARM CPU on the same system-on-module. The benchmarks use the Trenz Electric TE0715-04-30-1C module connected to a TE0706 carrier board (with a form factor similar to a Raspberry Pi).

The technical details are as follows:

  • FPGA: Xilinx Zynq XC7Z030-1SBG485C SoC FPGA. Main clock is 150 Mhz.
  • Host: ARM dual-core Cortex-A9 MPCore CPU.
  • Both systems have access to 1 GB (32-bit) DDR3L SDRAM.

Trenz reported the typical power consumption as about 5W. Using an inline mains energy meter a power of 4.6 W minimum was measured.

The numbers below show the measured maximums. Two separate builds were repeatedly executed in loops during measurement. One build only executed the CPU version, while the other only the FPGA version.

discover how to improve satellite software capabilities with Hastlayer

You can find more measurements in the attached GitHub table including;

  • Total system Watts with CPU payload, and
  • Total system Watts with FPGA payload.

How to set up Hastlayer for a space mission

Hastlayer can be set up for full integration and testing, in a new or existing mission, in the following 4 steps:

  1. Select a massively parallelized part of your software that you want to accelerate with Hastlayer.
  2. Adjust the code so it can operate within Hastlayer’s documented limitations.
  3. Hastlayer then generates an FPGA hardware implementation of the code and provides access for the developer to use. Calls to the original functions will now be directed instead to the FPGA instead, in an automated fashion.
  4. If the performance is satisfactory, you can continue using the new hardware implementation.

If further calibration is required users should check the runtime details provided by Hastlayer to see which part of the application needs acceleration. Lombiq is also available to provide tech support and runs an open discussion board on GitHub for further information.


To find out more about the benefits that Hastlayer could bring to your technology, missions, and projects, further information is available in this talk at the Dotnetos Conference 2021 and in episode #4 of the Space Industry podcast by satsearch.

In addition to running R&D projects such as the development of Hastlayer, Lombiq Technologies is also a web software company working with open Microsoft technologies.

Clients include Live Nation Clubs and Theatres, the Smithsonian Institution and Microsoft itself. To find out more, please view Lombiq’s supplier hub on the satsearch platform here.

cubesat
dotnet
engineering
software
tech

related articles

Blog home

Microsatellite and CubeSat platforms on the global market

CubeSat thrusters and small satellite propulsion systems

Ground station service providers: an overview of telemetry and telecommand communication services and networks for small satellites