I collected info about the various protocols and interfacing options in 2013, in the course of making a Racket package for the Roomba and Create. https://www.neilvandyke.org/racket/roomba/