code: func (b *Driver) Start() (err error) {
  	b.Init()
  
  	// send commands
  	go func() {
  		for {
  			packet := <-b.packetChannel
  			err := b.write(packet)
  			if err != nil {
  				b.Publish(b.Event(Error), err)
  			}
  		}
  	}()
  
  	go func() {
  		for {
  			b.adaptor().ReadCharacteristic(responseCharacteristic)
  			time.Sleep(100 * time.Millisecond)
  		}
  	}()
  
  	b.ConfigureCollisionDetection(DefaultCollisionConfig())
  
  	return
  }
docs: // Start tells driver to get ready to do work