Resurrection, Part I

Blog negligence is a huge problem of our times and we certainly have been doing a terrible job of keeping you updated with our progress, sorry about that. I can assure you that the Erlang Embedded project is alive and kicking, despite the lack of activity on this blog and our Twitter stream. We even have cool stickers now!

Stickers! In an effort to fill you in on almost a year of progress, we will be publishing a two part post covering the areas we have been working on in the past couple of months. Let’s get started…

Talks and Tutorials

From Istanbul to San Francisco, we have presented our explorations in using Erlang in the Embedded domain at numerous gatherings. While the presentations varied slightly at each delivery, the two main points we focused on were:

  • The suitability of the Actor Model in today’s heterogeneous and multi-core embedded  systems.
  • Erlang’s role in orchestrating concurrent, distributed, connected systems (or: The Internet of Things, for the cool kids)

Here’s a video of my presentation from Erlang Factory SF Bay Area 2013:

(I was fighting a wicked combination of cold and allergies at the time so please pardon my voice/general drowsiness)

Alongside these talks, we have also been running practical workshops. The first of these, “Hands on hardware fun with the Raspberry Pi using Erlang”, made its debut at QCon London and with slight modifications we ran it again at Erlang Factory SF Bay Area. The reception was good and many LEDs were blinked so all in all it was a good start.

The Erlang Embedded Demo Board

A stack of Demo BoardsIn order to make our workshops a little more interesting and to actually simulate real-world embedded applications, we have developed a simple demo board for the Raspberry Pi, aptly named: erlhwdemo. It is an open-source hardware design and more information about it can be found here. We might organize a mini-hackathon of sorts introducing our framework (hints below) using these demo boards so get in touch if you’re interested.

Introducing Erlang/ALE

ALE (Actor Library for Embedded) is the embedded framework that we have been working on for a while. We will be writing a lengthy post about this soon but for now, click here for a sneak peek.

Quoting the Erlang Priest:

The actor model is nice to work with for embedded problems and Erlang is great for implementing actors, so it is a natural fit.

We have hidden a number of (nasty) things in a C driver and some Erlang modules to make it easier for the application engineer to solve problems. Similar to how the OTP library makes it easier to write rock solid Erlang programs.

Erlang is – by design – pretty good at interfacing with low level things. The C libraries for gluing C code together with Erlang are really good, so it is a viable way to harness the power of more low-level things.

We will be testing an alpha version of ALE at the tutorial session we are running as part of the Erlang User Conference 2013 in a couple of days and will be pushing it to a public repo soon after we recover from the excitement of EUC.

That’s it for part I, stay tuned for part II where we will talk about some of the architectural explorations we have been doing and other miscellaneous bits. Until then, here’s a photo of Joe Armstrong and Robert Virding hacking a cupcake at the soldering session we held as part of the Erlang Factory SF Bay Area :)

Cupcake hackery!