Skip to content

Instantly share code, notes, and snippets.

@eonist
Created March 22, 2026 13:00
Show Gist options
  • Select an option

  • Save eonist/43aeccb3bfbfa77db2eb6b89880aa2af to your computer and use it in GitHub Desktop.

Select an option

Save eonist/43aeccb3bfbfa77db2eb6b89880aa2af to your computer and use it in GitHub Desktop.
Arduino sensory interpreter.md

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.

Why ESP32

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

Parts List

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.

Wiring Architecture

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

Power Budget & Battery Life

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

Firmware Strategy

The software side ties everything together:

  1. WiFi scan every 30–60 seconds — logs all visible SSIDs, BSSIDs, RSSI, and channel to SD card.2
  2. BLE scan every 30–60 seconds (alternating with WiFi) — logs device names, MAC addresses, and RSSI.1
  3. 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
  4. Sound level — sample the INMP441 via I2S, compute RMS and A-weighted dB(A) every 1 second, log the value.10
  5. 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
  6. 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.

Smart Power Optimization

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

Enclosure Setup

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.

WiFi/BT Fingerprint → GPS Location Matching

The process works in two phases: offline database building and online matching.46

How the Database Gets Built

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

How Your Device Would Use It

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

  1. Looks up each BSSID in a geolocation database (Google Geolocation API, WiGLE API, or Apple's location service).5051
  2. Uses trilateration — if it sees 3+ known access points, it calculates position based on signal strength vs. known AP locations.51
  3. 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

Practical Tip for Your Device

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

Microphone Sealing — Better Than Tape

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

What to Use

  • 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

Installation

  1. Drill a 3–5mm hole in the ABS enclosure wall.
  2. Mount the INMP441 microphone directly behind the hole on the inside.
  3. Apply the ePTFE membrane sticker over the hole on the outside — it's self-adhesive.54
  4. This gives you a properly sealed, weather-resistant acoustic port that passes sound through with minimal attenuation.

Elevation via Barometer

Yes — a BMP280 barometric pressure sensor is exactly what you need, and it's one of the cheapest sensors you can add (~€2).57

Specs & Capability

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

Important Caveat

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

Updated Parts Addition

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.

Complete Parts List

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.

Norwegian Store Notes

  • 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.

IMU Choice: MPU-6050 vs ICM-20948

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

Barometer for Elevation

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 Geolocation API

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

Cost Example at Scale

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 API

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.

Mozilla Location Service (MLS)

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 — The MLS Successor

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

The Smart Architecture for Your Product

Given these limitations, the best approach is to not do real-time lookups from each device. Instead:

  1. Devices log raw fingerprints locally — store WiFi BSSIDs + RSSI + BLE devices + timestamps on the SD card. No internet needed in the field.
  2. 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.
  3. 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
  4. 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

Cost Projection with Caching

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

  1. https://hubble.com/community/guides/how-to-build-a-ble-asset-tracker-with-esp32/ 2

  2. https://deepbluembedded.com/esp32-wifi-scanner-example-arduino/ 2

  3. https://esp32.co.uk/esp32-battery-powered-sensors-deep-sleep-low-power-design-guide/ 2 3

  4. https://www.aliexpress.com/item/4000910277147.html

  5. https://www.sparkfun.com/sparkfun-9dof-imu-breakout-icm-20948-qwiic.html

  6. https://funduinoshop.com/en/diy-workshop/power-supply/battery-compartments-and-terminals/battery-shield-v3-raspberry-pi/arduino/esp32-4-18650 2

  7. https://probots.co.in/ip-65-waterproof-enclosurewpe32.html 2

  8. https://randomnerdtutorials.com/esp32-mpu-6050-accelerometer-gyroscope-arduino/ 2

  9. https://eckstein-shop.de/SparkFun-9DoF-IMU-Breakout-ICM-20948-Qwiic-EN 2

  10. https://github.com/ikostoski/esp32-i2s-slm 2

  11. https://shop.openmarine.net/home/30-icm-20948-imu-module-soldered-pins.html

  12. https://hackaday.io/project/182052/log/198676-esp32-thingspeak-deep-sleep

  13. https://www.instructables.com/Nano-ESP32-BLE-Scanner/

  14. https://projecthub.arduino.cc/rinme/wi-fi-gps-tracker-with-xiao-esp32-s3-geofencing-alerts-cb88e0

  15. https://zbotic.in/esp32-ble-scanner-detect-nearby-devices-signal-strength/

  16. https://www.reddit.com/r/esp32/comments/p2bc4o/ble_or_wifi_localisation_with_esp32/

  17. https://www.youtube.com/watch?v=oz5tvjeYvnY

  18. https://github.com/har-in-air/ESP32_IMU_BARO_GPS_LOGGER

  19. https://www.youtube.com/watch?v=kzKfIT0UvOg

  20. https://pcbartists.com/product-documentation/accurate-esp32-decibel-meter/?=1

  21. https://www.reddit.com/r/esp32projects/comments/1m03bs5/recommend_me/

  22. https://circuitdigest.com/microcontroller-projects/interface-ky038-sound-sensor-with-esp32

  23. https://hackaday.io/project/189167-bluetooth-tracker

  24. https://www.rocketryforum.com/threads/gps-imu-for-dummies-old-rocketeers.193898/

  25. https://zbotic.in/esp32-power-profiling-measure-sleep-and-active-consumption/

  26. https://www.instructables.com/ESP32-Deep-Sleep-Tutorial/

  27. https://community.home-assistant.io/t/esp32-deep-sleep-and-massive-power-drain/813330

  28. https://embeddedcomputing.com/technology/open-source/development-kits/esp32-bee-data-logger-for-simple-long-term-data-recording

  29. https://shop.hatlabs.fi/products/sh-esp32-enclosure

  30. https://www.reddit.com/r/esp32/comments/1jezret/esp32_deepsleep_high_current_peaks/

  31. https://www.pleasedontcode.com/blog/efficient-data-logging-with-esp32

  32. https://thingpulse.com/esp32-ultra-long-battery-life-with-espnow/

  33. https://zbotic.in/esp32-sd-card-data-logger-sensor-reading-with-timestamps/

  34. https://www.bastelgarage.ch/mechanical-components/housing

  35. https://forum.arduino.cc/t/power-hungry-in-deep-sleep/1204775

  36. https://www.reddit.com/r/esp32/comments/1hbo3ks/data_logger_setup_needs_more_robust_storage_than/

  37. https://no.rs-online.com/web/p/sensor-development-tools/2836590

  38. https://www.adafruit.com/product/4554

  39. https://shop.wegmatt.com/products/icm-20948-imu-module-soldered-pins

  40. https://community.home-assistant.io/t/esp32-with-inmp441-only-microphone-yaml-needed/827921

  41. https://www.aliexpress.com/i/32996504176.html

  42. https://www.youtube.com/watch?v=ckrW6VKi-0c

  43. https://www.youtube.com/watch?v=m7LqbMuVaj4

  44. https://www.aliexpress.com/item/1005010034405449.html

  45. https://forum.arduino.cc/t/esp32-inmp441-i2s-microphone-10-db-spl-discrepancy-vs-phone-app-after-a-weighting-implementation/1406505

  46. https://arxiv.org/html/2505.08258v2 2

  47. https://dfir.pubpub.org/pub/4fkeiv34

  48. https://www.reddit.com/r/dataisbeautiful/comments/3tkmbz/wiglenet_shows_worldwide_wifi_networks_on_a_map/

  49. https://d-nb.info/1153603365/34

  50. https://vertex.link/blogs/wigle/ 2

  51. https://www.hackster.io/middleca/find-your-wi-fi-device-using-the-google-geolocation-api-2bdd59 2 3

  52. https://zuidt.nl/blog/html/2014/07/04/tinkering_with_mozilla_location_services.html 2

  53. https://www.gore.com/products/mems-protective-vents-microphones

  54. https://pcbartists.com/product/ip67-acoustic-membrane/ 2 3 4

  55. https://www.alibaba.com/product-detail/IP67-waterproof-e-PTFE-acoustic-vent_62413467104.html 2

  56. https://www.aliexpress.com/item/1005009140921077.html 2

  57. https://www.electronicwings.com/esp32/bmp280-barometer-sensor-interfacing-with-esp32 2 3 4 5

  58. https://www.hackster.io/varuldcube100/altitude-monitoring-with-bmp280-using-esp32-and-node-red-fc35ae 2 3

  59. https://www.youtube.com/watch?v=H42OY60SA8o 2

  60. https://www.esp32learning.com/code/esp32-and-bmp280-sensor-example.php

  61. https://rpubs.com/dioana/Indoor-Location-Prediction-Using-WI-Fi-Fingerprinting

  62. https://documentserver.uhasselt.be/bitstream/1942/24619/1/00000000-5a73-4c8f-9507-23118e9e5e84.pdf

  63. https://pmc.ncbi.nlm.nih.gov/articles/PMC8785038/

  64. https://www.reddit.com/r/homelab/comments/1bz79wg/ysk_wardriving_and_mapping_wifi_aps/

  65. https://www.gore.com/products/automotive-vents-acoustic

  66. https://www.microventing.com/application/waterproof-acoustic-vents

  67. https://github.com/wiglenet/wigle-wifi-wardriving/blob/main/README.md

  68. https://hackdb.com/item/wigle

  69. https://ouseful-course-containers.github.io/ou-tm112-notebooks/Activity 6.20 - Locating Nearby Wifi Hotspots.html

  70. https://www.maltego.com/blog/integrating-wireless-data-into-your-osint-investigations/

  71. https://en.wikipedia.org/wiki/Mozilla_Location_Service

  72. https://stackoverflow.com/questions/5063175/what-does-firefox-send-for-html5-geolocation-data-in-its-request

  73. https://www.accio.com/plp/ip67-acoustic-membrane

  74. https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API

  75. https://elkim.no/produkt/esp32-nodemcu-utviklingskort-2-4ghz-wifi-bluetooth-dual-mode-cp2102-espressif-wroom/ 2

  76. https://elkim.no/produkt/3-akse-aksellerator-gyro-gy-521-mpu-6050-module-3-axis-acceleration-3-axis-gyro-module/ 2 3

  77. https://www.electrokit.com/en/temperatur-och-lufttryckssensor-pa-kort-bmp280 2 3

  78. https://www.fibel.no/product/inmp441-i2s-mikrofon/ 2

  79. https://elkim.no/produktkategori/moduler-iot/ 2

  80. https://www.kjell.com/no/produkter/elektro-og-verktoy/elektronikk/arduino/utviklingskort

  81. https://www.aliexpress.com/i/32996504176.html

  82. https://pcbartists.com/product/ip67-acoustic-membrane/

  83. https://www.kjell.com/no/produkter/elektro-og-verktoy/elektronikk/arduino/moduler

  84. https://elkim.no

  85. https://www.kjell.com/no/produkter/elektro-og-verktoy/elektronikk/arduino

  86. https://www.aliexpress.com/item/4000910277147.html

  87. https://www.sparkfun.com/sparkfun-9dof-imu-breakout-icm-20948-qwiic.html

  88. https://www.adafruit.com/product/4554

  89. https://www.electrokit.com/en/esp32-devkit-lipo

  90. https://www.electrokit.com/en/esp32-c6-devkitc-utvecklingskort-8mb

  91. https://www.electrokit.com/en/esp32-dev-boards/

  92. https://www.electrokit.com/en/esp32-c3-mini-utvecklingskort

  93. https://www.electrokit.com/en/esp32-h2-devkitm-utvecklingskort-4mb

  94. https://elkim.no/esp32-en-kraftig-mikrokontroller-for-a-koble-sammen-smarte-enheter/

  95. https://www.electrokit.com/en/utvecklingskort-esp32-med-display

  96. http://digitalimpuls.no

  97. https://www.electrokit.com/en/esp32-c3-wroom-utvecklingskort-med-risc-v

  98. https://randomnerdtutorials.com/esp32-digital-inputs-outputs-arduino/

  99. https://www.electrokit.com/en/esp32-s3-devkitc-utvecklingskort-8mb-pram-8mb

  100. https://elkim.no/produktkategori/moduler-iot/sensor/

  101. https://skule.sormo.no/index.php/nettbutikk/arduino-sensorer/imu

  102. https://elkim.no/butikk/

  103. https://www.adafruit.com/product/2651

  104. https://elkim.no/produktkategori/mikrokontrollere/

  105. https://www.fruugonorge.com/imu-sensormodul-3-akset-akselerometer-gyroskop-magnetometer-for-robotikk-og-orienteringssporing/p-460009431-968341834?language=no

  106. https://www.electrokit.com/temperatur-och-lufttryckssensor-pa-kort-bmp280

  107. https://www.elkim.no/rfid-skriver-leser/?v=c2f3f489a005

  108. https://www.electrokit.com/en/barometric-pressure-sensor-bmp280

  109. https://elkim.no/brand/elkim/

  110. https://developers.google.com/maps/documentation/geolocation/usage-and-billing

  111. https://mapsplatform.google.com/pricing/

  112. https://coordable.co/provider/google-maps-geocoding-api/ 2 3

  113. https://www.microlab.at/en/news/google-maps-api:-new-prices-starting-march-2025-what-you-need-to-know-now-16589.html

  114. https://mapscaping.com/guide-to-geocoding-api-pricing/

  115. https://github.com/jbjulia/wigle

  116. https://vertex.link/blogs/wigle/ 2

  117. https://github.com/brannondorsey/wigle-api

  118. https://tech.slashdot.org/story/24/03/17/2150221/mozilla-ends-its-privacy-friendly-gps-style-location-service

  119. https://beacondb.net 2

  120. https://discuss.grapheneos.org/d/17089-users-contribute-location-data-for-future-network-location-usage 2

  121. https://www.reddit.com/r/degoogle/comments/1hf0ca3/microg_gps_and_mozilla_location_services/

  122. https://www.hackster.io/middleca/find-your-wi-fi-device-using-the-google-geolocation-api-2bdd59

  123. https://nicolalazzari.ai/articles/understanding-google-maps-apis-a-comprehensive-guide-to-uses-and-costs

  124. https://www.reddit.com/r/googlecloud/comments/1i3cgq0/google_maps_api_pricing_change_after_march_1_2025/

  125. https://www.dhiwise.com/post/geolocation-api-pricing-guide

  126. https://help.repliers.com/en/article/api-usage-limits-and-overages-1uxlz21/

  127. https://forums.puri.sm/t/mozilla-location-services/23524

  128. https://developers.google.com/maps/documentation/geocoding/usage-and-billing

  129. https://radar.com/blog/google-maps-api-cost

  130. https://www.reddit.com/r/Bard/comments/1pkvvcp/did_google_reduce_the_limits_of_api_free_tier_so/

  131. https://ai.google.dev/gemini-api/docs/rate-limits

  132. https://alternativeto.net/software/beacondb/

  133. https://www.datastudios.org/post/google-ai-studio-free-plans-and-trials-access-tiers-usage-limits-and-upgrade-paths-in-late-2025

  134. https://masterconcept.ai/news/google-maps-api-2025-complete-guide-to-pricing-policies-business-strategy/

  135. https://github.com/google-gemini/gemini-cli/discussions/4122

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment