Oprogramowanie narzędziowe – większe zainteresowanie możliwościami, a mniejsze ceną
Nieodłączną częścią platform sprzętowych jest oprogramowanie, które dzisiaj stanowi nierozerwalną część wszystkich systemów komputerowych determinującą funkcjonalność. Tworzenie kodu firmware wymaga posiadania kompilatora języka C/C++ plus szeregu programów narzędziowych pozwalających na symulację i debugowanie programów, wgrywanie i analizowanie kodu. Bardziej złożone rozwiązania wymagają obecności systemu operacyjnego, systemu czasu rzeczywistego lub stosu do realizacji komunikacji. Coraz częściej projektanci wykorzystują zintegrowane środowiska projektowe zawierające komplet potrzebnych programów połączonych ze sobą w jeden zunifikowany system (IDE – Integrated Design Enviroment). Przeznaczone są one zwykle do obsługi całej rodziny procesorów o wspólnej architekturze i dostępne u producentów chipów (Microchip MPLAB itd.) oraz w firmach niezależnych, np. Keil. Z uwagi na ogromną popularność procesorów z rdzeniem ARM coraz większe znaczenie na rynku mają właśnie środowiska IDE dla tych chipów. Stąd też konkurencja w zakresie oprogramowania narzędziowego wydaje się największa właśnie w zakresie IDE dla ARM, bo jest to produkt uniwersalny i wykraczający poza jedną firmę i producenta.
Ogólnie, rynek oprogramowania projektowego postrzegany jest jako bardzo rozwojowy z uwagi na rosnące zainteresowanie klientów, stały wzrost skomplikowania, miniaturyzację i wiele innych ogólnych trendów w elektronice. Mimo że mamy coraz więcej dostępnych darmowych narzędzi, bibliotek, rynek uznaje się za nienasycony, a stopień konkurencji nie jest duży. Zmiany idą w takim kierunku, aby najważniejszym problemem do rozwiązania był pomysł na aplikację, a nie budowa układu elektronicznego lub pisanie kodu.
Aplikacje low-code
Wiele aplikacji mobilnych nastawionych jest z definicji na współpracę ze smartfonem. Z użyciem Bluetooth lub Wi-fiumożliwiają one programowanie, wizualizację stanu, sterowanie i podobne udogodnienia w powiązaniu z odpowiednią aplikacją. Jej przygotowanie obecnie jest też coraz łatwiejsze i dostępne dla mniej zaawansowanych użytkowników dzięki narzędziom ograniczającym szczegółowość programowania (low-code) lub nawet eliminujących taką potrzebę (no-code). W tym drugim przypadku tworzy się ją za pomocą wyspecjalizowanego kreatora, komponując z bloków funkcjonalnych. Z punktu widzenia platform IoT dostępność takich narzędzi online jest cenna, bo jeszcze bardziej ułatwia i przyspiesza realizację projektów.