see attachment
-
-
Save eonist/43aeccb3bfbfa77db2eb6b89880aa2af to your computer and use it in GitHub Desktop.
how could I test a battery driven sensor interpreter device. the concept: sense wifi / bt signals around a city to determine location via a bt/wifi chip. we would upload these datapoints to the internet to figure out where the device has been etc. we could sense direction / speed / movement via gyroscope compass accelerometer chip? and sense sound levels via a simple microphone. to measure noise levels etc. what parts would I need to test this? it doesnt have to be small. it just has to work. maybe Arduino? connected to different chips needed? connected to some simple battery? enclosed in some standard enclosure? it needs to constantly record. esp on movement etc. and it needs to last at least a day. we can recharge the battery in a normal battery charger etc. but all parts must be available to order online easily etc.
This is a great prototyping project, and the ESP32 is the ideal platform for it — it has WiFi and Bluetooth built in, so you're already halfway there with a single chip. Here's a full breakdown of what you need.
The ESP32 dev board natively supports WiFi scanning (detecting SSIDs, BSSIDs, and RSSI) and BLE scanning (detecting nearby Bluetooth devices and signal strength), which is exactly what you need for WiFi/BT-based location fingerprinting. It runs Arduino IDE code, has plenty of GPIO/I2C/SPI/I2S pins for your sensors, and can log to an SD card while periodically uploading data over WiFi.123
| Component | Specific Part | Interface | Approx. Price | Source |
|---|---|---|---|---|
| MCU | ESP32-WROOM-32 DevKit V1 | — | ~€8 | AliExpress / Amazon |
| 9-DOF IMU (gyro + accel + compass) | ICM-20948 breakout (CJMCU-20948 or SparkFun Qwiic) | I2C | ~€8–22 | AliExpress / SparkFun 45 |
| Microphone | INMP441 I2S MEMS mic module | I2S | ~€3 | AliExpress |
| MicroSD card module | SPI SD card breakout | SPI | ~€2 | AliExpress |
| MicroSD card | 16–32 GB Class 10 | — | ~€5 | Anywhere |
| Battery shield | 18650 Battery Shield V3 (4-slot) | 5V/3.3V out | ~€13 | AliExpress / Funduino 6 |
| Batteries | 4× 18650 Li-ion cells (~3400mAh each) | — | ~€20 | Nkon.nl (Norway-friendly) |
| Enclosure | IP65 ABS project box (~150×100×60mm) | — | ~€8 | AliExpress / Amazon 7 |
| Wiring | Dupont jumper wires, small breadboard or perfboard | — | ~€5 | AliExpress |
| RTC module (optional) | DS3231 RTC for accurate timestamps | I2C | ~€3 | AliExpress |
Total: roughly €75–90 depending on sourcing.
All sensors connect to the ESP32 via just a few buses:
- I2C bus (GPIO 21 SDA, GPIO 22 SCL): ICM-20948 IMU + DS3231 RTC — both share the same two wires.89
- I2S bus (3 GPIOs): INMP441 microphone for digital audio → processed into dB(A) values in firmware.10
- SPI bus (4 GPIOs): MicroSD card module for data logging.
- Power: Battery shield provides regulated 5V/3.3V to ESP32 and all sensors.6
The critical question — can it last a day? Yes, comfortably:3
- ESP32 active with WiFi/BT scanning: ~150mA
- ICM-20948: ~3mA11
- INMP441 + processing: ~5mA
- SD card writes (periodic): ~20mA average
- Total active draw: ~175–200mA
With 4× 3400mAh 18650 cells in parallel (≈13,600mAh), you get roughly 68–78 hours of continuous operation — well beyond your 1-day requirement. Even with cheaper 2600mAh cells (3× parallel = 7,800mAh), you'd still get ~39 hours.12
The software side ties everything together:
- WiFi scan every 30–60 seconds — logs all visible SSIDs, BSSIDs, RSSI, and channel to SD card.2
- BLE scan every 30–60 seconds (alternating with WiFi) — logs device names, MAC addresses, and RSSI.1
- IMU polling at 10–50 Hz — log accelerometer, gyroscope, and magnetometer readings; use the accelerometer to detect motion and increase scan frequency when moving.8
- Sound level — sample the INMP441 via I2S, compute RMS and A-weighted dB(A) every 1 second, log the value.10
- Data upload — when a known WiFi network is in range (e.g., your home), bulk-upload the SD card logs via HTTP POST to a server or cloud endpoint.13
- Timestamps — DS3231 RTC keeps accurate time even through power cycles.
All data gets written as CSV rows to the SD card: timestamp, wifi_scan_data, ble_scan_data, ax, ay, az, gx, gy, gz, mx, my, mz, dBA.
To maximize battery life beyond the baseline, use the ICM-20948's built-in wake-on-motion interrupt:9
- When no motion is detected → ESP32 enters light sleep, waking every 60s for a quick WiFi/BT scan
- When motion is detected → full active mode with continuous IMU logging and frequent scans
- This could extend battery life to 3–5 days depending on how much time is spent stationary3
Use an IP65 ABS box (~150×100×60mm) — plenty of room for the battery shield, ESP32, and sensor breakouts. Mount the components on a perfboard or use adhesive standoffs. Drill a small hole for the microphone (cover with acoustic-vent tape to maintain weather resistance). The enclosure doesn't need to be sealed for RF — WiFi and BT signals pass through ABS plastic fine.7
This setup gives you a fully functional, field-testable prototype that you can iterate on before designing a custom PCB. The ESP32 + Arduino IDE ecosystem means there are existing libraries for every single component, so you can get a working data logger running within a weekend. 1415161718192021222324252627282930313233343536373839404142434445
what is the process of matching bt and wifi fingerprints to gps locations? and is it possible to make the microphone more sealed in? a tape doesnt sound very solid. also could we measure elevation / I guess we need a barometer for that?
Great questions — all three are important for making this device actually useful. Let me break it all down.
The process works in two phases: offline database building and online matching.46
Large-scale "wardriving" is the backbone. Companies like Google (via Street View cars), Apple (via iPhones), and crowdsourced platforms like WiGLE (wigle.net) have driven/walked around the world recording GPS coordinates alongside every WiFi BSSID and BT device they detect. This creates a massive lookup table: "At GPS coordinate X,Y we saw these access points with these signal strengths."4748
Your device doesn't need GPS onboard. It scans for all visible WiFi BSSIDs and BLE devices, records their RSSI (signal strength), and uploads that "fingerprint" to a server. The server then:49
- Looks up each BSSID in a geolocation database (Google Geolocation API, WiGLE API, or Apple's location service).5051
- Uses trilateration — if it sees 3+ known access points, it calculates position based on signal strength vs. known AP locations.51
- Returns an estimated lat/long with an accuracy radius (typically 20–50m in urban areas).52
For your prototype, the Google Geolocation API is the easiest path — you POST a JSON array of BSSIDs and signal strengths, and it returns coordinates. It's free for low volumes. WiGLE's API is another option and is fully open/crowdsourced.505251
Since you're in Oslo, urban WiFi density is high, so fingerprint-based location should work well. In parks or less dense areas, accuracy drops. Your IMU data (accelerometer + compass) can fill gaps between WiFi scans using pedestrian dead reckoning (PDR) — the IMU tracks steps and heading changes between known WiFi fixes.46
You're right, tape is not a real solution. The professional approach uses ePTFE acoustic vent membranes — the same technology used in every waterproof smartphone.53
- Gore-style ePTFE acoustic membranes — these are hydrophobic, dust-proof, and air-permeable with <2dB transmission loss, meaning they barely affect sound readings. They achieve IP67 rating (submersible to 1m for 30 min).5455
- PCB Artists sells a peel-and-stick IP67 acoustic membrane specifically designed for MEMS microphones — just stick it over a small drilled hole in your enclosure.54
- On AliExpress, you can buy small ePTFE acoustic vent stickers for ~$0.20–1.00 each (minimum order as low as 100 pcs, or sample packs of 5).5556
- Drill a 3–5mm hole in the ABS enclosure wall.
- Mount the INMP441 microphone directly behind the hole on the inside.
- Apply the ePTFE membrane sticker over the hole on the outside — it's self-adhesive.54
- This gives you a properly sealed, weather-resistant acoustic port that passes sound through with minimal attenuation.
Yes — a BMP280 barometric pressure sensor is exactly what you need, and it's one of the cheapest sensors you can add (~€2).57
| Parameter | Value |
|---|---|
| Pressure range | 300–1100 hPa 57 |
| Altitude range | -500m to 9000m 57 |
| Pressure accuracy | ±1 hPa (≈ ±8m altitude) 57 |
| Resolution | 0.01 hPa (≈ 0.08m) 58 |
| Interface | I2C (same bus as your IMU) 58 |
| Power | ~3µA — negligible |
Barometric altitude is relative, not absolute — atmospheric pressure changes with weather. To get accurate elevation, you need a reference sea-level pressure for your area. For a logging device, the best approach is:59
- Log raw pressure values continuously.
- In post-processing, calibrate against known local sea-level pressure (e.g., from weather station data for Oslo) to derive true elevation.59
- The BMP280 is excellent at detecting relative elevation changes — like going up a hill, entering a subway, or climbing stairs — even without calibration, since short-term pressure changes from movement are much larger than weather drift.58
The BMP280 connects to the same I2C bus as your ICM-20948 IMU (just a different address), so no extra wiring complexity. It also gives you temperature as a bonus.60
Add these to the previous list:
- BMP280 breakout module — ~€2, AliExpress/Amazon, I2C57
- IP67 ePTFE acoustic membrane stickers — ~€5 for a small pack, AliExpress or PCB Artists5654 6162636465666768697071727374
can you give me a table of the parts. and where to buy them. with links. try to find Norwegian online stores that has them
Here's the full parts table with Norwegian and Nordic stores where possible. I also exported it as a CSV for you.
| Component | Specific Part | Interface | Price (NOK) | Store | Link |
|---|---|---|---|---|---|
| ESP32 DevKit (WiFi+BT MCU) | ESP32-WROOM-32 NodeMCU 30P | — | kr 89 | Elkim.no 🇳🇴 | elkim.no 75 |
| 9-DOF IMU (gyro+accel+compass) | MPU-6050 (6-axis) at Elkim or ICM-20948 (9-axis, has compass) | I2C | kr 59 / ~kr 230 | Elkim.no 🇳🇴 / AliExpress | elkim.no 76 |
| Barometer (elevation) | BMP280 breakout | I2C | ~kr 85 | Electrokit.com 🇸🇪 | electrokit.com 77 |
| MEMS Microphone (noise) | INMP441 I2S mic module | I2S | kr 89 | Fibel.no 🇳🇴 | fibel.no 78 |
| MicroSD card module | SPI SD card breakout | SPI | ~kr 30 | Elkim.no / AliExpress | elkim.no 79 |
| MicroSD card | 16–32 GB Class 10 | — | ~kr 80 | Kjell.com 🇳🇴 | kjell.com 80 |
| Battery shield | 18650 Battery Shield V3 (4-slot) | 5V/3.3V | ~kr 100 | AliExpress | aliexpress.com 81 |
| Li-ion batteries ×4 | 18650 3400mAh (Panasonic NCR18650B) | — | ~kr 200 total | Nkon.nl (ships to NO) | nkon.nl |
| RTC module | DS3231 breakout | I2C | ~kr 40 | Elkim.no / AliExpress | elkim.no 79 |
| IP65 ABS enclosure | ~150×100×60mm project box | — | ~kr 80 | AliExpress / Amazon.se | — |
| IP67 acoustic membrane | ePTFE vent sticker for mic port | — | ~kr 50 (5-pack) | AliExpress / PCB Artists | pcbartists.com 82 |
| Wiring & breadboard | Dupont jumpers + mini breadboard/perfboard | — | ~kr 50 | Elkim.no / Kjell.com | kjell.com 83 |
Estimated total: ~kr 950–1,150 (~€85–100) depending on IMU choice.
- Elkim.no is your best bet for the ESP32 and basic sensors — they're based in Norway with fast domestic shipping.7584
- Fibel.no carries the INMP441 mic module specifically, which is hard to find in Nordic stores.78
- Kjell & Company (kjell.com/no) has physical stores across Norway for SD cards, jumper wires, and basic Arduino accessories.85
- Electrokit.com is Swedish but ships to Norway cheaply — great for the BMP280 and other breakout boards.77
- Nkon.nl is the go-to European source for quality 18650 cells at fair prices and ships to Norway.
| MPU-6050 | ICM-20948 | |
|---|---|---|
| Axes | 6 (accel + gyro) | 9 (accel + gyro + magnetometer) |
| Compass | ❌ No | ✅ Yes |
| Price | kr 59 at Elkim | ~kr 230 from AliExpress/SparkFun |
| Availability in NO | In stock at Elkim 76 | Must order from AliExpress or SparkFun 8687 |
The MPU-6050 is available locally and cheap, but it lacks a magnetometer — meaning no compass heading. For your use case (determining direction of travel), the ICM-20948 is worth the extra cost because it gives you a full 9-axis solution including magnetic north. If budget matters, you can start with the MPU-6050 from Elkim to prototype the firmware, then upgrade to the ICM-20948 later since they both use I2C.7688
The BMP280 at Electrokit gives you ±1 metre altitude accuracy, connects to the same I2C bus as your IMU, and draws virtually zero power. It's perfect for detecting elevation changes like hills, underpasses, or building floors. Just log raw pressure and convert in post-processing using local weather station reference data for Oslo.77
The CSV file is attached if you want to use it as a shopping checklist . 8990919293949596979899100101102103104105106107108109
are there any limitations to these lookup geoloc servers? im thininggg that each of my users send a payload to these services to get gps coordinates back etc.
Yes, there are real limitations — and this is actually one of the most important architectural decisions for your product. Here's the full picture.
Google is the most accurate service for WiFi/BT → GPS lookup, but it costs money at scale:110111
| Monthly Requests | Price per 1,000 |
|---|---|
| 0 – 10,000 | Free |
| 10,001 – 100,000 | $5.00 |
| 100,001 – 500,000 | $4.00 |
| 500,001 – 1,000,000 | $3.00 |
| 1,000,000+ | $1.50 |
The free tier gives you 10,000 lookups/month. If each device does one lookup per minute while active (say 12 hours/day), that's ~720 requests/day per device. So the free tier covers roughly 14 active devices — fine for prototyping but not for a real product rollout.112113
Rate limit: 50 requests per second, which is generous.114
If you have 100 devices each doing 720 lookups/day = 72,000/day = ~2.16M/month. That's roughly $3,000–4,000/month in API costs. This gets expensive fast.112
WiGLE is crowdsourced and free for personal/research use, but has significant limitations:115116
- Results capped at 100 per request with pagination117
- Daily API query limits (varies by account tier — free accounts get a small daily cap)
- Not intended for commercial/production use — their terms discourage automated high-volume lookups116
- Less accurate than Google, especially outside the US
- Coverage in Norway is decent in cities but sparse in rural areas
WiGLE is useful for prototyping and analysis, but not viable as a backend for a consumer product.
This was the best free, privacy-friendly option — but Mozilla shut it down in mid-2024. All third-party API keys were removed and the service is no longer publicly accessible.118
BeaconDB (beacondb.net) was created as a community replacement for MLS:119120
- Free and open — compatible with the old MLS/Ichnaea API format119
- Accepts WiFi, Bluetooth, and cell tower data
- Still in beta — the database is growing but coverage is patchy121
- No explicit rate limits published yet, but it's a small community project — don't expect it to handle thousands of devices hammering it continuously120
- You can contribute data back to it from your devices, which improves coverage for everyone
Given these limitations, the best approach is to not do real-time lookups from each device. Instead:
- Devices log raw fingerprints locally — store WiFi BSSIDs + RSSI + BLE devices + timestamps on the SD card. No internet needed in the field.
- Batch upload to YOUR server — when a device connects to WiFi (e.g., user charges it at home), it uploads the raw log to your own backend.
- Your server does the lookups — your backend calls the Google Geolocation API (or BeaconDB) once per unique fingerprint, caches the result, and never looks up the same set of BSSIDs twice.122
- Caching eliminates most costs — in a city like Oslo, your devices will repeatedly see the same access points. After the first lookup, you store the BSSID → GPS mapping in your own database. Over time, your cache covers most of the city and you barely need external API calls at all.
This approach means:
- Devices don't need constant internet connectivity in the field
- API costs drop by 90%+ due to caching
- You can mix providers (Google for high accuracy, BeaconDB as free fallback)
- You gradually build your own location database
| Phase | Unique BSSIDs | Google API Cost |
|---|---|---|
| First month (cold cache) | ~50,000 new APs | ~$200 |
| Month 2–3 (warm cache) | ~5,000 new/month | ~$25/month |
| Steady state | ~1,000 new/month | ~$5/month |
This is dramatically cheaper than having each device call Google in real-time. The key insight is that WiFi access points don't move — once you know where a BSSID is, you know forever (until the router is moved, which is rare).112
Would you want me to sketch out the server-side architecture for the caching layer, or focus more on the device firmware side first? 123124125126127128129130131132133134135
Footnotes
-
https://hubble.com/community/guides/how-to-build-a-ble-asset-tracker-with-esp32/ ↩ ↩2
-
https://deepbluembedded.com/esp32-wifi-scanner-example-arduino/ ↩ ↩2
-
https://esp32.co.uk/esp32-battery-powered-sensors-deep-sleep-low-power-design-guide/ ↩ ↩2 ↩3
-
https://www.sparkfun.com/sparkfun-9dof-imu-breakout-icm-20948-qwiic.html ↩
-
https://funduinoshop.com/en/diy-workshop/power-supply/battery-compartments-and-terminals/battery-shield-v3-raspberry-pi/arduino/esp32-4-18650 ↩ ↩2
-
https://probots.co.in/ip-65-waterproof-enclosurewpe32.html ↩ ↩2
-
https://randomnerdtutorials.com/esp32-mpu-6050-accelerometer-gyroscope-arduino/ ↩ ↩2
-
https://eckstein-shop.de/SparkFun-9DoF-IMU-Breakout-ICM-20948-Qwiic-EN ↩ ↩2
-
https://shop.openmarine.net/home/30-icm-20948-imu-module-soldered-pins.html ↩
-
https://hackaday.io/project/182052/log/198676-esp32-thingspeak-deep-sleep ↩
-
https://projecthub.arduino.cc/rinme/wi-fi-gps-tracker-with-xiao-esp32-s3-geofencing-alerts-cb88e0 ↩
-
https://zbotic.in/esp32-ble-scanner-detect-nearby-devices-signal-strength/ ↩
-
https://www.reddit.com/r/esp32/comments/p2bc4o/ble_or_wifi_localisation_with_esp32/ ↩
-
https://pcbartists.com/product-documentation/accurate-esp32-decibel-meter/?=1 ↩
-
https://www.reddit.com/r/esp32projects/comments/1m03bs5/recommend_me/ ↩
-
https://circuitdigest.com/microcontroller-projects/interface-ky038-sound-sensor-with-esp32 ↩
-
https://www.rocketryforum.com/threads/gps-imu-for-dummies-old-rocketeers.193898/ ↩
-
https://zbotic.in/esp32-power-profiling-measure-sleep-and-active-consumption/ ↩
-
https://community.home-assistant.io/t/esp32-deep-sleep-and-massive-power-drain/813330 ↩
-
https://embeddedcomputing.com/technology/open-source/development-kits/esp32-bee-data-logger-for-simple-long-term-data-recording ↩
-
https://www.reddit.com/r/esp32/comments/1jezret/esp32_deepsleep_high_current_peaks/ ↩
-
https://www.pleasedontcode.com/blog/efficient-data-logging-with-esp32 ↩
-
https://thingpulse.com/esp32-ultra-long-battery-life-with-espnow/ ↩
-
https://zbotic.in/esp32-sd-card-data-logger-sensor-reading-with-timestamps/ ↩
-
https://forum.arduino.cc/t/power-hungry-in-deep-sleep/1204775 ↩
-
https://www.reddit.com/r/esp32/comments/1hbo3ks/data_logger_setup_needs_more_robust_storage_than/ ↩
-
https://no.rs-online.com/web/p/sensor-development-tools/2836590 ↩
-
https://shop.wegmatt.com/products/icm-20948-imu-module-soldered-pins ↩
-
https://community.home-assistant.io/t/esp32-with-inmp441-only-microphone-yaml-needed/827921 ↩
-
https://forum.arduino.cc/t/esp32-inmp441-i2s-microphone-10-db-spl-discrepancy-vs-phone-app-after-a-weighting-implementation/1406505 ↩
-
https://www.reddit.com/r/dataisbeautiful/comments/3tkmbz/wiglenet_shows_worldwide_wifi_networks_on_a_map/ ↩
-
https://www.hackster.io/middleca/find-your-wi-fi-device-using-the-google-geolocation-api-2bdd59 ↩ ↩2 ↩3
-
https://zuidt.nl/blog/html/2014/07/04/tinkering_with_mozilla_location_services.html ↩ ↩2
-
https://www.gore.com/products/mems-protective-vents-microphones ↩
-
https://pcbartists.com/product/ip67-acoustic-membrane/ ↩ ↩2 ↩3 ↩4
-
https://www.alibaba.com/product-detail/IP67-waterproof-e-PTFE-acoustic-vent_62413467104.html ↩ ↩2
-
https://www.electronicwings.com/esp32/bmp280-barometer-sensor-interfacing-with-esp32 ↩ ↩2 ↩3 ↩4 ↩5
-
https://www.hackster.io/varuldcube100/altitude-monitoring-with-bmp280-using-esp32-and-node-red-fc35ae ↩ ↩2 ↩3
-
https://www.esp32learning.com/code/esp32-and-bmp280-sensor-example.php ↩
-
https://rpubs.com/dioana/Indoor-Location-Prediction-Using-WI-Fi-Fingerprinting ↩
-
https://documentserver.uhasselt.be/bitstream/1942/24619/1/00000000-5a73-4c8f-9507-23118e9e5e84.pdf ↩
-
https://www.reddit.com/r/homelab/comments/1bz79wg/ysk_wardriving_and_mapping_wifi_aps/ ↩
-
https://www.microventing.com/application/waterproof-acoustic-vents ↩
-
https://github.com/wiglenet/wigle-wifi-wardriving/blob/main/README.md ↩
-
https://ouseful-course-containers.github.io/ou-tm112-notebooks/Activity 6.20 - Locating Nearby Wifi Hotspots.html ↩
-
https://www.maltego.com/blog/integrating-wireless-data-into-your-osint-investigations/ ↩
-
https://stackoverflow.com/questions/5063175/what-does-firefox-send-for-html5-geolocation-data-in-its-request ↩
-
https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API ↩
-
https://elkim.no/produkt/esp32-nodemcu-utviklingskort-2-4ghz-wifi-bluetooth-dual-mode-cp2102-espressif-wroom/ ↩ ↩2
-
https://elkim.no/produkt/3-akse-aksellerator-gyro-gy-521-mpu-6050-module-3-axis-acceleration-3-axis-gyro-module/ ↩ ↩2 ↩3
-
https://www.electrokit.com/en/temperatur-och-lufttryckssensor-pa-kort-bmp280 ↩ ↩2 ↩3
-
https://www.kjell.com/no/produkter/elektro-og-verktoy/elektronikk/arduino/utviklingskort ↩
-
https://www.kjell.com/no/produkter/elektro-og-verktoy/elektronikk/arduino/moduler ↩
-
https://www.kjell.com/no/produkter/elektro-og-verktoy/elektronikk/arduino ↩
-
https://www.sparkfun.com/sparkfun-9dof-imu-breakout-icm-20948-qwiic.html ↩
-
https://www.electrokit.com/en/esp32-c6-devkitc-utvecklingskort-8mb ↩
-
https://www.electrokit.com/en/esp32-c3-mini-utvecklingskort ↩
-
https://www.electrokit.com/en/esp32-h2-devkitm-utvecklingskort-4mb ↩
-
https://elkim.no/esp32-en-kraftig-mikrokontroller-for-a-koble-sammen-smarte-enheter/ ↩
-
https://www.electrokit.com/en/utvecklingskort-esp32-med-display ↩
-
https://www.electrokit.com/en/esp32-c3-wroom-utvecklingskort-med-risc-v ↩
-
https://randomnerdtutorials.com/esp32-digital-inputs-outputs-arduino/ ↩
-
https://www.electrokit.com/en/esp32-s3-devkitc-utvecklingskort-8mb-pram-8mb ↩
-
https://skule.sormo.no/index.php/nettbutikk/arduino-sensorer/imu ↩
-
https://www.fruugonorge.com/imu-sensormodul-3-akset-akselerometer-gyroskop-magnetometer-for-robotikk-og-orienteringssporing/p-460009431-968341834?language=no ↩
-
https://www.electrokit.com/temperatur-och-lufttryckssensor-pa-kort-bmp280 ↩
-
https://www.electrokit.com/en/barometric-pressure-sensor-bmp280 ↩
-
https://developers.google.com/maps/documentation/geolocation/usage-and-billing ↩
-
https://coordable.co/provider/google-maps-geocoding-api/ ↩ ↩2 ↩3
-
https://www.microlab.at/en/news/google-maps-api:-new-prices-starting-march-2025-what-you-need-to-know-now-16589.html ↩
-
https://tech.slashdot.org/story/24/03/17/2150221/mozilla-ends-its-privacy-friendly-gps-style-location-service ↩
-
https://discuss.grapheneos.org/d/17089-users-contribute-location-data-for-future-network-location-usage ↩ ↩2
-
https://www.reddit.com/r/degoogle/comments/1hf0ca3/microg_gps_and_mozilla_location_services/ ↩
-
https://www.hackster.io/middleca/find-your-wi-fi-device-using-the-google-geolocation-api-2bdd59 ↩
-
https://nicolalazzari.ai/articles/understanding-google-maps-apis-a-comprehensive-guide-to-uses-and-costs ↩
-
https://www.reddit.com/r/googlecloud/comments/1i3cgq0/google_maps_api_pricing_change_after_march_1_2025/ ↩
-
https://www.dhiwise.com/post/geolocation-api-pricing-guide ↩
-
https://help.repliers.com/en/article/api-usage-limits-and-overages-1uxlz21/ ↩
-
https://developers.google.com/maps/documentation/geocoding/usage-and-billing ↩
-
https://www.reddit.com/r/Bard/comments/1pkvvcp/did_google_reduce_the_limits_of_api_free_tier_so/ ↩
-
https://www.datastudios.org/post/google-ai-studio-free-plans-and-trials-access-tiers-usage-limits-and-upgrade-paths-in-late-2025 ↩
-
https://masterconcept.ai/news/google-maps-api-2025-complete-guide-to-pricing-policies-business-strategy/ ↩
-
https://github.com/google-gemini/gemini-cli/discussions/4122 ↩
