Why create a new language? Because existing languages that can be used on microcontrollers are not very good. C has great performance but it's hard to learn, risky to use, and even simple functionality takes a long time to build. MicroPython is easy to write, but performance is so poor that it’s hardly usable. Oh, and it doesn’t really work like Python.
Toit language is a high-level language that’s made to have a syntax very close to Python, but built from first principles for microcontrollers. This makes it at least 20x faster than MicroPython. We’ve also built a slick IDE integration.
Your code runs as one or more applications inside the Toit virtual machine. The virtual machine creates a sandboxed environment for your code, so the worst that can happen from a bug is that your application crashes. The system keeps running, and so do your other applications.
The Toit ecosystem comes with ready-to-use drivers for many of the commonly used peripherals including GSM modules, sensors and actuators. They can be accessed directly from Toit using our package manager.
And don’t worry if the driver for your favorite sensor is not available yet. It’s really easy to write your own in the Toit language.
Updating your devices over the air is as easy on the Toit platform as it is to deploy new code to a web app - even on slow and shaky connections. The system keeps running through the update, and if the connection is lost mid-update, it simply continues where it left off when connectivity is back.
Toit runs on the ESP32 chip from Espressif. We chose the ESP32 because it offers the best price / performance out of all the microcontrollers out there. For $2 or less you get 520 KB RAM, built-in WiFi, and 34 pins for peripherals that you can use in any way you want.
You can buy them here.