A set of tools used for retrieving, parsing and clearing data from a BodyBugg.
Go Java
Switch branches/tags
Nothing to show
Latest commit 985971f Oct 29, 2014 @bemasher Update on project status.



This project is dead, the method used to get access to the device has been fixed. I will leave this here simply for posterity.


Device Dump/Clear

Usage: java -jar bodybuggbypass.jar

The program writes all retrieved data to a file named: {timestamp of last data retrieval}.log

Once all data has been read, the device's memory is cleared and internal time as well as data retrieval times are set to the current date/time.

Dump Parser

Building the parser requires golang. Steps to build are as follows:

go get github.com/bemasher/errhandler
go build parser.go

Usage: parser [INFILE] [[OUTFILE]]


  • INFILE is required.
  • OUTFILE is optional and defaults to "data.json"

The input file is parsed and written as a json encoding to OUTFILE. The basic structure of the file is a list of the following object:

Session {
	Channel string
	Epoch int64
	Divisor uint32
	Payload []arbitrary
  • Channel represents the channel name of the session.
  • Epoch is the unix timestamp of the time the first data point was recorded.
  • Divisor is used for determining the time interval between records, 1 divisor = 1/32 sec.
  • Payload is a homogeneous list of any of the following types:
    • uint16
    • int64
    • {Timestamp int64, I int, J int}


To avoid the same fate as the FreeTheBugg project, I am not packaging any of the jars this program depends on which belong to BodyMedia. Instead you'll need to download and place them in the directory bodybuggbypass_lib which must be in the same directory as the executable jar bodybuggbypass.jar:

This project was developed using version 1.10.0 of the jar's. I have not had time to add compatibility with version 1.11.0 and will not work. Links to version 1.10.0 no longer work.


Sample dump and parsed data are found in sample.log and sample.json.