Projects/Buitenlucht Sensorbordje: verschil tussen versies

Uit Hackerspace Amersfoort
Naar navigatie springen Naar zoeken springen
kGeen bewerkingssamenvatting
kGeen bewerkingssamenvatting
 
(23 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 3: Regel 3:
|start=2025-10-05
|start=2025-10-05
|contact=Polyfloyd
|contact=Polyfloyd
|info=????
|info=Meten is zweten
|status=Beta
|status=Beta
|Picture=Buitenluchtsensorbordje-v1-render.png
|Picture=Buitenluchtsensorbordje-v1-render.png
Regel 9: Regel 9:
Ik ben aan het PCB designen geslagen en ben begonnen met iets wat ik al een tijdje wil: een bordje met wat sensoren om de buitenlucht thuis te meten.
Ik ben aan het PCB designen geslagen en ben begonnen met iets wat ik al een tijdje wil: een bordje met wat sensoren om de buitenlucht thuis te meten.


De functionaliteit en onderdelen van het bordje:
{| class="wikitable"
* Temperatuur/luchtvochtigheid/barometer: Bosch BME280
|+ sensors
* Fijnstof: PMS7003. Deze sensor is niet onderdeel van de levering en moet je zelf nog er bij bestellen
|-
* Onweer: GY-AS3935. Dit is een los PCBtje die je via bijvoorbeeld AliExpress kan krijgen. Let bij het bestellen op welke versie je neemt, er zijn meerdere uitvoeringen van dit bordje met verschillende pin-outs.
! Wat !! Sensor !! Bestellen !! Opmerkingen
* Stikstofoxiden (die van de crisis): Sensiron SGP41
|-
| Temperatuur, luchtvochtigheid, barometer || Bosch BME280 || Inclusief ||
|-
| Stikstofoxiden || Sensiron SGP41 || Inclusief || Bekend van de stikstofcrisis :)
|-
| Fijnstof || Plantower PMS7003 || https://nl.aliexpress.com/item/32623909733.html || Wordt geleverd inclusief pin header
|-
| Onweer || AS3935 || https://nl.aliexpress.com/item/32974749991.html || Let bij het bestellen op welke versie je neemt, er zijn meerdere uitvoeringen van dit bordje met verschillende pin-outs.
|}
 
Onderdelen aangemerkt als inclusief worden door JLC geplaatst. De rest moet je zelf nog er bij bestellen.


Ook is er nog een footprint voor een Dallas DS18B20 tempertuursensor, mocht de BME280 niet naar smaak zijn of als je de Dallas sensoren al gebruikt en dezelfde sensor wil blijven gebruiken. De MCU is een ESP32-C3 met USB-C poort. Er zijn breakout pin-headers voor I2C en de ongebruikte GPIOs.
Ook is er nog een footprint voor een Dallas DS18B20 tempertuursensor, mocht de BME280 niet naar smaak zijn of als je de Dallas sensoren al gebruikt en dezelfde sensor wil blijven gebruiken. De MCU is een ESP32-C3 met USB-C poort. Er zijn breakout pin-headers voor I2C en de ongebruikte GPIOs.


== Versie 1.0 ==
Uitgepakt op 2025-11-09. Het werkt! De ESP is via USB te flashen en te loggen. De BME280 werkt, de PMS7003 die ik eerder had besteld werkt.


== Productie ==
<s>De SGP41 heeft iets van een I2C communicatie error bij de ingebouwde self-test, maar pas nadat het zichzelf heeft geïdentificeerd met de daar voor bestemde commando's.</s>


Eerste productierun 25 oktober:
=== Leermomentjes ===
* Weerstand R5 (bij de SGP41 sensor) is een factor 1000 te zwaar. <b>Hierdoor werkt de stikstofsensor niet.</b> Vervang deze met een 0805 4.7 ohm weerstandje
* De SGP41 werkt (met het vervangen van R9), maar de condensator C11 zou eigenlijk 1uF moeten zijn
* De VCC-trace van de SGP41 heeft een raar pad met te veel vias


* polyfloyd
<gallery>
File:Buitenlucht_Sensorbordje-1.jpg
File:Buitenlucht_Sensorbordje-2.jpg
</gallery>
 
De deelnemers voor de eerste productierun 25 oktober:
* Polyfloyd
* Dany
* Dany
* Elborro
* Elborro
* Gopper
* Gopper
* Geesejuggler
* Geesejuggler
== Behuizing ==
* [[File:Buitensensor-pms7003-clip.stl]]
TODO
== Esphome ==
https://git.polyfloyd.net/polyfloyd/esphome-config/src/branch/main/buiten.yaml
<pre>
esphome:
  name: buiten
  friendly_name: Buiten
esp32:
  variant: esp32c3
  framework:
    type: esp-idf
logger:
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
ota:
  platform: esphome
  password: !secret ota_password
mqtt:
  broker: mqtt.local
  discovery: false
api:
i2c:
  sda: 2
  scl: 3
  scan: true
uart:
  - id: uart_pms7003
    rx_pin: 8
    tx_pin: 7
    baud_rate: 9600
as3935_i2c:
  address: 0x03
  irq_pin: 10
  indoor: false
sensor:
  - platform: wifi_signal
    name: "WiFi Signal dB"
    update_interval: 10s
    state_topic: esphome/buiten/wifi_signal
    retain: false
  - platform: as3935
    lightning_energy:
      name: Lightning Energy
      state_topic: sensors/buiten/lightning_energy
      retain: false
    distance:
      name: Lightning Distance
      state_topic: sensors/buiten/lightning_distance
      retain: false
  - platform: bme280_i2c
    temperature:
      id: temperature
      name: "BME280 Temperature"
      state_topic: sensors/buiten/temperature
      retain: false
    pressure:
      name: "Barometer"
      state_topic: sensors/buiten/pressure
      retain: false
    humidity:
      id: humidity
      name: "Humidity"
      state_topic: sensors/buiten/humidity
      retain: false
    address: 0x76
    update_interval: 10s
  - platform: sgp4x
    voc:
      name: "VOC Index"
      state_topic: sensors/buiten/voc_index
      retain: false
    nox:
      name: "NOx Index"
      state_topic: sensors/buiten/nox_index
      retain: false
    compensation:
      temperature_source: temperature
      humidity_source: humidity
  - platform: pmsx003
    uart_id: uart_pms7003
    type: PMSX003
    pm_1_0:
      name: "Particulates <1.0μg/m³"
      state_topic: sensors/buiten/dust_mass/pm1.0
      retain: false
    pm_2_5:
      name: "Particulates <2.5μg/m³"
      state_topic: sensors/buiten/dust_mass/pm2.5
      retain: false
    pm_10_0:
      name: "Particulates <10.0μg/m³"
      state_topic: sensors/buiten/dust_mass/pm10.0
      retain: false
    update_interval: 30s
binary_sensor:
  - platform: as3935
    name: Lightning Alert
    state_topic: sensors/buiten/lightning
    retain: false
</pre>

Huidige versie van 30 nov 2025 18:49


Project Buitenlucht Sensorbordje
Naam Buitenlucht Sensorbordje
Beschrijving Meten is zweten
Website
Start 2025-10-05
Contact Polyfloyd
Status Beta


Ik ben aan het PCB designen geslagen en ben begonnen met iets wat ik al een tijdje wil: een bordje met wat sensoren om de buitenlucht thuis te meten.

sensors
Wat Sensor Bestellen Opmerkingen
Temperatuur, luchtvochtigheid, barometer Bosch BME280 Inclusief
Stikstofoxiden Sensiron SGP41 Inclusief Bekend van de stikstofcrisis :)
Fijnstof Plantower PMS7003 https://nl.aliexpress.com/item/32623909733.html Wordt geleverd inclusief pin header
Onweer AS3935 https://nl.aliexpress.com/item/32974749991.html Let bij het bestellen op welke versie je neemt, er zijn meerdere uitvoeringen van dit bordje met verschillende pin-outs.

Onderdelen aangemerkt als inclusief worden door JLC geplaatst. De rest moet je zelf nog er bij bestellen.

Ook is er nog een footprint voor een Dallas DS18B20 tempertuursensor, mocht de BME280 niet naar smaak zijn of als je de Dallas sensoren al gebruikt en dezelfde sensor wil blijven gebruiken. De MCU is een ESP32-C3 met USB-C poort. Er zijn breakout pin-headers voor I2C en de ongebruikte GPIOs.

Versie 1.0

Uitgepakt op 2025-11-09. Het werkt! De ESP is via USB te flashen en te loggen. De BME280 werkt, de PMS7003 die ik eerder had besteld werkt.

De SGP41 heeft iets van een I2C communicatie error bij de ingebouwde self-test, maar pas nadat het zichzelf heeft geïdentificeerd met de daar voor bestemde commando's.

Leermomentjes

  • Weerstand R5 (bij de SGP41 sensor) is een factor 1000 te zwaar. Hierdoor werkt de stikstofsensor niet. Vervang deze met een 0805 4.7 ohm weerstandje
  • De SGP41 werkt (met het vervangen van R9), maar de condensator C11 zou eigenlijk 1uF moeten zijn
  • De VCC-trace van de SGP41 heeft een raar pad met te veel vias

De deelnemers voor de eerste productierun 25 oktober:

  • Polyfloyd
  • Dany
  • Elborro
  • Gopper
  • Geesejuggler

Behuizing

TODO

Esphome

https://git.polyfloyd.net/polyfloyd/esphome-config/src/branch/main/buiten.yaml

esphome:
  name: buiten
  friendly_name: Buiten

esp32:
  variant: esp32c3
  framework:
    type: esp-idf

logger:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

ota:
  platform: esphome
  password: !secret ota_password

mqtt:
  broker: mqtt.local
  discovery: false

api:

i2c:
  sda: 2
  scl: 3
  scan: true

uart:
  - id: uart_pms7003
    rx_pin: 8
    tx_pin: 7
    baud_rate: 9600

as3935_i2c:
  address: 0x03
  irq_pin: 10
  indoor: false

sensor:
  - platform: wifi_signal
    name: "WiFi Signal dB"
    update_interval: 10s
    state_topic: esphome/buiten/wifi_signal
    retain: false

  - platform: as3935
    lightning_energy:
      name: Lightning Energy
      state_topic: sensors/buiten/lightning_energy
      retain: false
    distance:
      name: Lightning Distance
      state_topic: sensors/buiten/lightning_distance
      retain: false

  - platform: bme280_i2c
    temperature:
      id: temperature
      name: "BME280 Temperature"
      state_topic: sensors/buiten/temperature
      retain: false
    pressure:
      name: "Barometer"
      state_topic: sensors/buiten/pressure
      retain: false
    humidity:
      id: humidity
      name: "Humidity"
      state_topic: sensors/buiten/humidity
      retain: false
    address: 0x76
    update_interval: 10s

  - platform: sgp4x
    voc:
      name: "VOC Index"
      state_topic: sensors/buiten/voc_index
      retain: false
    nox:
      name: "NOx Index"
      state_topic: sensors/buiten/nox_index
      retain: false
    compensation:
      temperature_source: temperature
      humidity_source: humidity

  - platform: pmsx003
    uart_id: uart_pms7003
    type: PMSX003
    pm_1_0:
      name: "Particulates <1.0μg/m³"
      state_topic: sensors/buiten/dust_mass/pm1.0
      retain: false
    pm_2_5:
      name: "Particulates <2.5μg/m³"
      state_topic: sensors/buiten/dust_mass/pm2.5
      retain: false
    pm_10_0:
      name: "Particulates <10.0μg/m³"
      state_topic: sensors/buiten/dust_mass/pm10.0
      retain: false
    update_interval: 30s

binary_sensor:
  - platform: as3935
    name: Lightning Alert
    state_topic: sensors/buiten/lightning
    retain: false