Arduino Shields with Real Personality

As one does while in bed at 3am and unable to sleep, I was thinking of the Strobit Triggr (which is probably why I couldn’t get to sleep in the first place) an idea presented itself for type shields (in particular Strobit Triggr personality boards) where they could be given some real personality.

Currently Arduino shields provide the hardware interface to the world for the base Arduino board. On the Arduino resides the code that provide the functionality i.e the personality, in the form of a sketch. The sketch and the shield have a one to one mapping, i.e. a sketch for one shield will not work with another shield type and visa-a-versa. So whenever a shield is changed, the base Arduino boards needs re-programming with a new sketch to give it it’s personality from the host PC/MAC this provides the new functionality associated with the shield.

The idea is for the shields to have onboard flash memory that contains the actual Arduino sketch associated with it. When the Arduino is powered up, it then checks for this flash first, if present then it proceeds to load from here, reprogramming itself with the new code, reboots and now has the functionality associated with the shield. If there is no flash available (a shield with no personality e.g. current shields) then the Arduino proceeds to load as per normal.

This way you could easily swap a shield/personality board without having to reprogram the Arduino, it keeps the functionality of the shield with the shield, thus giving shields a personality.

2 thoughts on “Arduino Shields with Real Personality

  1. Great idea – a somewhat related approach would be to get some sort of ID off the shield and then “somehow” upload (download?) the matching firmware.

This site uses Akismet to reduce spam. Learn how your comment data is processed.