code: function initSerial(robot, port, callback) {
  	serial = new Serial.SerialPort(port, {
  		//Defaults for Roomba Open Interface:
  		baudrate:115200, dataBits:8,
  		parity:'none', stopBits:1,
  		flowControl:false
  	});
  	serial.on('open', function() {
  		//Send Start Command:
  		serial.write(Buffer([128]));
  		setSensorRead(true, robot);
  		//Listen to Incoming Data:
  		serial.on('data', function(data) {
  			//Combine Previous Data:
  			if(robot.inputBuffer) {
  				robot.inputBuffer = Buffer.concat([robot.inputBuffer,
  				data], robot.inputBuffer.length + data.length);
  			} else robot.inputBuffer = data;
  			//Data Parsing Timer:
  			if(robot.inputTimer) clearTimeout(robot.inputTimer);
  			robot.inputTimer = setTimeout(function() {
  				if(robot.dataParser && robot.inputBuffer && robot.inputBuffer.length >= 80)
  				{ robot.dataParser(robot.inputBuffer); robot.inputBuffer = robot.inputTimer = null; }
  				if(exports.debug && robot.inputBuffer && robot.inputBuffer.length != 80)
  				console.log(chalk.bold.green("Packet Miss ["+robot.inputBuffer.length+"]"));
  			}, 5);
  		});
  		if(callback) callback(robot);
  	});
  	return serial;
  }
docs: Init iRobot Serial: