Skip to content
Eelke Jager edited this page Jan 25, 2018 · 59 revisions

Openomni Wiki

Welcome to the openomni wiki! Here we describe how the Omnipod and PDM communicate with each other.

Because of the pod's safety mechanism of erring out when it gets direction from two devices, we have to completely replicate the PDM. Sending a single basal will not be enough. It's the initialization, setting the programs, etc. And we have to have the ability to set up at least some of the basic profiles in whatever application we choose to program the pod so that it can have the normal basals in addition to all the temporary changes. Read further if you want to help decode the messages to be able to write device drivers for use with OpenAPS, LoopKit or AndroidAPS in combination with an Omnipod!

Communications

  • The protocol is described top-to-bottom at Protocol.
  • Communications between PDM and pod are sent over radio frequencies.
  • The lowest level of information exchange is packet exchange.
  • Packets are assembled into a specific message structure.
  • We've managed to get the CRC and Nonce decoded to establish a proper communication between the PDM and POD.
  • We are currently working on understanding the different Message Types.

How to help

Please add pages using this convention containing packet captures, along with what you were doing to cause the packet exchange. For example, if it's a temp basal command, describe the % change and duration you selected in the UI, and then add your capture here:

Packet-Captures

We currently focus on the 1D status response. So if you can help decipher this first, that would be great!

Roadmap

We also need help in development of 3 types of device drivers to integrate in the 3 main solutions currently available:

  1. OpenAPS GoLang device driver
  2. AndroidAPS Android device driver
  3. Rileylink Swift device driver for use with LoopKit

Installation of a radio frequency usb reader

You can follow the readme guide on OSX computers on the main page. If you're using a windows machine, you can also try this install guide: Alternate installation instructions for using RFcat

C# dump of PDM chip

The discovery of the CRC and Nonce has been achieved also by looking at the C# dump of the PDM chip: https://github.com/ps2/omni

Clone this wiki locally