This repository contains all the discovered protocols, commands, error types and other messages used to communicate with an Omnipod pump described in the wiki together with many 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 to discuss this work.
- In 2016 we figured out the RF modulation and packet/message encoding. (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. (2 years)
- In 2018 implementation of the commands and logic started first within the Rileylink_ios Omnikit framework for using the pump with Loop and Rileylink hardware. (1 year)
- In 2018 the porting of Rileylink_ios to RileyLinkAAPS was started for the Medtronic Pump to be able to use it with AndroidAPS (1 year in the works, see current progress here)
- A port of Rileylink_ios 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 was publicly released.
- In 2019 the new bluetooth powered Omnipod Dash will be implemented in Tidepool Loop
There are 2 ways you can build a radio capture and parsing setup:
- 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 and has done a great job in capturing, but was expensive because you will need to flash firmware onto it using a CC-Debugger and we later discovered it was missing some packages. Files and Install guide rfcatomni
- 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 (really needed to get a good recording) as cheaper hardware solution. Files and install guide rtlomni
=======
** Please note the details below are related to a project created to better understand how the omnipod communicates **
Join the Slack channel to discuss this work.
(To view, you must be logged into the OmniAPS Slack channel. Click here to join.)
- @dan
- @larsonlr
- @t1djoe
- @joakimornstedt
- @pete
- @itsmojo
- @evariste
- @marius
- @DanaMLewis
- @Garidan
- @SeattleBrighton
- @paul
- @lytrix
- Find out more about the NightScout community here.
- Find out more about the OpenAPS open source DIY artificial pancreas project here.
- Thanks for supporting this effort!!
- 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