Archive for July, 2012

Searduino needs a gui

July 18, 2012 Leave a comment

Do you want to write a gui front-end to Searduino?


About Searduino:

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 (to C/C++) translation

About the gui

In a way searduino has a gui – We have been developing a gui written Python (pygtk) to make sure we write the underlying library in a way that makes it easy to develop a real gui. So there is a gui but no proper one. Anyhow, here’s a snapshot of the (non proper) Python gui:

Searduino's simulator GUI - written in PyGtk


We believe that the gui needs to be written in C/C++ and using a thread safe graphical toolkit. The speed which which the callbacks call the gui require as short path as possible from the source to the handler and as already mentioned that the toolkit is thread safe (the Arduin ocode is executed in a thread). There is however a threshold for max updates per second which can be used but we still believe that C/C++ is the best way – but don’t hesitate to contact us (see email address below) if you believe differently.

Want to join?

If you like creating guis and want to help out on Searduino – send an email to hesa -at-

Btw: the python gui was also used to test Searduino’s Python extension


Categories: Uncategorized

HID backends architecture for local execution begun

July 1, 2012 Leave a comment

When running Arduino code locally Searduino defaults to simply print when Arduino code uses the new USBDevice stuff available on the Leonardo board. It is now (locally on my laptop) possible to add HID fakers – currently Searduino implements Mouse.move on X11 systems using the XTest extension.

Categories: Uncategorized

Leonardo is now supported

July 1, 2012 Leave a comment

It took a while to get it to work, more on why below, but it seems to be working fine developing code for Leonardo now.

Where to get it:

  • from git / master branch
  • a release is under consideration

Tested so far:

  • Compile and upload for Leonardo boards
  • Move the mouse around using the Mouse.move method


  • Test more 😉
  • Make twi code work (Arduino 1.0.1 has a slight change in the API)

Problems encountered when adding support for Leonardo:

  • Had to include all objects form libsearduino (dunno way right now). This was done using the linker flag “-whole-archve”). You as a developer need not do anything to use this.
  • USB device has to be attached in the main function. Searduino provides a macro (searduino_usb_init()) for this.
Categories: Uncategorized