Plug 'n Play Shields??

Hi guys,

I've been thinking about an idea for a while now -it might exist and i apologize if it does, but i need an outside perspective. This came about when I started playing with protoshields for the Uno and created one that registers capacitive touch. The pain i have now is, i will use the same Uno for other projects and when i need to use the capacitive input I'd need to re-program the Uno as needed to use the shield again.

I found this to be quite a tedious exercise as working for a school and having many projects for each grade etc. So it hit me, creating a Plug 'n Play shield. It would have the functionality that shield is designed to have, but i was considering adding a small micro-controller chip to the shield and programming the Uno with the same principle as programming an Uno from another one.

The question I am posing is do you this is even possible given the design of the Arduinos? I was considering that the programming done by the shield is started with a button press, example, connect the headers etc, and hold down a button to power the embedded "programming" microcontroller" and when its uploaded (indicated by an LED for example), release the button. The thing i cant quite wrap my head around due to limited knowledge is whether com ports will come into play when using 2 "arduinos" programming each other.

Do you guys have any insight as to what i would need or whether its possible as this i think would make life quite easy; especially when teaching and demonstrating , possibly even in production where an arduino fails and all you have to do is swap it out and the shield then programs the new one instead of needing a laptop etc.

Any guidance will be greatly appreciated.
Thanks in advance.

What shields would you try to emulate? Most of them have dedicated hardware that would be expensive or impossible to emulate with a microcontroller.

Also, you mentioned proto shields. Almost by definition, they have no functionality at all.

Arbiter472:
This came about when I started playing with protoshields for the Uno and created one that registers capacitive touch. The pain i have now is, i will use the same Uno for other projects and when i need to use the capacitive input I'd need to re-program the Uno as needed to use the shield again.

I found this to be quite a tedious exercise as working for a school and having many projects for each grade etc. So it hit me, creating a Plug 'n Play shield. It would have the functionality that shield is designed to have, but i was considering adding a small micro-controller chip to the shield and programming the Uno with the same principle as programming an Uno from another one.

Plug 'n Play works on a PC because it has the space to have all the different programs available to deal with whichever device might be plugged in. That is completely impractical on an Arduino - as I think you realize.

The idea in the second paragraph above seems to be a more complex version of having a dedicated Arduino for each shield.

...R

The shields function is irrelevant as this will be designed by the creator. The shield for an Uno would then only program Uno's but based only on compatibility as i understand that different chips cannot program others only the same type.

The concept is, create a shield to suite a need such as a motor driver that drives a curtain rail for example. It would be programmed to move a specific distance based on the length of the rail and under instructions from a given sensor. Then lets say a spike in voltage cooks the arduino and to get the system working again, you would then need to get a new arduino and reprogram it with a computer, connected to the shield and let it then continue. Im proposing an idea of as part of the designed Motor shield, add an Uno microcontroller ATmega(or other) chip linked to the pins needed to reprogram another Uno. Then via a button press, boot the embedded chip, it then sends its program to the uno below allowing it to then take over the task. It would make swapping out dead uno's easier with much less work.

I'm afraid I don't follow. Even if the shield had firmware on it, the Arduino that it plugged into would need new firmware (for example if it was just running the blink sketch).

Arbiter472:
Then lets say a spike in voltage cooks the arduino and to get the system working again,

You would be lucky if it was only the Arduino that got cooked.

I can't help thinking you are looking for a complex solution for a non-existent or very occasional problem.

It's not as if it takes long to upload a program to an Arduino.

...R

Buy some more Unos and leave the shields attached. Much less hassle in the long run and a standard configuration that is well supported.