
Amazon FreeRTOS – IoT operating system for microcontrollers - tdrnd
https://aws.amazon.com/freertos/
======
JoshTriplett
The most useful aspect of this, from my perspective: they've finally abolished
the non-FOSS license of the old FreeRTOS, and released it under an actually
Open Source license, namely MIT. That's one less headache to deal with.

~~~
revelation
It's a nice present from Amazon. They should keep doing this, I'd like a MIT
licensed QNX next please. God knows they have the money.

~~~
JoshTriplett
GPL would be fine too; I'd just like something that actually qualifies as
FOSS, rather than something proprietary.

~~~
apple4ever
GPL is also a non-FOSS license. It says it is, but its not.

Can't wait until the GPL is a rarely used license.

~~~
pjmlp
We will be back to the world of public domain and freeware.

Everything will have a light version open source, with the actual goodies only
available in the commercial version.

~~~
qznc
Until then we have the actual goodies only available in the cloud. ;)

------
roymurdock
For those looking for context around this acqui-hire/stewardship, here's our
take from late 2016 when Silicon Labs acquired FreeRTOS competitor Micrium:

 _Going forward, we expect to see non-traditional IoT software and
infrastructure platform vendors looking closely at the embedded OS space. A
compelling OS offering could drive millions of device signups for IoT services
platforms, such as AWS IoT, Microsoft Azure, and GE Predix, which derive
recurring revenue from services rendered to an installed base of devices.
Onboarding an OS offering (or complementing Windows 10 IoT Core with an MCU-
focused OS in Microsoft’s case) would allow these players to potentially hook
analytics and connectivity services into a portion of the billions of MCUs
that are shipped yearly, bumping up services revenue substantially.

We see this acquisition as a substantial, missed opportunity for leading MCU
vendors, such as Renesas, Microchip/Atmel, and Qualcomm/NXP/Freescale, who we
had shortlisted as likely acquirers. Micrium competitors Express Logic and
WITTENSTEIN would be rational targets for the next round of RTOS
acquisitions._

We had expected Microsoft to refocus its attention on the MCU space (perhaps
with a derivative of WinCE) but they have been more focused on providing
runtimes for maker boards and playing catch up with AWS, than building out the
bottom end of their OS portfolio. Ditto Google with Android Things.

Think this is a great move on Amazon's part providing, but not forcing, an
easy on-ramp to AWS for the billions of MCU-powered devices that ship every
year.

------
natvert
How do ppl like freertos vs zephyr vs nuttx?

Have any real comparisons been done? Both on flexibility (platform support and
code portability... I know... Nuttx, POSIX) and performance (interrupts,
context switching, etc)

I've been looking at zephyr which seems all around better, albeit a bit less
mature. I have no hard data though... Hence this question.

------
MichaelMoser123
>Amazon FreeRTOS ... and extends it with software libraries that make it easy
to securely connect your small, low-power devices to AWS cloud services

why do IoT devices have to connect to the cloud? Is there any legitimate use
case other than reporting data gathered on the customer? Why do have all these
gadgets have to snoop on us?

~~~
inamberclad
If you're going to sell a consumer an internet connected device, they're
probably going to assume that it'll work on its own and they can review and
adjust things on a website (that isn't a 192.0.0.*)

~~~
fgonzag
Sadly, thats the IoT world I want to live in. All the devices communicate only
through the internal network. This increases security a ton by default.

If you want to use it outside your network, then you do it the old fashioned
way, by setting up a vpn to your router.

~~~
ianhowson
I've shipped a few products that work like this, but the support burden is
incredible. Practically no users are capable of configuring IP addresses or
forwarding ports on their router.

Config-by-phone or config-by-cloud is definitely the way to go for consumer
gear -- see Roku or Chromecast for great examples.

------
qualitytime
"NASA Jet Propulsion Laboratory robots need to work in harsh environments,
often on the edge of the known Universe."

What?

~~~
leafario
It's edge devices man!

~~~
qualitytime
Dude, you think this Amazon Cloud Service will still be active when the
messages are received?

More important, will the device battery still be charged when it gets a
response back?

------
lultimouomo
Is this like the sample projects Microsoft makes available for interfacing a
variety of development boards to their IoT hub [0] (a few of which use
FreeRTOS), or is there something more to it? As usual the AWS docs are rich in
inspiring buzz-words and very poor in explaining what the thing actually does.
Not that Azure is better in that regard...

[0] [https://catalog.azureiotsuite.com/](https://catalog.azureiotsuite.com/)

~~~
revelation
In this case it seems Amazon outright acquired whoever was maintaining
FreeRTOS and has made it available under an MIT license:

[https://aws.amazon.com/blogs/opensource/announcing-
freertos-...](https://aws.amazon.com/blogs/opensource/announcing-freertos-
kernel-v10/)

So presumably they have bigger plans beyond examples.

~~~
roymurdock
Richard Barry, founder of FreeRTOS, has joined AWS as a principal engineer,
and will continue to support Amazon FreeRTOS. WITTENSTEIN high integrity
systems (WHIS) will continue to support and develop OPENRTOS and SAFERTOS,
commercial implementations of FreeRTOS for projects that require certification
or support.

Richard released FreeRTOS in 2003, and had been working on FreeRTOS in
partnership with WHIS since 2006, when they started to provide commercial
support for it.

~~~
rightos
I do hope they'll keep maintaining it - I've been working with an ESP32 lately
and the stuff Espressif has been able to build using FreeRTOS as a base is
nothing short of incredible. $7 for wifi and bluetooth on a development board.

~~~
bschwindHN
Agreed, the esp32 has blown me away with what it can do for a few dollars. I
have a custom board with the esp-wroom-32 and the temperature sensor I'm using
is more expensive than the esp32 module!

~~~
pjmlp
The ESP32 is just like a tiny Amstrad PCW 1512, with dual core and extra
network support.

Which for anyone that used a PCW, means it can do a lot.

------
HankB99
The "Get Started For Free" button on the front page has an ominous ring to it.
I wonder (hope!) that the free version available from FreeRTOS.org remains
available w/out an AWS account.

~~~
LeifCarrotson
Amazon has ownership of FreeRTOS.org now, but the good news is that they are
licensing it under the MIT license. Even if they hide the official download
link behind an AWS login, there will be plenty of public mirrors.

This is actually an improvement over the old "FreeRTOS open source license",
which was basically the GPL plus:

> FreeRTOS may not be used for any competitive or comparative purpose,
> including the publication of any form of run time or compile time metric,
> without the express permission of Real Time Engineers Ltd.

A strange exception, which ostensibly prevented you from running benchmarks?
But the GPL prohibits the addition of such clauses?

But now it's just plain MIT. Super easy.

------
Hasz
What's the advantage of a RTOS?

~~~
dmoy
Been awhile since I dealt with microcontrollers, but my recollection is that
some non-trivial amount of things _have_ to be done by a RTOS.

For example if your thing is attached to a sensor that spits out 47 bytes of
sensor data every N clock cycles, and has a buffer that is 94 bytes, then you
damn well better be reading that thing every N*2 clock cycles with a hard
guarantee that your routine is finished copying all 94 bytes of data by the
time it finishes (including time for interrupts).

This gets complicated when you have specific requirements about when data is
available or other things too (e.g. if reading data requires pulling pin X
low, waiting at least Y clock cycles, and then reading all data in no more
than Z clock cycles before returning pin X back to high, then good luck doing
that in a normal OS where you have no hard time guarantees).

~~~
HankB99
Two models are common in embedded systems: "main loop" or RTOS. In the main
loop model, once initialization is complete, the program loops indefinitely,
servicing various functions. Since the developer is responsible for a larger
portion of the code, it is easier to meet timing deadlines.

An RTOS provides a convenience to allow various threads to block and thus
simplify programming. I would choose an RTOS where there are a greater number
of independent tasks which need to be performed.

Both are alternatives to a conventional OS which makes hitting deadlines
difficult or impossible.

~~~
nitrogen
An additional advantage of some kind of RTOS, or at least using interrupts:
infinite looping uses more power than sleeping and waiting for interrupts.

------
simcop2387
It might have been nice of them to change the name slightly to avoid confusion
with the originating FreeRTOS.
[https://www.freertos.org/](https://www.freertos.org/)

~~~
jore
It seems it is exactly freeRTOS, but with some additional drivers and libs so
not changing the name seems to be a good decision I think. I am wondering
however if by using this os, the dev is obliged to use aws services. Isn't
this more of a limitation than a benefit?

~~~
michaelt
According to [1] "FreeRTOS remains open source, with no commitments. [...]
FreeRTOS users are not required to be AWS customers in any way."

Most likely Amazon's motivation is that they can make sure FreeRTOS makes
using Amazon's services very easy; there are some IoT offerings that can't
connect to Amazon's services, (or at least can't connect easily) [2]

By making sure FreeRTOS can easily pull in the right libraries, they can make
it easier for people to connect devices to AWS without compromising on secure
encryption.

[1] [https://aws.amazon.com/blogs/opensource/announcing-
freertos-...](https://aws.amazon.com/blogs/opensource/announcing-freertos-
kernel-v10/) [2] Last time I checked, Amazons MQTT service required TLS1.2 and
an esp8266 only supported TLS1.1

~~~
ronsor
The latest axtls port for esp8266 supports TLS 1.2.

------
wiradikusuma
What devices (not chip) on the market that they support? I can't seem to find
it anywhere.

~~~
Rebelgecko
They list 4 dev boards on their website, from Microchip, NXP, STM and TI. With
the exception of the PIC from microchip it looks like they are all ARM based.
Will be exciting to see if the ESP 32 becomes supported, since it already
supports regular FreeRTOS

~~~
MrBuddyCasino
And they already habe AWS IoT support in their SDK.

~~~
brutus1213
I'm curious if there are commercial deployments on these types of IoT
platforms? Last time I looked, it all seemed like devkits and examples and
such. One project I was following - mbed from ARM - it is quite unclear if it
ever made it beyond hobbyist/prototyping usage.

~~~
ramzyo
Agreed, a market survey of some sort would be helpful.

------
ausjke
Really nice move, hopefully FreeRTOS becomes _the_ OS for those IoT MCUs
similar what Linux does to higher end CPUs. It's always amazing to see many
great OSS projects are primarily done by an individual while becoming
extremely useful for so many.

------
cyberferret
Side note: I see that some of the graphic assets on the a:freeRTOS site have
"Amazon_Treadstone_..." in the names. I imagine "Treadstone" was the internal
project name for this initiative? Nice shout out to the Bourne series...

------
spraak
Amazon^WAmazing how four of the top page articles are about new Amazon
products today.

~~~
spraak
I guess an old IRC joke is lost on this audience?

------
amq
How does it compare to mbed-os?

~~~
nicolas314
Mbed OS supports a much wider range of boards and controllers:
[https://os.mbed.com/platforms/](https://os.mbed.com/platforms/)

~~~
yaantc
mbed is only for ARM based systems (license limitation, not technology
related), and in the embedded world there's much more than ARM.

FreeRTOS is easy to use on any and all CPU architectures, and is much more
common. Actually, FreeRTOS is the most popular RTOS in the embedded world with
Linux, and uptrending (see [https://m.eet.com/media/1246048/2017-embedded-
market-study.p...](https://m.eet.com/media/1246048/2017-embedded-market-
study.pdf) slides 62/63). This is a survey of professional embedded
developers, not newcomers. Notice than mbed doesn't even show up. My feel is
that mbed can be attractive to newcomers in embedded (easiness), but has not
(yet?) much traction with people already doing embedded dev.

~~~
nicolas314
Good point: Mbed OS is only for ARM-based processors. The main difference lies
in the vast number of drivers it offers, which is the reason why you already
have 100+ supported boards today. In comparison, FreeRTOS would run on any MPU
but without drivers you won't go far.

------
hoodoof
My money is on Linux based RTOS platforms. It's a bit of a surprise that
Amazon has backed a non-Linux horse in this race.

~~~
SAI_Peregrinus
Linux is totally unsuitable for the vast majority of microcontroller tasks. It
has way too much overhead, requires a 32-bit CPU with MMU (or a very slow
emulator like Dmitry Grinberg made[1], but that takes 6 hours to boot.)
Microcontrollers that FreeRTOS is used on are very often 8-bit or 16-bit jobs,
and even the 32-bit ones often lack an MMU. Linux on a micro is like trying to
go to the corner store to get beer in a C5 galaxy transport aircraft.

[1]
[http://dmitry.gr/index.php?r=05.Projects&proj=07.+Linux+on+8...](http://dmitry.gr/index.php?r=05.Projects&proj=07.+Linux+on+8bit)

~~~
InitialLastName
Since linux also fundamentally has non-deterministic timing, which makes it
incapable of doing what people want microcontrollers to do, you can replace C5
galaxy transport aircraft with a Nimitz-class aircraft carrier. It can't even
get to your corner store without converting the street into a canal.

