Dartino logo

Why Dartino?

Dartino is an early-stage open-source project that enables you to write software for embedded systems with much higher productivity than existing native approaches.

High-level, familiar language

Dartino is powered by the Dart language, a modern programming language. The Dart language uses a familiar syntax with clean semantics, so you can probably already read and even write Dart code!

import 'package:gpio/gpio.dart';
import 'package:stm32/stm32f746g_disco.dart';

main() {
  // Initialize board and configure LED1 as an output pin
  STM32F746GDiscovery board = new STM32F746GDiscovery();
  GpioOutputPin ledPin = board.gpio.initOutput(STM32F746GDiscovery.LED1);

  // Set the pin to a true/high state
  ledPin.state =  true;

Highly productive

Dartino has a rich set of libraries which do all the heavy lifting. For example, send HTTP requests using secure SSL/TLS with just a few lines of code:

var socket = new TLSSocket.connect("httpbin.org", 443);
var request = new HttpRequest("/ip");
request.headers["Host"] = "httpbin.org";
var response = new HttpConnection(socket).send(request);

And then easily parse the response using a powerful JSON library:

Map data = JSON.decode(new String.fromCharCodes(response.body));
String ip = data["origin"];
print("Response: $ip");

Get started quickly

Dartino includes the popular FreeRTOS embedded OS, and board support packages and configurations for several popular embedded development boards. With that, you will have code running on actual hardware in less than a minute:

dartino flash myprogram.dart

Fast and lean runtime

When you call the dartino flash command, we compile your program and bundle that in the image with the fast and safe Dartino runtime. Thus Dartino code runs much faster than other high-level embedded programming languages, yet is much easier to use than traditional embedded C.

Great IDE support

Dartino can be used with your current preferred text editor, but we recommend our great IDE support. This presents your code with beautiful syntax highlighting, checks your code as you type, and speeds up your coding with code completions. And unlike most other embedded tools, our IDE support is offered for free! Code completion screenshot

Free and open

Dartino is free and open-source (license). This includes all key parts: Dartino developer tools, IDE, libraries, and runtime. The development is facilitated on GitHub, and contributions are most welcome!