Blog

Best Arduino Programming Primer in the World

Arduino is an open source electronic microcontroller. We are using it to automate our Compressed Earth Brick (CEB) press – for automatic control that doesn’t require a human operator to runthe machine. The RepRap open source 3D printer also uses Arduino to handle its controls.

Arduino is based on the C++ programming language. Our present work is programming the Arduno, and we already have code to run the machine.

Where could we find the best primer on Arduino programming? Arduino is an important entry level platform for controls and automation – and it’s open source. It’s worthwhile to learn to use it as a point of entry to automation technologies – which is relevant to any modern, post-scarcity community.

Here’s what I would describe as an ideal primer. It a heavily annotated sample code, perhaps 5 pages of text, that goes through as many of the most relevant, simplest examples of C++ and Arduino control – structures, variables, input/output, data types, objects, and so forth. In principle, this sample code would go through many simple examples – sufficient but not complete or optimized – for getting something accomplished in the Arduino programming environment. I think that by using principles of information architecture, such a one-stop-shop primer is possible to create. It would be a great contribution for many people down the road – to lower their entry barriers to Arduino controls.

Does this Best Arduino Programming Primer in the World exist already? If not, who is volunteering to write it, and publish it on the OSE wiki?

8 Comments

  1. Nicola Larosa

    It’s not productive starting from scratch and writing all the code yourself: instead, use a realtime embedded operating system, specifically supporting Arduino, and Free Software too: http://www.bertos.org/ .

    I know the guys working on it, and they’re good.

    1. Marcin

      Ok. How does one compile the free community edition (http://www.bertos.org/download) on Linux?

  2. Tom_L

    Marcin,

    may I submit your question to slashdot.org? If the question is published there I think that community will be able to answer.

    1. Marcin

      Yes, that would be great.

  3. mimarob

    My guess is that you can find people jumping up and down willing to help, however it is hard doing so without access to the actual hardware.

    If you want code reviews, contributions and lots of suggestions, I suggest a simulator / behavioural model for the moving parts, with an api to program against, oh and don’t forget to use some kind of revision control, like sourceforge or similar.

    Looking at the wiki I think you are in good hands already, just be a little weary with any “creeping feature:ism” 🙂

  4. Ralf Schlatterbeck

    Maybe a full operating system (like the one mentioned in the first comment) is overkill. I don’t think your requirements are very high. The Arduino has already a very rudimentary “operating system” that calls your code in a busy loop.
    In my opinion the tutorials on the arduino page are quite good — if you can already know a little C++.
    So you might want to find a good introduction to C++

    Ralf

  5. Dave Menninger

    LadyAda’s tutorial is quite good:

    http://www.ladyada.net/learn/arduino/

  6. Mike

    The Complete Beginners Guide to the Arduino :-

    http://www.earthshinedesign.co.uk/ASKManual/Site/ASKManual.html