https://toitlang.org * Documentation * Blog * GitHub Toit is a modern high-level language designed specifically for microcontrollers Toit is optimised for live reloading on your microcontroller. Your code runs incrementally as you write it and you get instant feedback. Push changes over your local WiFi in two seconds and reserve your USB cable for charging your phone. You iterate quickly, learn fast, and build better things. Defining functions What if you want to say "Hello" a lot without getting your fingers all tired? You should define a function. Calling a function in Toit is as simple as mentioning its name. If the function doesn't take arguments that's all you need. Learn more... hi: print "Hello World!" greet name: print "Hello $name!" main: hi greet "Kasper" 123456 Get started Follow this easy step-by-step guide to get up and running with Toit. Installation guide Download Download and get started with the latest version of Toit. Download Toit v2.0.0-alpha.3 Documentation Learn how to code with Toit and how you can use it in your IoT projects. Visit documentation Toit + Jaguar = Jaguar is a small application developed by the Toit team, that runs on your ESP32. It enables live reloading and lets you update and restart your ESP32 code over WiFi. Wireless Update your code and restart your ESP32 conveniently over WiFi. No need to flash over serial, reboot your device, or wait for it to reconnect to your network. Efficient Change your code in your editor, update it on your device, and restart it all within seconds. Reliable Updates contain compiled Toit programs that are relocated and installed in flash on the device. Old versions are stopped and their resources are freed automatically. Install now Latest news Toit v2.0.0-alpha.3 release Jun. 7th, 2022 Add support for pulse counter. Add ble.RemoteCharacteristic.write_value. Harden BLE buffer allocations. Faster UTF-8 validation. Fix max-heap-size functionality. Fix Process::state race. Improve monitor.Latch. Add support for resource notifications. Remove extra thread and allow deinit of BLE. Get it! Toit v1.6.15 release May. 22nd, 2022 Fix potential data race in setting up resource notifications. Get it! Toit v2.0.0-alpha.2 release May. 18th, 2022 Fast sweep in GC. Fix race in RPC request cancelation. Add basic support for firmware updates via service. Only relocate images on device. Get it! Toit v1.6.14 release May. 12th, 2022 Fix race in RPC request cancelation. Fix lost wakeups when waiting and sleeping. Get it! Toit v2.0.0-alpha.1 release May. 6th, 2022 Activate new GC. Make the RMT library non-blocking. Fix most obvious issues with BLE connect. Add support for changing the frequency of the PWM. Get it! Toit v2.0.0-alpha.0 release Apr. 28th, 2022 First - very early - release in a series of pre-releases leading up to v2.0. Get it! Writing a driver in Toit Just a few lines of Toit code are needed to reap the full benefits of the Toit ecosystem -- without having to rely on firmware developers. Choosing Toit for your IoT project means that your ESP32-based devices become as easy to program as smartphones: develop your app, deploy it to the devices of your choice, and then update and reinstall as often as needed, even on a shaky connection -- all that while the other apps on the device keep running. Welcome to the 21st century, IoT! Visit blog.toit.io to Read more Toit meets Visual Studio Code The extension allows VSCode to provide a rich view of your programs as well as easy access to common functionality like running and deploying apps. Visit blog.toit.io to Read more Twitter Reddit Discord * Documentation * Blog * GitHub