Compare commits
	
		
			10 Commits
		
	
	
		
			dcf195e161
			...
			a095936f3f
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a095936f3f | |||
| 547983173b | |||
| 2145d4eff1 | |||
| 9fc8ad7318 | |||
| 66573f2346 | |||
| a2ff9491a3 | |||
| 1ef3ba2e57 | |||
| 97dd3a9a90 | |||
| 993c3407ea | |||
| ae4713969d | 
							
								
								
									
										13
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								README.md
									
									
									
									
									
								
							@@ -1,7 +1,7 @@
 | 
			
		||||
# SuperSensor v2.x
 | 
			
		||||
 | 
			
		||||
The SuperSensor is an all-in-one voice, motion, presence, temperature/humidity/
 | 
			
		||||
air quality, and light sensor, built on an ESP32 with ESPHome, and inspired
 | 
			
		||||
The SuperSensor is an all-in-one voice, motion, presence, temperature/humidity/air
 | 
			
		||||
quality, and light sensor, built on an ESP32 with ESPHome, and inspired
 | 
			
		||||
heavily by the EverythingSmartHome Everything Presence One sensor and the
 | 
			
		||||
HomeAssistant "$13 Voice Assistant" project.
 | 
			
		||||
 | 
			
		||||
@@ -17,7 +17,7 @@ it bare if you like the "PCB on a wall" aesthetic.
 | 
			
		||||
 | 
			
		||||
To Use:
 | 
			
		||||
 | 
			
		||||
  * Install the ESPHome configuration `supersensor-2.x.yaml` to a compatible ESP32 devkit (below).
 | 
			
		||||
  * Install the ESPHome configuration `supersensor.yaml` to a compatible ESP32 devkit (below).
 | 
			
		||||
  * Install the ESP32 and sensors into the custom PCB (if desired).
 | 
			
		||||
  * [Optional] 3D Print the custom case.
 | 
			
		||||
  * Power up the SuperSensor, connect to the WiFi AP, and connect it to your network.
 | 
			
		||||
@@ -69,7 +69,6 @@ and [my update post on version 2.0](https://www.boniface.me/the-supersensor-2.0)
 | 
			
		||||
 | 
			
		||||
## Parts List
 | 
			
		||||
 | 
			
		||||
|-------|--------------------|----------------------------------|-------|
 | 
			
		||||
| Qty   | Component          | Cost (2025/05 CAD, ex. shipping) | Links |
 | 
			
		||||
|-------|--------------------|----------------------------------|-------|
 | 
			
		||||
| 1     | GY-SGP30           | $5.73                            | [AliExpress](https://www.aliexpress.com/item/1005008473372972.html)  |
 | 
			
		||||
@@ -84,12 +83,12 @@ and [my update post on version 2.0](https://www.boniface.me/the-supersensor-2.0)
 | 
			
		||||
| 1     | Female pin header† | $1.59 ($15.99/10)                | [Amazon](https://www.amazon.ca/dp/B08CMNRXJ1) |
 | 
			
		||||
| 1     | Custom PCB (JLC)   | $0.69 ($6.89/10)                 | [GitHub](https://github.com/joshuaboniface/supersensor) |
 | 
			
		||||
| 1     | 3D Printed case    | $?.??‡                           | [GitHub](https://github.com/joshuaboniface/supersensor) |
 | 
			
		||||
|-------|--------------------|----------------------------------|-------|
 | 
			
		||||
| TOTAL |                    | $33.64                           |       |
 | 
			
		||||
|-------|--------------------|----------------------------------|-------|
 | 
			
		||||
| **TOTAL** |                    | **$33.64**                           |       |
 | 
			
		||||
 | 
			
		||||
`*` Ensure you select the correct device on the page as it shows multiple options.
 | 
			
		||||
 | 
			
		||||
`†` This is optional and only required if you don't want to directly solder the ESP32 to the board, but I recommend it.
 | 
			
		||||
 | 
			
		||||
`‡` Providing a price is impossible due to the wide range of possible fillament types and brands, but should be negligible.
 | 
			
		||||
 | 
			
		||||
## Configurable Options
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										50554
									
								
								board/supersensor.dxf
									
									
									
									
									
								
							
							
						
						
									
										50554
									
								
								board/supersensor.dxf
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -53,7 +53,7 @@ esphome:
 | 
			
		||||
              - switch.turn_on: voice_support_active
 | 
			
		||||
 | 
			
		||||
dashboard_import:
 | 
			
		||||
  package_import_url: github://joshuaboniface/supersensor/supersensor-2.x.yaml
 | 
			
		||||
  package_import_url: github://joshuaboniface/supersensor/supersensor.yaml@2.x
 | 
			
		||||
 | 
			
		||||
esp32:
 | 
			
		||||
  board: esp32dev
 | 
			
		||||
@@ -364,7 +364,8 @@ interval:
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
micro_wake_word:
 | 
			
		||||
  model: hey_jarvis
 | 
			
		||||
  models:
 | 
			
		||||
    - model: hey_jarvis
 | 
			
		||||
  on_wake_word_detected:
 | 
			
		||||
    then:
 | 
			
		||||
      - voice_assistant.start:
 | 
			
		||||
@@ -491,13 +492,13 @@ light:
 | 
			
		||||
output:
 | 
			
		||||
  - platform: ledc
 | 
			
		||||
    id: rgb_r
 | 
			
		||||
    pin: GPIO32
 | 
			
		||||
    pin: GPIO23
 | 
			
		||||
  - platform: ledc
 | 
			
		||||
    id: rgb_g
 | 
			
		||||
    pin: GPIO33
 | 
			
		||||
    pin: GPIO22
 | 
			
		||||
  - platform: ledc
 | 
			
		||||
    id: rgb_b
 | 
			
		||||
    pin: GPIO25
 | 
			
		||||
    pin: GPIO21
 | 
			
		||||
 | 
			
		||||
ld2410:
 | 
			
		||||
  id: ld2410_radar
 | 
			
		||||
@@ -513,6 +514,15 @@ sensor:
 | 
			
		||||
      name: "SGP30 TVOC"
 | 
			
		||||
      id: sgp30_tvoc
 | 
			
		||||
      accuracy_decimals: 1
 | 
			
		||||
    eco2_baseline:
 | 
			
		||||
      name: "SGP30 Baseline eCO2"
 | 
			
		||||
      id: sgp30_baseline_ec02
 | 
			
		||||
    tvoc_baseline:
 | 
			
		||||
      name: "SGP30 Baseline TVOC"
 | 
			
		||||
      id: sgp30_baseline_tvoc
 | 
			
		||||
    compensation:
 | 
			
		||||
      temperature_source: sht45_temperature
 | 
			
		||||
      humidity_source: sht45_humidity
 | 
			
		||||
    store_baseline: yes
 | 
			
		||||
    update_interval: 15s
 | 
			
		||||
 | 
			
		||||
@@ -559,7 +569,7 @@ sensor:
 | 
			
		||||
      if (tvoc > 2200 || eco2 > 2000) return 1; // Unhealthy
 | 
			
		||||
      if (tvoc > 660 || eco2 > 1200) return 2; // Poor
 | 
			
		||||
      if (tvoc > 220 || eco2 > 800) return 3; // Moderate
 | 
			
		||||
      if (tvoc > 65 || eco2 > 600) return 4; // Good
 | 
			
		||||
      if (tvoc > 65 || eco2 > 500) return 4; // Good
 | 
			
		||||
      return 5; // Excellent
 | 
			
		||||
    update_interval: 15s
 | 
			
		||||
 | 
			
		||||
@@ -690,7 +700,7 @@ binary_sensor:
 | 
			
		||||
  - platform: gpio
 | 
			
		||||
    name: "PIR GPIO"
 | 
			
		||||
    id: pir_gpio
 | 
			
		||||
    pin: GPIO13
 | 
			
		||||
    pin: GPIO32
 | 
			
		||||
    internal: false
 | 
			
		||||
    device_class: motion
 | 
			
		||||
    on_press:
 | 
			
		||||
@@ -1070,6 +1080,7 @@ text_sensor:
 | 
			
		||||
    name: "CO2 Level"
 | 
			
		||||
    lambda: |-
 | 
			
		||||
      int eco2 = id(sgp30_eco2).state;
 | 
			
		||||
      if (eco2 < 500) return {"Excellent"};
 | 
			
		||||
      if (eco2 < 800) return {"Good"};
 | 
			
		||||
      if (eco2 < 1200) return {"Moderate"};
 | 
			
		||||
      if (eco2 < 2000) return {"Poor"};
 | 
			
		||||
		Reference in New Issue
	
	Block a user