We continue our series of posts on the development of complex IoT solutions. According to MarketsAndMarkets, healthcare IoT market is on the rise and it is expected to reach USD 94.2 billion by 2026. Medical software development market presents plenty of opportunities. In the blog below, we will look at some challenges we’ve faced while building IoT solution for healthcare, touch on a subject of software development, and discuss firmware development ten-stage work framework in detail.

Compliance and security

The challenges in Healthcare IT start with the need to follow complex compliance rules and regulations. Luckily, we know how to address them.

ABCloudz utilizes a broad range of quality and security standards and requirements in our practice. To name a few, we thoroughly examine whether the app is compliant with HIPAA (in the U.S.) or GDPR (in Europe) data protection requirements. We also consider quality and security demands released by the FDA and through ISO. Continuous compliance review following each stage of the software development process is what helps us successfully complete IoT healthcare processes.

Developing an IoT solution for an asthma and COPD management device

In the previous article, we discussed the project that involved building an IoT solution for an asthma and chronic obstructive pulmonary disease (COPD) management device. We provided some insights on project organization and team composition. Now, it’s time to take a closer look at the development process.

The solution required us to build software (iOS and Android apps, web platform for statistics tracking, and administrator web app) and firmware for the customer. To ensure efficient delivery process, we worked with a test device prototype and coordinated the efforts of both software and firmware developers.

IoT software development process

The scheme below illustrates the main software development stages:

You can get familiar with the description and aspects of the typical software development stages by reviewing some of our previous articles. Also, in the future postings we will discuss testing stages, such as BLE device integration testing introduced to address the challenges coming out of a complexity of the IoT project.

In this article we will focus on the peculiarity of firmware development.

IoT firmware development

The most common firmware development challenges are energy consumption, security, and connectivity. But here we will focus on the two other general challenges that were especially relevant to the project. These were:

  1. Coordination with the software development team
  2. Commencement of work on firmware long before we had a hardware (HW) prototype with which it should interact.

Let’s take a closer look at the solutions for these two challenges.

The problem of coordination

We solved the first challenge by establishing a six-stage work framework. Each stage was followed by a different set of reviews. We could move on to the next iteration or stage only when all components of the previous step were validated by the responsible team members. Here is the scheme that displays these six stages with different validation approaches:

Firmware before hardware

As per the second challenge, its solution is described in the step-by-step firmware development process.

And here is the scheme that illustrates it:

We’d like to focus on these stages in more detail.

1. Structure for the schematic prototype

First we created a structure for the schematic prototype. We considered all architecture components to understand all connections and features of the scheme that would be applied in a PCB (Printed Circuit Board).

2. Schematic prototype

We still didn’t have a hardware prototype from the customer, so we utilized a development kit and customized it to create a schematic prototype. We provided recommendation to the customer to rely on the Nordic microcontroller because of our solid expertise in its use. Given this expertise, we knew that such a controller would work as a development kit prototype. Our firmware specialists then drew a schematic prototype based on the dev kit.

3. Development kit customization

Our developers modified the development kit with a few components and wires. As a result, we came up with the hardware that allowed us to start firmware development as soon as possible.

4. Debug/test mode implementation for dev kit prototype

We designed a special test mode in the firmware to run tests, read test data, and emulate device operation mode switches.

5. Hardware prototype based on the custom PCB

This is where the real action began. At this stage, we received a hardware prototype with a PCB that included all the required components and circuit design features.

6. Debug/test mode implementation on the HW prototype

Test points on the custom PCB allowed us to use test fixtures and simulate signal and user interactions with the product. With this, we could now run automation tests.

7. Firmware business logic implementation

Now it was time for business logic implementation. This stage was based on user needs involving two factors:

  • Software requirements and specifications;
  • Electrical requirements (i.e. device charge consumption). While making decisions on energy consumption, we:
    – considered device battery energy consumption in both active and sleep mode,
    – estimated the average time the device would spend in the active mode annually (assuming moderate usage),
    – based on the above-mentioned factors, we estimated the amount of charge that would be spent annually based on the above-mentioned factors.
    Note: we relied on a standard assuming device would hold the charge for one year of moderate use.

8. Integration testing through the test bench

We developed a test integration framework for automated firmware and device integration testing.

While working with the PCB, we used test points emulating device buttons and other controls. Then, we delivered the PCB to a test bench team. They used machines with test probes for interactions with test points. All results were documented as we proved the product met the customer’s quality requirements.

You may find more information on our IoT firmware and software testing processes in the article dedicated to this topic.

9. Manufacturing line validation

Later, each manufactured PCB went through the same rigid integration testing procedure for validation.

10. Product release

Once the PCB was validated it was integrated into the device. The customer could was now ready to release their breath recording device.

A few tips on minimizing the cost of IoT healthcare development

Healthcare IoT development is not an easy path. Development of a quality IoT system may cost a fortune. Fortunately, we have solutions to help you save money and time.

1. Start test unit development simultaneously with firmware development

To save cost, you should plan three steps ahead. That’s why we decide on test units before we start the actual firmware development. Also, we develop firmware testing tools in parallel with the actual PBC development.

The key benefits of this approach are:
1) Real-time coordination of firmware development and testing workflows, and

2) Saved time because we can usually start testing as soon as firmware is ready.

And, as long as time is money, this practice helps us save the client’s budget.

2. Use a development kit before you receive the actual hardware PCB

In many cases, obtaining a hardware PCB from the client may take quite a long time. To mitigate this problem, we order a sample microcontroller that will be used in the hardware PCB as a dev kit. We start developing schemas of connectors, wires, and test points on this dev kit.

We also use the dev kit for early debugging and testing. The schema is transferred to the actual hardware PCB once we receive it. We recommend our clients to use Nordic microcontrollers for their PCBs. That’s because we already have have good experience in working with a development kit prototype.

3. Approach firmware as a jigsaw puzzle

We have a solid portfolio of completed IoT projects. And we mostly work with Nordic microcontrollers. That’s why we have a wide range of schema parts and solutions applicable to these microcontrollers.

As a result, firmware development reminds us of solving jigsaw puzzles. We collect various pre-developed schema parts and practices and combine them according to specific project needs. This helps us reduce development time by around 50%, therefore, cutting project cost.

This practice wouldn’t be possible without our extensive expertise in developing IoT firmware solutions. Our reusable and repeatable practices are based on our experience.

ABCloudz, a perfect IoT development partner

We hope that now you have a solid understanding of how we handle IoT development for healthcare at ABCloudz. We helped the customer develop software and firmware that perfectly integrated with each other, as well as with their breathe management device. We also ensured HIPAA compliance of their software system by providing the customer with a HIPAA audit.

Follow our blog for more insights on developing IoT apps. For example, in one of our next articles, you will find an overview of the IoT software and firmware testing process.

And don’t hesitate to contact us when you need help with implementing your ideas! IoT development is full of challenges, but we are the ones to handle them in style.

Ready to start the conversation?