Sunday, 25 November 2012

Microcontrollers Revisited

Quite a few years ago (probably 10), I started getting interested in using microcontrollers to do small computing tasks that required input-output, and low power consumption.   I did not get very far with them because every time I wanted to do something, I would have to write software from scratch (to talk to a display or sensor etc.).  Also there was a lot of soldering involved to put the boards together, with crytstals, capacitors etc. to support the microcontroller.

I recently discovered Arduino (http://arduino.cc), which is a simple microcontroller with a standard PCB board layout, where assembled boards are sold cheaply.  The Arduino Uno seems like a good one to use for prototypes, as all the I/O pins are taken out to headers that you can attach jumper wires to easily.   For 'production'  versions though, the Arduino Nano seems like a better option, as it is much smaller, and you can solder connections directly onto the board rather than using jumpers etc.  I bought a few of these (or at least clones of them) very cheap (~£11 each) off Ebay.

You can download a simple development environment where you can write the code for the boards in C/C++, compile it, and load it onto the board via USB - seems to work very well.

By far the best feature of Arduino though is the user contributed libraries - there are libraries for accessing one-wire devices, LCD displays etc., so you do not have to start from scratch for each project, which makes development much, much quicker.

So, I am starting to think of all of those 'I could make one of those, but it is a bit of a waste to use a full-blown computer for it' projects.   The ones I am starting on are:

  • Solar Thermal Monitor (Power Meter for water heater solar panel) - I have a first version working - see the solThMon directory in my Github repository.  A bit more description is provided in the github wiki.
  • Alternative Weather Station Receiver - the idea is to use a simple 433MHz radio receiver to read the signals from our weather station, so we do not need the big LCD display that came with it (no progress yet, but I have the hardware for it...).
To give an idea of what these things look like, here is a picture: