conferences | speakers | series

Searduino - Arduino simulator and C/C++ devel environment

home

Searduino - Arduino simulator and C/C++ devel environment
FOSDEM 2013

Programming and debugging Arduino in user space

Introducing the Arduino simulator and C/C++ development environment.

Searduino is made to ease and speed up development for the Arduino boards. In short, with Searduino you get

  • C/C++ interface - use C/C++ to program your Arduino boards
  • Makefiles - easy to use Makefiles for inclusion in your project
  • Stand alone program - build your Arduino code to run on your local computer instead
  • Simulator - run your Arduino code in a simulator to test it
  • Simulation API - write your own test cases in C/C++
  • Python simulation API - write your tests in Python
  • Arduino example translation (not ready yet, but really close)

The authors of Searduino love developing code for Arduino. We love using Arduino and we believe that developing code for Arduino has been made significantly easier for not-so experienced developers. However, for some of us it is easier to develop code in our favorite editors and build and compile via the command line.

Searduino was initially created to make it possible to automate the building of your arduino program and to do this outside of the Arduino IDE. Once we had the compilation and linking up and running we quickly noticed that it wouldn’t take that much to make it possible to turn your Arduino program into a program executing on your local computer. The writes and reads on pins in your Arduino program were ’translated’ in to reads and writes on stdin/stdout, which we used to create a simple simulator communicating via a pipe. We saw the potential of the simulator and decided to write a “proper” API for it instead. To make the simulator more usable for quick checks and for people preferring GUIs we started to write a simulator GUI in Python, so we added a Python extension to the simulator API. And here we are right now....

Hope you like it!

Speakers: Henrik Sandklef