 #define PIN_ANALOG_I2C_SDA      4 // i2c enabled by jumper
 #define PIN_ANALOG_I2C_SCL      5 // i2c enabled by jumper
 
+#ifdef DEBUG
+#  define Log Serial.println
+#else
+#  define Log(...)
+#endif
+
 // TODO: read these from Arduino Nano (protocol = ?)
 unsigned long encoder_left_front = 0, encoder_left_back = 0,
               encoder_right_front = 0, encoder_right_back = 0;

#include "bb.h"
#include "music.h"

Servo pan, tilt;
Servo left, right;

// TODO: use map() and constrain(TILT)

/*
 * BotBoarduino PINs

uint16_t status = 0;

#define BUSY(module, ifnotready) { \
  if (!(status & (1 << MODULE_ ## module))) { \
    Log("Module " #module " received a command but is not ready."); \
    { ifnotready; } \
  } \
  (status = status & ~(MODULE_ ## module)); \
}
#define READY(module) (status |= (1 << MODULE_ ## module))

void attachMotor(boolean attach) {
  if (attach) {
