Skip to content
Joe Moran edited this page May 15, 2023 · 59 revisions

Openomni Wiki

Welcome to the openomni wiki! Here we describe how the Eros ("Classic") Omnipod and PDM communicate with each other. Because of the Pod is designed to be controlled by a single controller, we have to completely replace the PDM to use it for DIY closed loop. Read further if you want to understand what has been learned about Omnipod for DIY use.

The original test branch of Loop was released for public testing in April 2019 to use the Omnipod with Loop using a Rileylink. There have been several fixes, improvements, and releases since this testing branch was originally released for general use. At this time for Loop Omnipod use, it is recommended to use the master branch.

The Omnipod DASH uses all the same commands at the Message level as the Omnipod Eros, but uses bundled Bluetooth messages (not described here) instead of RF packets for the transport. Most modern DIY closed loop apps now support both Eros and DASH Omnipods. Omnipod 5 is a variant of Omnipod DASH and is not described here.

PDM/Pod Communication Decode

We first started decoding with this Python openomni RFcat reader, but when we needed extra data from the sub messages which were being send, we switched to a more detailed C program running on Linux to sniff RF packets using a much cheaper RTLSDR dongle.

Run Linux or create a Virtual Machine with Linux using Virtualbox or Parallels and go to this repo to install the software: https://github.com/ps2/rtlomni.

For the previously used openomni setup you can follow the readme guide on OSX computers on the main page or for a Windows machine this install guide: Alternate installation instructions for using RFcat.

Communications

Implementations

  1. OmniKit RileyLink Loop device driver for Eros
  2. AndroidAPS RileyLink Android device driver for Eros
  3. OpenAPS GoLang device driver
  4. OmniBLE Loop device driver for DASH
Clone this wiki locally