User Tools

Site Tools


Week : 42 : : 43 : : 44 : : 45 : : 46 :
2011.11.14 - 2011.11.18

Bare Metal Code - Advancing your coding skills


Daniel Saakes (Netherlands / Japan)
Stoffel Kuenen (UID)





examples for monday

  • Intro: overview of the week / targets for the week
  • Level Excercise
  • Discussion on what participants want to get out of it
  • Theory: basic coding concepts, c++ recap
  • First idea generation (individual)
  • Plenary discussion of first ideas


examples for Tuesday

  • Theory : code strategies: bare metal, os / big mainloop / interrupts / blocking, non-blocking, loops, state machines
  • indiv. presentations
  • Project work (individual)
  • Clinic (1:1 discussions)


  • Individual presentations
  • Theory 1: timers & finite state machines. Three Examples in the zipfile.
  • Theory 2: debugging strategies. hardware debugging. software debugging. testing. defensive coding..
  • Project work (individual)
  • Clinic (1:1 discussions)
  • (1500-1600 wednesday afternoon lecture)


  • FINALLY: the XBee mood code is here: thursday xBee example
  • download. unzip. copy the files Xbee1.cpp, Xbee1.h and mood_client.h in the folder of your sketch.
  • add : #include “mood_client.h”
  • add : mood_setup(); in the setup()
  • add : mood_update(); in the update();
  • Clinic (1:1 discussions)


  • Final presentation
  • Workshop spaces cleanup
  • Theory: beyond arduino
  • General discussion and closing

Resources and Bibliography

Making things Talk 2nd edition, Tom Igoe. Must read (and do) for interactive prototyping, jumps all over the place, but easy read with lots of examples.
Building Wireless Sensor Networks, Rob Faludi. Must read (an do) to get started with xBee modules (and some internet connectivity). Easy read with lots of examples.
Getting started with Arduino, 2nd edition, Massimo Banzi. Advised reading: Appendix C/Arduino Quick Reference.
The C Programming Language, Kernighan, B.W., Ritchie, D.M. The C Bible. Advised reading: chapter 1-6 for a nice generic c language overview. Other chapters 7-8 handle (unix) specific file operations.
The C++ Programming Language, 3rd edition, Stroustrup, B. Advanced bible. Not for the faint hearted. Advised reading: Introductory Material: 2 “A tour of c++”, Part 1, part 2.
MIT Open Course Ware: introduction to programming Video Lectures for the basics of programming. Uses the Python scripting language.






courses/2011_exp_prototyping_week46.txt · Last modified: 2011/11/28 04:41 by stoffel