We’re very happy to announce that the source code of the real-time operating system (RTOS) powering the Arduino 101 and Genuino 101 is now available for hacking and study purposes.
The package contains the complete BSP (Board Support Package) for the Curie processor on the 101. It allows you to compile and modify the core OS and the firmware to manage updates and the bootloader. (Be careful with this one since flashing the wrong bootloader could brick your board and require a JTAG programmer to unbrick it).
The firmware runs on the x86 chip inside the Curie module and communicates with the ARC core (which runs your Arduino sketches) using these callbacks.
Right now, the x86 core takes care of handling Bluetooth Low Energy (BLE) and USB communication, offloading the ARC core.
You can use the code which implements these functionalities as a starting point for your custom extra features.
Ever wondered about adding Mouse and Keyboard functionalities to your Arduino 101 and Genuino 101? Or uploading your sketches via BLE? Or add deep sleep functionalities when your application is battery powered? Now you can! (Some effort may be required )
We hope that this step will bring even more interesting features to your Arduino 101 and Genuino 101, so even if you are not into low-level C programming, keep an eye on the dedicated forum section and Arduino 101 core github repo to follow the news and be the first to try new features.
If you want to know more about projects made with Arduino 101, check Project Hub section in Arduino Create, don’t forget to share with the community your experiments creating a new project and take look to this obstacle avoidance tutorial on America’s Greatest Maker website !