When I attended the Spimes workshop at SHiFT08, we used a recipe to brainstorm spime applications.

This was the 5 point recipe:
1) Choose the spime’s sensors for its interaction (electromagnetic, mechanical, chemical, social sensors etc.)
2) Choose the level of spime data aggregation for your application (loca, global, non-geographic)
3) Choose a point in the timeline of technological development (now, at some specific point in the future)
4) Design machine to machine interaction (reliability, redundancy, systems needed etc.)
5) Design machine to human interaction (what is ‘friending’, information display, social objects)

Thinking this weekend on how to brainstorm interesting projects for my Arduino prototyping kit or my Lego Mindstorms kit, I decided to extend the recipe by a 6th point: choosing your actuators. Or perhaps it can replace the 3rd point, as in experimenting with Arduino and the like, you are using available technology by definition.
So my Arduino recipe becomes:

1) Choose the project’s sensors for its interaction (electromagnetic, mechanical, chemical, social sensors etc.)
2) Choose the level of data aggregation for your application (loca, global, non-geographic)
3) Choose the project’s actuators for its interaction (servo’s, switches, displays, sounds, lights etc.)
4) Design machine to machine interaction (reliability, redundancy, systems needed etc.)
5) Design machine to human interaction (what is ‘friending’, information display, social objects)

Arduino
Playing with my Arduino kit