While numerous repositories have explored and successfully reverse-engineered various aspects of the Pixmob IR LEB wristband, I have opted to delve into the EEPROM myself. This personal investigation aims to broaden the existing knowledge base about the device's functionality.
There seems a few different variants of these in the wild. I've come across one that has nothing written on it which I suspect is an ABOV model. I did discover one model that hasn't been seen before that has markings.
Data Sheet for that one is here.

The /dumps directory contains what I've extracted from the SMD eeprom labeled C24C02 and AK16H from a few wristbands.
My soldering skills are pretty shit however I managed to connect some wires to it. After using the Bus Pirate 5 I successfully dumped the contents.
I got my hands on another few samples to mess with shortly after. These I connected proper probes to and also dumped it's contents which appears to be the same.
The address we interface with the EEPROM is:
0x50- (0xA0) WRITE
- (0xA1) READ
When the PixMob is provided power the MCU appears to wipe the EEPROM and write a default state to it if certain criteria isn't met.
This was discovered using a logic analyzer attached to the PCB while observing the boot up sequence when power was supplied to the Pixmob bracelet.

09 00 00 01 00 00 00 00 01 01 01 01 01 01 01 01
00 BF 00 BF 00 BF 60 1F 00 60 BF 1F 00 00 BF BF
BF 00 BF 7E BF 00 00 BF BF BF 00 7E 60 BF 00 1F
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BF
BF BF 3D 00 00 00 1E 1E 1E 70 06 FF FF FF FF FF
The startup procedure goes something like this:
- A read is performed at
0x00= [0x09] - A read is performed at
0x03= [0x01] - A read is performed at
0x02= [0x00] - A read is performed at
0x01= [0x00] - A read is performed at
0x08= [0x01] - A read is performed at
0x04= [0x01] (Read the mode)
- Address
0x00is set for read, and data0x09is read back. - Address
0x03is set for read, and data0x04is read back. - Address
0x02is set for read, and data0x02is read back. - Address
0x01is set for read, and data0x00is read back. - Address
0x08is set for read, and data0x01is read back. - Address
0x04is set for read, and data0x11is read back.
0x11 means EEPROM_MODE so it will read starting from 0x50
- Address
0x50is set for read, and data0x00is read back.- eeprom_mem_config->COLOR GREEN
- Address
0x51is set for read, and data0x00is read back.- eeprom_mem_config->COLOR RED
- Address
0x52is set for read, and data0x00is read back.- eeprom_mem_config->COLOR BLUE
- Address
0x53is set for read, and data0x1Fis read back.- eeprom_mem_config->Attack intensity
- Address
0x54is set for read, and data0x1Eis read back.- eeprom_mem_config->Hold timer
- Address
0x55is set for read, and data0x1Eis read back.- eeprom_mem_config->Release timer
- Address
0x56is set for read, and data0x70is read back.- eeprom_mem_config->cfg_profile_range
- Address
0x57is set for read, and data0x06is read back.- eeprom_mem_config->cfg_mode_selector
- Address
0x14is set for read, and data0x98is read back.- mem_a->color2->green
- Address
0x15is set for read, and data0xC0is read back.- mem_a->color2->red
- Address
0x16is set for read, and data0x30is read back.- mem_a->color2->blue
- Address
0x17is set for read, and data0x88is read back.- mem_a->color2->checksum
I've intensionally left out the rest of the data as it's mostly FF. However, pointed out to me by @sammy there appears to be some data in the last 8 bytes of the 256 block when the eeprom is powered and active. These are (my guess) something to do with the data registers See the diagram below.
You can find my research for the structure in /scripts/010Editor/PIXMOB_EEPROM_flash2.bt template which works for 010Editor.
You can also apply the script /scripts/010Editor/PIXMOB_VISAULIZE_COLORS.1sc which will show you the current colors in memory:
When address 0x04 is set to MEM_MODE 0x11 the bracelet will play back the data set in the EEPROM.
eeprom_mem_config->cfg_profile_range Bits [7:4] select the high end of the profile index and bits [3:0] selects the low end of the profile index.
eeprom_mem_config->cfg_mode_selector is some kind of mode selector.
0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, or 0x0D: Pulses the RGB values in memory 0x50-0x52. Last I2C read is for 0x57 during startup, no further I2C reads seen.
0x02, 0x03, 0x0A, or 0x0B: Sequential mode. Starts with profile index eeprom_mem_config->cfg_profile_range[3:0] and sequentially counts up to eeprom_mem_config->cfg_profile_range[7:4], then rolls over. I2C read of profile data at the start of every pulse.
0x06, 0x07, 0x0E, or 0x0F: Random profile index between eeprom_mem_config->cfg_profile_range[3:0] and eeprom_mem_config->cfg_profile_range[7:4]. I2C read profile data at the start of every pulse.
If you are interested in this work there is a Discord server someone has setup, feel free to join or contact me.
Thanks to @jamesw343 for the research in regards to the profile/mode selector findings in memory mode.






