 		delay( 1000 );
 	}
 	
+        if( skipToMode > 0 )
+        {
+          eClipMode = skipToMode;
+          switch( eClipMode )
+          {
+            case EEMODE_HEIGHTONLY:
+            case EEMODE_SERIAL:
+              eRGBMode  = RGBMODE_SCREEN;
+              break;
+            default:
+              eRGBMode  = RGBMODE_NONE;
+          }
+        }
+
 	// Now SWBOT has been released, flicker the colour 3 times.
 	for( int i=0; i<3; i++ )
 	{

	// Debug Mode
	//eClipMode = EEMODE_SYNCPULSE;
	//eRGBMode  = RGBMODE_SCREEN;
	detectModeChange( 1 );

	// Wait for a random time so that not all clips zero their motor at the same time.
	randomSeed(analogRead(PIN_RND));

 * Press SWBOT to change mode. Cycle through the modes every 1 second.
 * @param skip Set to 1 to emulate SWBOT being pressed.
 */
void detectAndSetModeChange( int skipToMode ) {
	
	// If SWBOT is not pressed, skip out.
	if( digitalRead(PIN_SWBOT) == HIGH && skipToMode == 0 )
		return;
	
	// While we are still holding SWBOT down.
	while( skipToMode == 0 && digitalRead(PIN_SWBOT) == LOW )
	{
		// Swap mode.
		switch( eClipMode )
