Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce connection errors on QT Py ESP32-Sx due to 3D Antennas #654

Merged
merged 4 commits into from
Oct 24, 2024

Conversation

brentru
Copy link
Member

@brentru brentru commented Oct 23, 2024

The PR's change sets the WiFi transmission power to a reduced dBm before performing a network scan.

We are doing this to match CircuitPython (discussion adafruit/circuitpython#9235) and reduce connection errors - https://github.com/adafruit/circuitpython/pull/9369/files

  • Test a few different power increments (-5, -3 dBM from standard 18dBm)
  • Add inclusion guards, add this for all QT Py boards since they share the same 3D antenna.

@tyeth
Copy link
Contributor

tyeth commented Oct 24, 2024

This is a fantastic one! I wonder how many models should have custom levels. I had a quick look at the tx issue in general and saw some modules restricted their operations to 15dbm, see https://forum.arduino.cc/t/esp32-wroom-32-wifi-power-strangeness/1167585/8 , and on some openWRT page that mostly only power amplifier based boards support 18-20dbm values. My db/dbm knowledge is weak, mostly just about skirting the db/power limits for UK usage and long range tests.

If the C3 PCB wifi antenna chip is the issue that would be a fair few boards, but I wonder if it's more SoM/board-layout specific.
It would be lovely to have a reliable test setup for this so we don't have to unnecessarily reduce the effectiveness of all boards.

It looks like the default is the 19.5 dbm mode, which is what it returns if you haven't selected wifi mode yet (similar to ignoring requests to set if not begun/mode-set) https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/src/WiFiGeneric.cpp#L637

@brentru
Copy link
Member Author

brentru commented Oct 24, 2024

It would be all boards with the 3D Antenna, which is all Qt Pys. I'm going to expand this PR.

@brentru
Copy link
Member Author

brentru commented Oct 24, 2024

We're also bumping the CI to BSP 3.0.7,
adafruit/ci-arduino#198

@brentru brentru requested a review from tyeth October 24, 2024 16:57
@brentru
Copy link
Member Author

brentru commented Oct 24, 2024

@tyeth Requesting a review of this PR - it also updates the workflow to build off adafruit/ci-arduino's branch for wippersnapper. I've pointed ci-arduino towards the latest bsp, 3.0.7. I've also updated the PIOArduino URL for 3.0.7 latest.

Copy link
Contributor

@tyeth tyeth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These look good, I'll cast a eye over ci-arduino now

@tyeth
Copy link
Contributor

tyeth commented Oct 24, 2024

@brentru one more thing, I couldn't see the platformIO.ini PioArduino change
Nevermind

@brentru brentru merged commit 270344d into main Oct 24, 2024
39 checks passed
@brentru brentru deleted the qtpy-test-dbm branch October 24, 2024 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants