 // HD44780::SR3WSPI port;
 // HD44780::SR4W port;
 // HD44780::MJKDZ port;
-HD44780::GYIICLCD port;
+HD44780::MJKDZ port(0);
+// HD44780::GYIICLCD port;
 // HD44780::DFRobot port;
 // HD44780::ERM1602_5 port;
-// HD44780 lcd(&port, 20, 4);
-HD44780 lcd(&port);
+
+// Select LCD width and height
+#define WIDTH 16
+// #define WIDTH 20
+// #define HEIGHT 2
+#define HEIGHT 4
+HD44780 lcd(&port, WIDTH, HEIGHT);
 
 // Digital acceleratometer with alternative address
 ADXL345 acceleratometer(1);

  trace << clear;
  ADXL345::sample_t acc;
  acceleratometer.sample(acc);
  trace << PSTR("Accelerometer") << endl;
  trace << acc.x << PSTR(", ")
	<< acc.y << PSTR(", ")
	<< acc.z;
  sleep(2);

  // Read gyroscope
  trace << clear;
  L3G4200D::sample_t rate;
  gyroscope.sample(rate);
  trace << PSTR("Gyroscope") << endl;
  trace << rate.x << PSTR(", ")
	<< rate.y << PSTR(", ")
	<< rate.z;
  sleep(2);

  // Read battery 
  trace << clear;
  trace << PSTR("Battery") << endl;
  trace << AnalogPin::bandgap() << PSTR(" mV");
  sleep(2);
}

#include "Cosa/TWI/Driver/BMP085.hh"
#include "Cosa/TWI/Driver/HMC5883L.hh"
#include "Cosa/TWI/Driver/L3G4200D.hh"
#include "Cosa/TWI/Driver/DS1307.hh"

// LCD and communication port
// HD44780::Port4b port;
