Home Cloud Computing Top 20 Best IoT Operating Systems For Your IoT Devices in 2020

Top 20 Best IoT Operating Systems For Your IoT Devices in 2020

IoT operating systems are designed to perform a specific task which is constants to the internet of things devices. Like other operating systems internet of things connect between the IoT device and the total procedure like power supply, memory, integrated systems, and the processing capability. Though it is an embedded system used for data connectivity between devices and the internet.

Iot OS connects and communicate over the network like a car, digital television, ATM booth, traffic signal, airplane control, digital camera, point of sale, digital meter, a digital media receiver, and many other possibilities. As we know, the world is changing for the internet of things so many technology giant companies investing a lot to make embedded systems iot. As a result, there is a requirement for knowing various types of IoT OS. In today’s discussion, we will talk about the best 20 IoT operating systems.

20 best IoT operating systems


For any IoT project operating systems are the must-have requirements for its successful operation. At the Modern internet of things system following the cloud computing architecture. Though the memory of that architecture is very few the performance is extraordinary. Some of the IoT operating systems are very common to the programmers.

 1. Contiki


contikiContiki was invented in the year 2002 as an Open-source IoT operating system. It is very popular for efficiently running using internet protocol IPv4 and IPv6. With the low power microcontroller, it can perform beyond the expectation. Contiki supports wireless standard RPL, 6lowpan, and CoAP. Contiki is very much suitably workable even a low-speed internet connection.

Basic Features

  • Contiki IoT operating system provides multitasking proficiency which contains built-in Internet Protocol Suite.
  • To run the operating system you need 3 kb RAM and 30 kb ROM.
  • This platform uses protected architecture.
  • It is a very lightweight, mature and flexible operating system.
  • The IP protocol of this OS supports an 8 bit or 16-bit microcontroller.
  • The other protocol is CoAP, RPL, 6LoWPAN, and rime.
  • You can use it for commercial and industrial purposes.

Get Contiki

2. Windows 10 for IoT


Windows 10 for IoTThe Internet of Things lover who knows the visual studio and Microsoft ecosystems he or she may choose Windows 10 for IoT. This core edition is free to use and easy to download. But the limitation is that you can not run Win32 apps on the pi 2.

The Windows 10 for IoT is available in three different versions. The first one is the IoT mobile which is built to run on ARM architecture. The second one is the IoT core to support the Raspberry Pi and Atom processor of Intel. The final IoT type is Windows 10 Enterprise of which most features are found in desktop applications. But it is limited to running a single app.

Basic Features

  • Windows 10 for IoT is designed to fulfill your business needs.
  • It allows you to use the power of Windows to create a unique solution securely.
  • It is fast approaching towards IoT market.
  • For the intelligence edge, it built smart devices.
  • Some examples of Windows 10 for IoT are as follows:
  • Misty Robotics, Askey TurboMate, Innowi ChecOut M, Johnson Controls GLAS thermostat, Keith & Koep Cocktail Booster, ActionPoint, Rockwell Logix 5000, Advantech and Redback Technologies.

Get Windows 10 for IoT

3. Google Brillo IoT / Android Things


android thingsAndroid Things is the newest version of Google Brillo IoT. Google Brillo is an Android-based embedded IoT platform of Google. Taking the consideration of the MCU platform it is designed to use with low power and low memory to connect with the nearby connected devices. It supports 32-64 MB RAM, BLE technology, WiFi, Bluetooth low energy and many other Android-based embedded technologies.

The second endeavor of Google is to create android based new OS for returning to the war of the IoT platform. in San Francisco, during the conference of Google I/O 2015 Developers Conference they introduce Brillo as a new IoT OS.

Google Brillo IoT Operating systems can help out to smart appliance manufacturer developers to make their product connectable with another number of things. For example, it can be switching the light to a smoke alarm. You can utilize Brillo with a variety of hardware platforms which are lower-level versions.

Important Features

  • Google Brillo IoT OS is super slim because everything an IoT developer requires is a built-in feature of that OS.
  • Because of its easy-to-understand matrix and crash reporting feature its device administration become easy.
  • You can update the service through the web console. 
  • This iot operating system ensures secure communication.
  • Google Brillo IoT is also planning to introduce Nest and Nest ecosystem devices.

Get Google Brillo / Android Things OS

4. RIOT IoT OS


RIOT IoT OSIf you consider the name of any friendly internet of things operating systems the name of RIOT comes to mind. It powers the IoT like Linux empowers the internet. RIOT is a free and open-source operating system that supports most low power microcontroller architecture and IoT devices. It is secure, durable, user-friendly and opens a standard operating system.

If you love to think out of the box then you may use this Internet of things OS because it runs on several platforms including the embedded devices. The most common Architectures of this OS are Cortex-M0 -M0+ -M3 -M4 -M7, Cortex-M23, ESP8266, ESP32, MIPS32, MSP430, PIC32, RISC-V, x86, AVR, and ARM7.

Since RIOT is free software, therefore, you can redistribute and modify this operating system. RIOT community developed its library but there are some external libraries of separate licenses. 

 Important Features

  • RIOT is developer-friendly, resource-friendly and IoT friendly.
  • Standard programming in C, C++ and offers tools such as GCC, gdb, Valgrind.
  • Using the native port it develops under Mac or Linux OS.
  • Due to ultra-low interrupt latency, it has the real-time capability.
  • Tools and utilities like 6LoWPAN, CoAP, CBOR, IPv6, RPL, and UDP.

Get RIOT

5. Apache Mynewt


Apache MynewtApache Mynewt is another popular Internet of Things Operating System which you can like for its tiny embedded features. With the constraint of power, memory, and storage, it can work for a long time. The source code of this free and open-source software is distributed under the Apache License 2.0. 

Among the various microcontroller like industrial IoT systems and medical equipment, it is very useful with the 6kb kernel. 

Important Features

  • Apache Mynewt isis enriches with Lua interpreter. 
  • Check the statistics of regression testing and other logs for the major package.
  • You can get the console access and shell package.
  • To allow client code it supports file system abstraction.
  • Watchdog timer of multistage.
  • Dynamic heap and pool memory management.
  • Mutexes, Semaphores and system time.
  • This IoT OS also supports preemptive multithreading and tickets priority-based scheduling.

Get Apache Mynewt 

6. Huawei LightOS


Huawei LightOSThe realtime kernel-based Huawei LightOS IoT operating systems are well known for its lightweight nature. It is compatible with many components of basic operating systems like task, memory, type, communication mechanism and queue. It also performs better in low power and memory scenarios.

Huawei LightOS supports the developers to develop open-source IoT ecosystems in the technology ecosystem in commercial use and other aspects. To launch an open-source development kit and industry solution it has corporate with several partners. On the other hand, to improve development efficiency and lowering development requirement it offers its developer with one-stop software architecture.

The Huawei LightOS is developed by the Chinese technology giant Huawei in the year 2015. The standard API of this iot operating systems makes it diversified. It has minimized your extra expenditure for developing IoT equipment. Comparing to another kernel Huawei LightOS has the lowest one which is 6kb.

Important Feature

  • Huawei LiteOS supports various cores like Cortex-A7, Cortex-M3, Cortex-M4, and Cortex-M7.
  • It accumulates all the static function, represents real-time data, consumes low power and provides both dynamic as well as static memory algorithm. 
  • The well organized time management offers system time, tick time and software time. 
  • It processes excellent inter-process communication which includes Event and Massage queue.
  • Huawei LiteOS is capable of static function compaction, Semaphore, and Mutex.

Get Huawei LightOS IoT Operating Systems

7. Zephyr IoT OS


The small and real time-based IoT OS Zephyr is one of the best choices for the internet of things developers. It emphasis microcontroller and supports multiple architectures. This open-source IoT operating system is developed by C and assembly language by the Linux and Wind River Systems. It supports lots of IoT platforms including Cortex-M33, Cortex-M3, ARM (Cortex-M0, ARC, RISC-V, Nios II, Xtensa, Cortex-M4, Cortex-M23, Cortex-R4, Cortex-R5), x86, x86-64.

Zephyr IoT OS provides a wide range of flexibility and freedom of choice. You can connect small footprint IoT devices and integrate them with cloud computing. With the Cloud agnostic you can connect with transport layer security to any cloud. This small footprint kernel is designed for resource constraints systems which can allow you to use simple embedded environmental sensors and IoT wireless gateways. 

The kernel of Zephyr IoT operating sys offer offers various features like Multiple scheduling algorithms, AMP, SMP, Multiple scheduling algorithms and Single address-space. As the configuration system this internet of things, OS uses Kconfig and Device tree. This RTOS is based on CMake so that it allows it to be built on Windows, Mac OS, and Linux. 

Important Features

  • Since Zephyr IoT OS is free and open-source software ( FOSS) therefore it is highly configurable beside that it uses device tree support ( DTS).
  • It has the mechanism of device firmware update and management.
  • For the non-volatile storage, it provides a virtual file system interface that has several file systems.
  • It has the set of protocol stacks like OMA LWM2M, MQTT, IPv4 and IPv6, Bluetooth Low Energy, CAN, 802.15.4.
  • This internet of things OS requires 8 kb of RAM and 512kb of ROM to run.
  • It also provides system development kit with appropriate documentation, threat modeling, code review, and penetration testing facility.

Get Zephyr IoT OS 

8. Snappy Ubuntu Core


Snappy Ubuntu Core is a secure and open-source OS for IoT. It is a transactional version of Linux OS which runs on a highly secure Linux package. This IoT operating system doubled down the internet of things. Using this same kernel, system software and libraries of classic Linux its users can develop snaps on their Ubuntu. Since IoT requires less memory, power, and functions than CPU, therefore, it has a minimal distribution of the internet of things. The main feature of Snaps Ubuntu Core IoT OS is that you can use the same desktop as well as cloud technology.

Snappy is like a container of software packages. It is confined to a sandbox so corruption is strictly resistance. So it limits your damage. FOr the common vulnerability, it scanned regularly. The cloud management of Snappy Ubuntu Core is admirable because of its efficient cloud server as well as a cloud platform. The requirement of Snappy Ubuntu Core is A Raspberry Pi 2 or 3, microSD card, Ubuntu Core image, monitor with an HDMI interface, HDMI cable, and USB keyboard.

 Important Features

  • Snappy Ubuntu Core provides strong security on IoT devices.
  • It uses Ubuntu community research.
  • If required it can roll back the automatic up-gradation.
  • It ensures the exact application run by ensuring key-based authentication.
  • Snappy Ubuntu Core uses very simple declarations for system access.
  • It offers powerful slot-and-plug (“interface”) functions.

Get Snappy OS

9. TinyOS


If you are planning to use a component-based and embedded wireless sensor network then you can use the awesome TinyiOS. It is an open-source operating system which is developed to low power wireless device. Besides sensor networks, it is also used for ubiquitous computing, smart buildings, cloud computing architecture personal area networks, and smart meters. 

The operating system is written in nesC language. It is basically in the form of Java and shell script. This Internet of Things Operating System is useful for the microcontroller which has networking capabilities. It is suitable for resource constraints device having a few kb RAM. It is designed in such a way that a very low power device can run it very well.

 Important Features

  • TinyOS iot operating systems support various microcontroller families and radio chips.
  • The code is highly robust with very few bugs.
  • This Internet of Things Operating Systems is excellent for sensor networking and low power operation.
  • This IoT operating system supports secure networking like CC2420 and 802.15.4/ZigBee radio chip.
  • Besides a few limitations like understanding the programming model and writing difficulty, it may the best IoT OS.

Get TinyOS iot Operating Systems

10. Google Fuchsia


Google Fuchsia is another trustable IoT OS which is currently developing under Google. Without any official announcement, it became popular in the year 2016. Its symbolic meaning and color are awesome which is a new OS. The “Pink + Purple makes Fuchsia. Chrome OS and Android are also the creation of Google. 

The open-source IoT OS Google Fuchsia comes from the Zircon OS family on 15th August 2016. Besides the microcontroller embedded system, it runs on various smartphones, personal computers, and tablets. This microkernel-based operating system is run on a low power device. Some specialist is thinking that this IoT OS may be replaced to Android OS shortly.

Important Features

  • Google Fuchsia is workable on the Android Studio emulator.
  • Some specialist doubts the replacement of Chrome OS by Google Fuchsia.
  • This IoT Operating system is written in C, C++, and Dart.
  • It is one of the best open sources by Google.
  • The color of Google Fuchsia is in between red and purple which means a combination of red and blue.
  • Fuchsia is the name of a flower.
  • Fuchsia also supportable POSIX that means a subset of Portable Operating System Interface.

Get Google Fuchsia

 11. TizenRT IoT Operating Systems


The IoT Operating system TizenRT is based on FlOSS and powered by Linux kernel. This open platform OS has shifted to consumer electronics like Smart TV, wearable, home kitchen appliances, and many security-related products. It supports low-end and low-cost IoT devices. With an LCD button without display, it can navigate your requirements.

The goal of TizenRT IoT OS is to cover all types of low-end devices. This lightweight platform is suitable for typically equipped with Cortex-M/R processors with MPU which has a Flash capacity of less than 16 MB and RAM less than 2 MB. This RTOS based environment model has some limitations like it can be inferior to a Linux environment and it can not load additional modules at runtime. To solve the issue it has adopted some environments like POSIX API, Shell, BSD Socket API, and Kconfig build configuration.

Important Features

  • The Linux based IoT Operating Systems TizenRT is workable on both mobile platforms as well as small embedded systems.
  • Its upgraded version is used at our day to day appliance.
  • This lightweight kernel-based IoT OS is monolithic and comparable to AndroidOS.
  • According to demographic configuration, the mobile operators can customize their offer with this IoT OS.
  • It is flexible to the developer, device manufacturer beside the mobile operators.
  • TizenRT is thinking to add some intelligence and voice features.

Get TizenRT OS

12. Raspbian IoT Operating Systems


Raspberry Pi is one of the most useable platforms used in IoT devices. It is a series of small single-board computers. It is a highly flexible OS that you can use as your IoT device. You can integrate the third party operating systems with this IoT OS like Ubuntu core, Windows 10 core, and OSMC. If you are planning to develop some IoT Project then it can be a suitable one. 

 Raspbian is versatile, cheap and powerful compared to the competitors of the IoT market. Though the project is done by Debian Linux, Fork and many other OS Raspberry Pi are also useable. It provides opportunities to pre-install, experiment and educational purpose use.

Important Features

  • The kernel of Raspbian is similar to the Unix kernel.
  • It uses a computer algebra program.
  • It promotes Scratch and Python as the main programming language.
  • The default firmware of Raspbian is a close source however unofficial open source is also available.

Get Raspbian OS

13. Amazon FreeRTOS


Amazon FreeRTOS is a secure real-time IoT OS which receives over the air updates. It has many demo applications with qualified boards. FreeRTOS is a free and open-source downloadable OS where you can contribute, enhance and change the code through GitHub. Since it is under MIT open source license, therefore, you can use it for both personal and commercial use.

There are three types of Amazon FreeRTOS IoT OS such as minor, major and long term support. It is perfectly useable on a microcontroller-based embedded system where it is easy to use, code, deploy and maintain. With this Amazon FreeRTOS operating system, you can securely connect AWS Cloud and develop any cloud-based IoT system. The manufacturer of microcontrollers like connectivity sensors, security peripherals, and Ethernet controllers may become benefited through the IoT OS. The enterprises can also use the OS for gaining operational and business efficiency.

 Important Features

  • Amazon FreeRTOS extends the FreeRTOS kernel. 
  • It is one of the large ecosystems of existing tools.
  • The rich software libraries allow some common functions like Wi-Fi or Ethernet, over-the-air (OTA) update feature and support for data encryption and key management.
  • It is suitable for Industrial customers to utilize microcontroller-based devices for generating data.
  • The consumer manufacturer uses this for business purposes for embedding IoT OS on home appliances, wearable technology, and smart lighting manufacturers to standardize microcontroller-based devices.
  • It is also suitable for B2B commercial devices.

Get Amazon FreeRTOS IoT OS 

14. Embedded Linux


Embedded Linux is a type of internet of things operating a system which is developed for embedded device and different appliances. Though it is using the same kernel of Linux but different form Linux OS. The embedded Linux is customizable for Linux OS. This OS has a smaller size memory, the requirement of low power and runs on specific purpose applications.

The android operating system is a type of an embedded Linux which is customized for Smartphone, Smart TV, Wireless routers, Tablet PC, Navigation device and other consumer application devices. It is also useable on navigation equipment, spacecraft flight software, networking equipment, personal video recorders (PVRs), in-vehicle infotainment (IVI), machine control and industrial automation.

 Important Features

  • Embedded Linux needs low memory so it supports outdated or low resource hardware.
  • Because of its low-cost feature, it is used for many consumers’ products. 
  • Because of being embedded operating systems it has many suppliers and developers.
  • This Internet of Things Operating Systems supports embedded applications like SQLite, Boa, thttpd, PEG and NANO.
  • It has the flexibility of configuration than other IoT OS.
  • Embedded Linux has only 1000kb memory space which provides faster and reliable support.
  • Busybox, Mobilnux, and Maemo are the remarkable platform of Embedded Linux OS.

Get Embedded Linux

15. Mbed OS


Mbed OS is one of the quicker IoT OS for embedded devices. It is a trusted OS to support secured operations. Mbed is an open-source and free operating system having all the facilities of other IoT OS. You can connect various products with Mbed OS like standards-RTOS kernel, middleware for storage and networking, remote device management, based security and connectivity stacks.

Mbed OS is specially designed for the internet of things that are integrated with networking, connectivity and security stacks. It allows connecting more than 70 cloud, silicon, module, and OEM partners. The API of Mbed Os allows keeping the code clean, simple and portable with the advantage of communication security.

 Important Features

  • Mbed offers a large number of codes and examples to use.
  • For the security of internet-based applications, it uses TSL and SSL protocol.
  • Its rich library automatically updates the required data.
  • The software developer can make a prototype with easy action.
  • It has an enormous community of over 400000 developers and 150 development boards.
  • You can get some IoT project ideas like Soil Moisture Sensor, Waste Management, Anybus Wireless Bolt and PlacePod Parking Sensor.

Get Mbed OS

16. Device OS


Device OS is another suitable internet of things operating systems to run your embedded device. This easy to use programming framework helps you to write any application and run your microcontroller-based device. It is such a platform where the hardware, software, cloud infrastructure, and connectivity integrated. From the out of the box, you can deliver OTA updates with a quick and safe method.

 Device OS offers to call a function that tells your device to take any action from a remote place. You can send a message to the devise cloud, retrieve a variable for reading the value of the sensor remotely. The setting up Device OS is very easy so that no custom integration is required to push a remote update. 

 Important Features

  • Device OS provides zero disruption because the device cloud sends immediate OTA updates.
  • This Internet of Things Operating Systems provides a unique intelligence framework and built-in context-awareness.
  • It manages low-level integration to your hardware by which you can focus your engineering time.
  • Device OS IoT OS does not allow plain text so every message is encrypted and secure.

Get Device OS

17. Nucleus RTOS


Nucleus RTOS is one of the best real-time operating systems which has both 32 and 64 bit embedded platform. It is designed for industrial, consumer, medical, aerospace, and IoT applications. The latest version of Nucleus RTOS IoT OS supports safety certification, power management, process model and heterogeneous multicore SOCs.

 Nucleus RTOS has announced support for Microsoft Azure cloud computing. It also supports MQTT, HTTPS, CoAP, and 6LowPAN. This close source OS is workable on PowerPC, Altera Nios II, Renesas SuperH, Infineon, ARM, NXP, MIPS, TI, Xilinx MicroBlaze, and others. 

 Important Features

  • Nucleus RTOS has already deployed over 3 billion devices with a highly scalable micro kernel based real-time operating system. 
  • The developer of Nucleus RTOS can usefully multi-core features which include xAMP and SMP support.
  • It has the connectivity of Connectivity (CAN, I2C, SPI), USB 2.0 and USB 3.0
  • For the low-power design, you can use Power management APIs.
  • Nucleus RTOS offers extensive architecture support like Arm, MIPS, and Power.
  • For FAT and SAFE, it supports File system software.

Get Nucleus IoT OS 

18. Nano RK IoT Operating Systems


Nano RK is a real-time based Internet of Things Operating Systems from Carnegie Mellon University. It supports wireless sensor networks with multi-hop networking. This OS is currently operated on the FireFly Sensor Networking Platform. It has less than 2 KB RAM and 18 KB ROM. It supports various wireless link layer protocols including RT-Link, WiDOM, b-mac, U-Connect and PCF TDMA.

 Nano RK is good for priority-based preemptive scheduling. It is ensuring task timeliness and synchronization. The battery power of NanoRK on the network, wireless node, Nano-RK provides CPU, and sensor efficiency is limited so this system uses virtual energy reservations. With the small-footprint for its embedded resource kernel (RK), Nano-RK offers timeliness scheduling and rich functionality.

 Important Features

  • Nano RK provides some Built-in Fault Handling like Task Timing Violations, Stack Integrity, Unexpected Node Restarts, Resource Overuse, Low Voltage Detection, Hardware Watchdog Timer, and Software Watchdog Timers.
  • Nano RK IoT OS performs real-Time Priority Based Scheduling.
  • The Scheduling of Energy Efficient based on a-prior task-set knowledge.
  • Nano RK offers Tickless Timer and C GNU tool-chain.
  • The Eclipse Cloud IDE allows for easy development.

19. Mongoose OS


Internet of Things (IoT) Firmware Development Framework Mongoose OS is an excellent operating system that supports low power, connected microcontroller. The purpose of this IoT OS is to be a complete environment for operating the connected devices and prototyping besides the development. another objective is to minimize the time and cost of developing IoT projects.

Mongoose OS is an All-in-one IoT Platform for Small Businesses. It has collaboration with AWS, Google, Azure, Watson support and reliable OTA updates. Since 2013 it is empowering commercial projects. This internet of things OS is open source under the Apache 2.0 license.

 Important Features

  • Mongoose OS IoT OS is user-friendly.
  • It offers Over the Air (OTA) updating of embedded ICs.
  • It provides crypto support with secure connectivity.
  • Mongoose OS is written in either JavaScript or C.
  • You can easily integrate it with both public clouds as well as private cloud computing like Mosquitto, HiveMQ, Google IoT Core, AWS IoT, Microsoft Azure IoT, IBM Watson IoT, etc.

Get Mongoose OS 

20. NuttX Real-Time Operating System


The Real-Time Operating System NuttX provides emphasis on small footprint and standards compliance. It supports from 8 bit to 32-bit microcontroller systems. Under the permissive BSD license, it was released by Gregory Nutt in the year 2007. If you use NuttX OS you do not need to learn any new API program because it is a POSIX RTOS.

NuttX has some similar subsystems similar to Linux. For example, you can use the audio subsystem, a USB system with USB Composite support, Virtual File System (VFS), Memory Technology Device (MTD), and many others. It allows running microcontroller having less than 8KB of RAM and 32KB of Flash.

Important Features

  • Some remarkable features of the NuttX Real-Time Operating System are Fully preemptible, Highly configurable, Naturally scalable, Standards Compliant, Core Task Management, and Modular design.
  • This OS is extensible to new processor architectures.
  • for priority inheritance, it supports Real-Time and deterministic.
  • This Internet of Things Operating Systems offers Built-in, per-thread CPU load measurements and Custom NuttX C library.
  • Some other features are BSD socket interface, On-demand paging, and System logging.

Get NuttX OS

Final Thought


After a long discussion, I think you will be happy with this long list of the internet of things operating systems. It is really difficult to tell which one is the best. It depends on the requirement of the software developers. However, if you found my endeavor regarding IoT OS is helpful for you then please share it with your friends. Thanks for the patience reading.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Post

Top 25 IoT Skills to Become a Successful IoT Developer

IoT Skills is the most demanding qualification for developing the internet of things career. To develop the internet of...

IoT Based Home Automation for the Smart Home- Top 20 Ideas

IoT based home automation refers to electrotonic and automatic controls of your household devices through the internet. To control...

The Best 11 IoT Router for Secured Connection of IoT Device

IoT router is such a specialized router that performs a secured way than traditional routers. If you are planning...

Top 20 Best IoT Operating Systems For Your IoT Devices in 2020

IoT operating systems are designed to perform a specific task which is constants to the internet of things devices....

Trending Now

25 Fundamental Tips You Must Perceive For Becoming A Photographer

Becoming a photographer from amateur to a professional! is it too hard? From where to start? What to use,...

Top 40 Self Portrait Photography Ideas to be a Pro Photographer

Self portrait photography is one of the brightest portrait photography ideas. It is not a new photography project. If...

How to Merge and Kill Duplicate Entries in Your iPhone

Duplicate Entries in Your iPhone in the form of zombie entries, due to integration with Facebook or having the...

Best Baby Games for Android to Make Your Baby More Creative

The more you will practice the more you learn and learning starts from infant grave. Baby learning is a...

Editors' Pick