FreeRTOS is a real-time operating system for microcontrollers and small embedded processors. Its kernel provides task scheduling, queues, semaphores, mutexes, software timers, and other primitives used to coordinate concurrent application work. Engineers compile the kernel and selected libraries into device firmware, together with application code, hardware drivers, and a board-specific configuration. FreeRTOS is not a cloud-hosted runtime, and devices do not need an AWS connection to use the kernel.
The kernel supports priority-based scheduling, allowing time-sensitive work to run ahead of lower-priority tasks. Applications commonly separate sensor acquisition, communications, control logic, and maintenance into distinct tasks. Predictable behavior still depends on application design: long critical sections, inappropriate interrupt priorities, priority inversion, and blocking operations can cause missed deadlines. Allocate task stacks deliberately, measure stack usage under realistic workloads, and choose a memory allocation strategy that matches the product's reliability requirements.
FreeRTOS libraries address common embedded networking requirements, including MQTT messaging, HTTP communication, and TLS integration. Libraries such as coreMQTT, coreHTTP, and corePKCS11 can be selected independently according to the application. Actual connectivity depends on the board, network interface, TCP/IP stack, and TLS implementation. Before choosing hardware, verify processor-port support, toolchain compatibility, available RAM and flash, network drivers, and any secure element or cryptographic acceleration requirements.
For AWS-connected products, a common architecture uses MQTT over TLS to communicate with AWS IoT Core. Each device typically has its own identity and certificate, with an AWS IoT policy restricting access to the required topics and resources. Store private keys in protected storage where possible, and plan certificate provisioning, rotation, revocation, and recovery before production deployment. A PKCS #11 integration can help isolate cryptographic operations, but the level of key protection depends on the underlying implementation and hardware.
Fleet maintenance also requires a complete firmware update design. AWS IoT Jobs and an over-the-air update agent can coordinate update delivery, while Amazon S3 can hold firmware artifacts. The device bootloader must enforce the intended image verification and rollback behavior; downloading a new image alone does not establish a secure update process. Test interrupted downloads, power failures, invalid signatures, and failed application startup.
The FreeRTOS kernel and AWS-provided FreeRTOS libraries are available without runtime license fees under the MIT license. Review licenses for any additional components included in the firmware. AWS services used for messaging, storage, monitoring, and fleet operations are billed separately. For long-lived products, select maintained component versions, track security advisories, and establish a repeatable process for rebuilding, testing, and distributing firmware updates.