Another thing that can cause that sort of thing is RF signals coming from the environment and being reflected / absorbed / blocked / enhanced by your body motion. Like the case where you affect the reception of a weak station on a radio / TV by your body position. That is more common in RF receivers, but if you have some semi high Z circuits that are picking up and rectifying RF from the environment it could cause it.
I will take it out and test it. I will place it in the middle of my room and see if location has an impact on it.
I have no other sensors in the circuit either. It consists of an Arduino Uno (PC powered), 3.3v and 5v linear reg, logic level converters, and my bluetooth chip. No sensors (yet).
Make all unassigned inputs outputs that are forced to 0 or something or use pull down resistors to ground any unused inputs.
I will have to do this! I couldnt imagine floating inputs would affect the current draw though. Im using an example program and I would assume they are all set to be pulled down/up, but I shouldn't be making assumptions - I'll check
Then test with a fan or flashlight or sound from your voice...If a blanket / sheet shields it then it might be air currents or light whereas if aluminium foil shields it then it might be e-field or RF. If none of that shields it, maybe good old vibration.
All great test scenarios, I will be sure to test them when I get a chance. I was wondering if the Bluetooth beacon was measuring its own signals reflected, and were upping the output amplitude in that direction to compensate or something? Seems pretty far-fetched and complex though for a cheap chip.