Powering from 5V generates noise?
I'm using LoPy to read BLE beacons and process them based on the content. After finishing the development and testing of the script, I tried to power the module from the 5V pin. Before that I've always powered it with a 3.3V power supply from the 3V3 pin.
I've noticed that when it was powered from a good 5V 1A power supply (no funny business there) using the 5V pin I was receiving the 1/3 of the BLE advertisement packets compared to when powered with 3.3V from the 3V3 pin.
Does anyone have stumbled upon something similar?
Currently beacon scanning is done via GATT which adds a lot of stack overhead. It's possible to scan for beacons more efficiently.
I think I might have caused damage to the regulator while powering LoPy from the 3V3 pin. I tried powering a brand new LoPy with 5V from the Vin and the BLE scanner return the same amount of packets as the other LoPy which is powered from the 3V3 pin.
@jmarcelino Can you elaborate on the implementation of the beacon scanning? Is there going to be a hardware supported beacon scan in a future firmware release?
Thanks for the help :)
@jmarcelino thank you for the info.
I will try testing a brand new (in case I caused a problem to the regulator) LoPy powered with 5V or 3.3V from the Vin pin and the one that I'm already using powered from the 3V3 pin with 3.3V. It will be very strange if the old one will be able to find more BLE packets while scanning.
I will update this post on Monday with the test results.
Do not power the LoPy directly via the 3.3V pin, there was a warning about this a couple of months ago and it's in the documentation: https://docs.pycom.io/chapter/datasheets/notes/
"Please DO NOT power the board via the 3.3V pin as this may damage the device. ONLY use the VIN pin for powering Pycom Devices."
(you can still feed 3.3V to the VIN pin)
That said I don't think there is a power noise issue affecting your beacon scans - unless your 5V supply is really noisy and you are introducing large conducted emissions). It's just that beacon scanning is generally unreliable due to the way its currently implemented in software so if you are in a different environment - maybe with the "wrong" beacons in the vicinity - you'll see more being missed.
This is being worked on both on the ESP-IDF (the core SDK) and Python level so expect improvements in the next couple of months.