# openomni **Repository Path**: freebsd/openomni ## Basic Information - **Project Name**: openomni - **Description**: fork https://github.com/openaps/openomni - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-07 - **Last Updated**: 2025-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenOmni This repository contains all the discovered protocols, commands, error types and other messages used to communicate with an Omnipod pump described in the [wiki](https://github.com/openaps/openomni/wiki) together with many [Packet Captures](https://github.com/openaps/openomni/wiki/Packet-Captures) which have been used to find the logic behind each command. Also provided are the 2 programs used for decoding the Omnipod communications for RTLSDR and RFCAT devices. [Join the Slack channel](https://omniaps.slack.com/) to discuss this work. ## Current Status - In 2016 we figured out the [RF modulation](https://github.com/openaps/openomni/wiki/RF-Modulation) and [packet/message encoding](https://github.com/openaps/openomni/wiki). (1 year) - In 2017 we got the firmware from the Pod chip, reverse engineering, decoding the meaning of the bytes in the body for each of the [Message Types](https://github.com/openaps/openomni/wiki/Message-Types). (2 years) - In 2018 implementation of the commands and logic started first within the [Rileylink_ios Omnikit](https://github.com/ps2/rileylink_ios/tree/omnipod-testing) framework for using the pump with [Loop](https://github.com/LoopKit/Loop/tree/omnipod-testing) and [Rileylink](https://getrileylink.org/) hardware. (1 year) - In 2018 the [porting of Rileylink_ios to RileyLinkAAPS](https://github.com/andyrozman/RileyLinkAAPS/tree/dev_medtronic) was started for the Medtronic Pump to be able to use it with [AndroidAPS](https://github.com/MilosKozak/AndroidAPS) (1 year in the works, see current progress [here](https://github.com/andyrozman/RileyLinkAAPS/projects/1)) - A [port of Rileylink_ios Omnipod](https://github.com/andyrozman/RileyLinkAAPS/tree/dev_omnipod) to RileyLinkAAPS was started but needs people with Java/Android experience. - On 23th April 2019 the first test/dev version of [DIY Loop for Omnipod](https://github.com/loopKit/loop/tree/omnipod-testing) was publicly released. - In 2019 the new bluetooth powered Omnipod Dash will be implemented in [Tidepool Loop](https://github.com/tidepool-org/Loop) ## What you'll need to capture the commands There are 2 ways you can build a radio capture and parsing setup: 1. RFCAT Omni This was the first python based capture program, which parsed the data as raw or as txt. This needs a [compatible RF Cat USB stick](https://int3.cc/products/rfcat) and has done a great job in capturing, but was expensive because you will need to flash firmware onto it using a [CC-Debugger](https://store.ti.com/CC-DEBUGGER-Debugger-and-Programmer-for-RF-System-on-Chips-P1627.aspx) and we later discovered it was missing some packages. [Files and Install guide rfcatomni](https://github.com/openaps/openomni/tree/master/rfcatomni) 2. RTL-SDR Omni This program was later developped to capture the pure wav files in C which can parsed directly. It can also parse the raw txt data of the RFCAT above. This solution uses an [inexpensive RTL-SDR USB stick with an antenna](https://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles) (really needed to get a good recording) as cheaper hardware solution. [Files and install guide rtlomni](https://github.com/openaps/openomni/tree/master/rtlomni) ======= ##### ** Please note the details below are related to a project created to better understand how the omnipod communicates ** #### Stay Up to Date! [Join the Slack channel](https://omniapsslack.azurewebsites.net/) to discuss this work. #### Contributors on Slack: (in no particular order) (To view, you must be logged into the OmniAPS Slack channel. [Click here](https://omniapsslack.azurewebsites.net/) to join.) * [@dan](https://omniaps.slack.com/team/dan) * [@larsonlr](https://omniaps.slack.com/team/larsonlr) * [@t1djoe](https://omniaps.slack.com/team/t1djoe) * [@joakimornstedt](https://omniaps.slack.com/team/joakimornstedt) * [@pete](https://omniaps.slack.com/team/pete) * [@itsmojo](https://omniaps.slack.com/team/itsmojo) * [@evariste](https://omniaps.slack.com/team/U704ZMWQY) * [@marius](https://omniaps.slack.com/team/marius) * [@DanaMLewis](https://omniaps.slack.com/team/danamlewis) * [@Garidan](https://omniaps.slack.com/team/garidan) * [@SeattleBrighton](https://omniaps.slack.com/team/seattlebrighton) * [@paul](https://omniaps.slack.com/team/paul) * [@lytrix](https://omniaps.slack.com/team/lytrix) * [Find out more about the NightScout community here.](https://github.com/nightscout) * [Find out more about the OpenAPS open source DIY artificial pancreas project here.](https://openaps.org) * Thanks for supporting this effort!! #### Rules for Contributing to this Repository * All code updates require the use of Pull Requests. * Documentation updates can be made directly on master. *** https://files.slack.com/files-pri/T0B2X082E-F0D390KTP/download/pod_datacap_23oct2015.odt ***