code: function (data, callback) {
      if (typeof txDataQueue != "undefined" || txInProgress) {
        if (txDataQueue === undefined)
          txDataQueue = "";
        txDataQueue += data;
        return callback();
      } else {
        txDataQueue = data;
      }
  
      function writeChunk() {
        var chunk;
        var CHUNKSIZE = 20;
        if (txDataQueue.length <= CHUNKSIZE) {
          chunk = txDataQueue;
          txDataQueue = undefined;
        } else {
          chunk = txDataQueue.substr(0, CHUNKSIZE);
          txDataQueue = txDataQueue.substr(CHUNKSIZE);
        }
        txInProgress = true;
        console.log("BT> Sending " + JSON.stringify(chunk));
        try {
          winnus.write(chunk);
          setTimeout(function() {
            txInProgress = false;
            if (txDataQueue)
              writeChunk();
          }, 20);
        } catch (e) {
          console.log("BT> ERROR " + e);
          txDataQueue = undefined;
        }
      }
      writeChunk();
      return callback();
    }
docs: Throttled serial write