Find file
Fetching contributors…
Cannot retrieve contributors at this time
34 lines (22 sloc) 910 Bytes


Interface with the Zeo Personal Sleep Coach over USB with Ruby.


  • Depends on ruby-serialport, which is currently limited to Ruby 1.8.

  • Requires constructing your own USB cable. See for details. You may need to install the drivers from as well.

  • You may have to do some source diving, as the documentation is basically limited to this file (don't worry, the source is pretty short, too).


zeo = Zerbo.connect('/dev/zeo')

On OS X, the device you want can probably be found in /dev/tty.usbserial*. On Linux, look at /dev/ttyUSB*. I can't speak for Windows, but the Python library works there, so presumably Zerbo can be made to work as well.

zeo.on_sleep_stage do |stage|
  puts stage

zeo.on_event do |event|
  p event