Head Lights according to player role (Indicator.py): if Global.myRole == Constant.SUPPORTER: showHeadColor(RGB_PURPLE) elif Global.myRole == Constant.ATTACKER: showHeadColor(RGB_YELLOW) elif Global.myRole == Constant.WINGER: showHeadColor(RGB_BLUE) elif Global.myRole == Constant.DEFENDER: showHeadColor(RGB_GREEN) elif Global.myRole == Constant.STRIKER: showHeadColor(RGB_WHITE) else: showHeadColor(RGB_NONE) The face lights are supposed to change according to battery status (see Indicator.py showBatteryStatus). It looks like one place it's supposed to be called is in the "set" mode. When I've tapped the dog twice to put it into the "set" mode, I did not see a display of lights on the face that indicated battery status. HMMM.... --------- Battery Status Lights: Battery status shows a white facial pattern something like this: WW WW = 100% W W WW = 80% W W W = 60% W W = 40% W = 20% W showBatteryStatus() uses a method called showFacePattern() which uses this array: FACE_LED_COLUMNS = [(Led7, Led3, Led1), (Led9, Led5), (Led12, Led11), (Led10, Led6), (Led8, Led4, Led2) ] Note that showBatteryStatus calls: if current >= 100: showFacePattern([1,1,1,1,1]) elif current >= 80: showFacePattern([0,1,1,1,1]) elif current >= 60: showFacePattern([0,1,1,1,0]) elif current >= 40: showFacePattern([0,0,1,1,0]) elif current >= 20: showFacePattern([0,0,1,0,0]) else: showFacePattern([0,0,0,0,0]) So a '1' in the first slot will turn on Led7, Led3, & Led1 and those represent the first "W" in the 100% facial pattern I described above.