Category: Arduino

Ok, let me state up front: Trying to get Processing to read your Arduino on linux (ones that get the /dev/ttyACM0 port) is broken! For all the good work all the devs are doing, this has been the case for far too long.

I spent a whole afternoon trying everything suggested on the RTXT site, Processing site, countless forums, including:

  • The version mismatch is at fault
  • You should be in the uucp group
  • Downgrading/Installing the TXRX package from Ubuntu
  • Throwing your linux machine off the cliff (not really tried)

Nothing of these work. And they shouldn’t be needed, because the Arduino IDE uses RXTX and still manages to work.

Why, you ask? Because our lovely Arduino devs recompiled RTXT doing two essential things:

  • Forget about locking the tty file
  • Have RXTX search ttyACM ports

So, let’s see how we can use their version of RXTX with Processing and forget this nightmare once and for all 😉

First, download the Arduino software for both 32bit and 64bit architectures from here .

Untar those files to some temporary folders, for which I’ll be using the names <arduino-32bit> and <arduino-64bit>

Let’s also name the folder where you have Processing lying around as <processing>.

Do the following:

  • Backup the <processing>/modes/java/libraries/serial/library folder for some good measure.
  • Copy <arduino-32bit>/lib/RXTXcomm.jar overwriting the one in <processing>/modes/java/libraries/serial/library
  • Copy <arduino-32bit>/lib/ overwriting the one in <processing>/modes/java/libraries/serial/library/linux32
  • Copy <arduino-64bit>/lib/ overwriting the one in <processing>/modes/java/libraries/serial/library/linux64
  • Copy <arduino-64bit>/lib/ to <processing>/modes/java/libraries/serial/library/linux64
  • You’re done! 😉

Or, you could compile them from source to see what works for you, but really, why go through it?

Please, please, if you find this useful, try and locate some of all those forum threads regarding this problem and let them know ^^


The Morse Buzzer

This is the Arduino project I worked on while attending last weekend’s all-night hackfest at our local hackspace, P-space.

It is a simple Arduino project for playing back any text sent to the Arduino via the serial interface in Morse code.

The hardware setup is trivial, just hook up a buzzer in one of the Arduino pins (existing code uses pin 10) and you are set.

The pin and playback speed are configurable, and so is the mapping of ASCII characters to Morse sequences if you’d like to add something.

Since the Arduino reads from the serial link, any number of applications computer-side could send text to be played out. Maybe a twitter client in Morse? Or you could hook up an ethernet shield to your Arduino and have it fetch any web site you want to play it back.

Code-wise, this is definitely not my best written code. Damn, that chartobuffer() function looks ugly to me. But I’m happy that I stepped out of my Python comfort zone and explored the C-like language of Arduino with it’s quirks and limitations. This board is a beginner’s dream, just as advertized 😉

Code can be found in my bitbucket repositories, free for you to look and play. Link is here.

Oh, and here is a picture of me having great fun at it =)

Morse code



This weekend was full of fun and WIN!

We had an all-night hackfest on both Friday and Saturday nights at our local hackerspace, P-Space. The event was the first of it’s kind for us and was an open invitation for local hackers to come, socialize and write code on Arduino (or whatever else) projects.

The event was a HUGE success. It marked an attendance of over 50 people, many that we hadn’t seen before, with various levels of experise, from begginer to pro, all hacking together in groups, attending classes, producing interesting sprint projects and generally having tons of fun.

The first day produced lots of introductory classes on Arduino hacking, then working in groups to produce a plethora of projects. Such were, to name a few in my vicinity:

  • A question and answer game, with an LCD and buttons interface (watch out for the annoying FAIL sound there when you got an answer wrong),
  • A guitar-hero push-the-right-button-when-a-LED-comes-on game,
  • An arduino playing the Star Wars Imperial Theme (geekgasm),
  • An interactive light writer with a LED array and accelerometers,
  • My own Morse code buzzer, which played back in Morse whatever text it was fed to the Arduino via the serial interface. More on a later post 😉
  • The award winning (the winners took home everything they used) project that notified you in real life of unread e-mails (via POP3) or a file changing on your computer.

And that’s just the projects which were happening on the room I was in, with lots others being fleshed out in 3 other rooms I unfortunately didn’t have time to look at.

The second day of the event was a special charm as our friend Dimitris held a great class on PCB manufacturing, covering hands-on the whole process of etching UV-sensitive copper boards. A rare and mind-blowing class. Thank you Dimitris =)

I’ll add material to projects and photos as I find them, in the meantime, you can check out powerfool’s Flickr for photos from the event.


A very happy (and sleepy) Nick
The class