I have many varied interests, and most require some amount of free work space on my desk. I do not always finish what I've started in one sitting, or one day, or even one week. In the mean time, the space occupied by whatever current project often needs to be cleared for something else. It got to be a drag to have relocate numerous tools, wires, bits of this and that, especially if I had something in a precarious stage of assembly. I can't afford to have a different desk for every project, so I've settled on the next best thing: different self-contained work areas. It's a crazy simple but super effective solution.
Step 1: The limited work area
This is my desktop on a god day. I have a industrial banquet table for my desk, and it holds assorted hardware, such as a 24" monitor, a printer, and some audio equipment. There's a area I clear that's generally sufficient for assembly activity, such as making popup books or hacking on an Arduino.
I've placed two rulers in the picture to give a sense of size.
Step 2: Filling the space
When I have a project, rather than just working directly on the desktop, I use a serving tray instead. Not everything always fits, but the main goal is to use it to hold items that would be awkward to otherwise move then later recreate.
In this picture I'm playing around with an Arduino Lilypad. If i need this space for something else I can easily pick up the tray without everything on it and place it elsewhere within having to dismantle stuff.
Step 3: Reusing the space
If I decide to change projects and work, say, on a popup book, I just move the one tray and bring over another, with the project still intact.
Note that when moving and storing a tray I often need to do some stacking, which I'l unstack when actually using the tray contents. But I do manage to avoid having to individually relocate dozens of pieces.
Step 4: Where projects sleep
I have more free shelf space than free desk space, so the Neurogami laboratory has assorted trays shelved here and there.