Mosfet w/ Gate Driver https://www.aliexpress.com/item/1005003092037857.html
24V to 12V Buck https://www.aliexpress.com/item/1005005271287017.html
12V to 5V Buck https://www.aliexpress.com/item/1005005870489407.html
HX-200H-24 LED Driver AC100-245V 50/60Hz/DC24V@0~8.0A(MAX) 200W IP67 Waterproof Lighting Transformers https://www.aliexpress.com/item/1005004382810817.html
Auxmer 2835 WWCW LED Strip Lights 24V 120LEDs 19.2W per m 2700-6500K CRI95 5M https://www.aliexpress.com/item/1005005645881199.html
Square Aluminum Profile https://www.aliexpress.com/item/1005006199754320.html
INA3221 https://www.aliexpress.com/item/1005001621830409.html
Fuse Holder https://www.aliexpress.com/item/1005006108708700.html or 5A 16AWG Mini Fuse Holder https://www.aliexpress.com/item/1005005553782452.html
ESP32 N16R8 https://www.aliexpress.com/item/1005006266375800.html
Ethernet W5500 module https://www.aliexpress.com/item/1005006246720540.html
MAX98357 https://www.aliexpress.com/item/33043664469.html
INMP441 https://www.aliexpress.com/item/1005002929125403.html
Speakers https://www.aliexpress.com/item/1005004979801781.html
4 core 16AWG wire https://www.aliexpress.com/item/1005005309695032.html
#Auxmer WWCW 24V 19.2W Analog Kitchen Task Light Ethernet, Gestures, Power Consumption
195 messages ยท Page 1 of 1 (latest)
# LED Strip gesture control with TOF VL6180X sensor
# 5M = 3.31A 1M =
# 5M = 2.48A 1M = 0.76A 1M = 0.38A/Channel
substitutions:
device_name: esp32gesturecontrol001
device_friendlyname: ESP32-Gesture-Control-001
created_by: "NonaSuomy"
device_description: "LED Strip gesture control with TOF VL6180X sensor https://raw.githubusercontent.com/exxamalte/esphome-customisations/master/vl6180x/vl6180x_sensor.h"
esphome:
name: $device_name
friendly_name: $device_friendlyname
includes:
- "vl6180x_sensor.h"
libraries:
- SPI
- Wire
- adafruit/Adafruit BusIO @ 1.9.6
- "Adafruit_VL6180X"
platformio_options:
board_build.flash_mode: dio
#board_build.arduino.memory_type: opi_opi
#board_build.f_flash: 80000000L
esp32:
#board: esp32dev
board: esp32-s3-devkitc-1
variant: esp32s3
flash_size: 16MB
framework:
type: arduino
#type: esp-idf
version: recommended
#sdkconfig_options:
# need to set a s3 compatible board for the adf-sdk to compile
# board specific code is not used though
#CONFIG_ESP32_S3_BOX_BOARD: "y"
# external_components:
# - source: github://pr#6520
# components: voice_assistant
# refresh: 0s
# Enable logging
logger:
psram:
mode: octal
speed: 80MHz
# Enable Home Assistant API
api:
encryption:
key: !secret encryption_key006
ota:
password: !secret ota_pass006
#wifi:
#ssid: !secret wifi_ssid
#password: !secret wifi_password
#use_address: !secret use_address_wifi006
# Enable fallback hotspot (captive portal) in case wifi connection fails
#ap:
#ssid: "T-Energy-008 Fallback Hotspot"
#password: !secret fallbackhotspot006
ethernet:
type: W5500
clk_pin: GPIO12
mosi_pin: GPIO13
miso_pin: GPIO11
cs_pin: GPIO10
interrupt_pin: GPIO14
reset_pin: GPIO09
use_address: !secret use_address_wired006
# Optional manual IP
#manual_ip:
# static_ip: 10.13.37.42
# gateway: 10.13.37.1
# subnet: 255.255.255.0
#captive_portal:
web_server:
i2c:
- id: i2cbus_001
sda: 17
scl: 18
- id: i2cbus_002
sda: 7
scl: 8
# Define the i2s controllers and their pins
# i2s_audio:
# INMP441 MIC
# - id: i2s_in
# i2s_lrclk_pin: GPIO47 # INMP441 MIC WS
# i2s_bclk_pin: GPIO21 # INMP441 MIC SCK
# MAX9837A DAC
# - id: i2s_out
# i2s_lrclk_pin: GPIO15 # MAX9837A DAC LRC
# i2s_bclk_pin: GPIO6 # MAX9837A DAC BCLK
# Expose the i2s components as pipeline elements
#adf_pipeline:
# Create an I2SWriter pipeline element
# using the i2s_out configuration
# - platform: i2s_audio
# type: sink
# id: adf_i2s_out
# i2s_audio_id: i2s_out
# i2s_dout_pin: GPIO5 # MAX9837A DAC DIN
# mode: stereo
# Create an I2SReader pipeline element
# using the i2s_in configuration
# - platform: i2s_audio
# type: source
# id: adf_i2s_in
# i2s_audio_id: i2s_in
# i2s_din_pin: GPIO16 # INMP441 MIC SD
# channel: left
# sample_rate: 16000
# bits_per_sample: 16bit
# voice_assistant:
# microphone: adf_i2s_in
# Frequency Bit depth Available steps for transitions
# 1220Hz 16 65536
# 2441Hz 15 32768
# 4882Hz 14 16384
# 9765Hz 13 8192
# 19531Hz 12 4096
output:
- platform: ledc
pin: GPIO1
id: led_cw
frequency: 19531Hz
- platform: ledc
pin: GPIO2
id: led_ww
frequency: 19531Hz
light:
- platform: cwww
name: "Kitchen Counter Light"
id: kitchen_counter_light
cold_white: led_cw
warm_white: led_ww
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
constant_brightness: true
# - platform: cwww
# name: "Kitchen Sink Light"
# id: kitchen_sink_light
# cold_white: led_cw2
# warm_white: led_ww2
# cold_white_color_temperature: 6536 K
# warm_white_color_temperature: 2000 K
# constant_brightness: true
sensor:
- platform: ina3221
address: 0x40
i2c_id: i2cbus_002
channel_1:
shunt_resistance: 0.1 ohm
current:
name: "INA3221 Channel 1 Current"
power:
name: "INA3221 Channel 1 Power"
bus_voltage:
name: "INA3221 Channel 1 Bus Voltage"
shunt_voltage:
name: "INA3221 Channel 1 Shunt Voltage"
# channel_2:
# shunt_resistance: 0.1 ohm
# current:
# name: "INA3221 Channel 2 Current"
# power:
# name: "INA3221 Channel 2 Power"
# bus_voltage:
# name: "INA3221 Channel 2 Bus Voltage"
# shunt_voltage:
# name: "INA3221 Channel 2 Shunt Voltage"
# channel_3:
# shunt_resistance: 0.1 ohm
# current:
# name: "INA3221 Channel 3 Current"
# power:
# name: "INA3221 Channel 3 Power"
# bus_voltage:
# name: "INA3221 Channel 3 Bus Voltage"
# shunt_voltage:
# name: "INA3221 Channel 3 Shunt Voltage"
# update_interval: 60s
- platform: custom
lambda: |-
auto vl6180x_sensor = new VL6180XSensor();
App.register_component(vl6180x_sensor);
return {vl6180x_sensor->distance_sensor};
sensors:
- name: "VL6180X Distance"
unit_of_measurement: mm
accuracy_decimals: 0
id: distance_sensor
# Fliter null values so the brightness doesn't go full at the end of the beem.
filters:
- filter_out: nan
on_value:
then:
# Swipe gesture
# Hand is swipped past sensor within 20-40mm turn On/Off
- if:
condition:
lambda: 'return !id(gesture_brightness).state && (id(distance_sensor).state < 40);'
then:
- light.toggle: kitchen_counter_light
# Hover gesture
# Hand is above the sensor range of 40-200mm for more than 3 seconds.
# Adjust brightness with hand up and down after that.
- if:
condition:
lambda: 'return id(gesture_brightness).state;'
then:
- lambda: |-
// Map the distance range to brightness range 0 - 1
float brightness = (200 - id(distance_sensor).state) / 160.0;
auto call = id(kitchen_counter_light).turn_on();
call.set_brightness(brightness);
call.perform();
# Double tap gesture
- if:
condition:
lambda: 'return id(gesture_double_tap).state;'
#lambda: 'return id(distance_sensor).state < 40;'
then:
- lambda: |-
auto call = id(kitchen_counter_light).turn_on();
// Switch between cold white, warm white, and both strings
static int state = 0;
if (state == 0) {
call.set_cold_white(1);
call.set_warm_white(0);
} else if (state == 1) {
call.set_cold_white(0);
call.set_warm_white(1);
} else {
call.set_cold_white(1);
call.set_warm_white(1);
}
state = (state + 1) % 3; // Cycle through the states
call.set_brightness(0.5);
call.perform();
binary_sensor:
# Hand is swipped past sensor within 20-40mm toggle On/Off
- platform: template
name: "Gesture On/Off"
id: gesture_on_off
#lambda: 'return !id(gesture_brightness).state && (id(distance_sensor).state < 40);'
lambda: 'return !id(gesture_brightness).state && !id(gesture_double_tap).state && (id(distance_sensor).state < 40);'
# Hand is above the sensor range of 40-200mm for more than 3 seconds.
# Adjust brightness with hand up and down after that.
- platform: template
name: "Gesture Brightness Control"
id: gesture_brightness
# Time_on you have to hold your hand in front of the sensor above 40mm.
# Time_off you have to go outside of the beem for it to no longer trigger brightness.
filters:
- delayed_on_off:
time_on: 3s
time_off: 4s
lambda: 'return (id(distance_sensor).state <= 190 && id(distance_sensor).state >= 40);'
# !id(gesture_brightness).state &&
# Double tap gesture
- platform: template
name: "Gesture Double Tap"
id: gesture_double_tap
lambda: |-
static uint32_t last_tap = 0;
static uint32_t last_double_tap = 0;
static bool is_tap = false;
if (id(distance_sensor).state < 40) {
if (!is_tap) {
is_tap = true;
last_tap = millis();
} else if (millis() - last_tap < 500 && millis() - last_double_tap > 1000) { // 500 ms for a double tap, 1000 ms delay after a double tap
is_tap = false;
last_double_tap = millis();
return true;
}
} else {
is_tap = false;
}
return false;
Wiring was off in the first picture.
Definitely better LED strip than what I'm using.
YAML should hopefully be the same basically
yeah, basically
Kinda liking the gesture control
Odd question, how warm is that LED strip?
Got a plan for toilet-room lighting, but my intentions is to use a 3d printed (i.e. plastic) housing and not much of anything to sink heat into
Oh these strips require heatsink... those angled brackets are aluminum for that purpose. They will melt through the core of the earth. I have them limited by that yaml configuration. constant_brightness: true
If I remove that. They turn into the sun.
Even that aluminum profile is under the heat disipation they require. If you want to enable them for blinding bright.
yeah, was worried that was the case
Is that why the ethernet connector? too much shielding?
I'm just a wired snob. All my ESPHome gear is ethernet / PoE.
I avoid Wi-Fi at all costs.
I wish I had that option
The worst thing was trying to solder 16AWG between all the strips... Pulling pads up is rough...
Ya, I'm deff wanting to try some of the clip-on connectors next time
I wonder how those deal with high amps
Do you have the Voice Assistant running on it?
Good question ... ๐คทโโ๏ธ
That was a lofty goal. I'm still waiting for proper I2S duplex support.
If all else fails I'll just use the second ethernet port there for it.
Kind of out of room in the metal can. Maybe make an external unit that can plug into it.
Did my config help you at all minus the feature creep options or it was basically the same and just a hardware fault of that box you were using?
Light really annoys my eyes, so I was attempting to get the highest quality/frequency plausible to see if it helped.
So far they have lasted longer than most LED bulbs around here so I'm happy with the setup.
Quindor has some nice analog ready made boxes as well that shouldn't disapoint. I would have bought those if they were ready while I was doing this project.
https://quinled.info/analog-led-dimming/
https://quinled.info/quinled-an-penta/ The penta plus with ethernet is nice. https://shop.allnetchina.cn/products/quinled-an-penta-plus
Think it's a hardware fault, that Jeff is likely right about the MOSFET leak. If I can locate my box of components (assuming I didn't leave them in Belgium) I should be able to test that tomorrow
Wonder why you would thing the product would have been tested to work and turn off.
These are nice, but next project will require something with less-exposed terminals ... Will need Wife Approval
Hide them better ๐
Yeah, and these boards aren't exactly new
tops of shelves etc nobody looks up there.
Next one is Christmas Tree lights - strip the battery packs of the lights kids bought in years past, replace with something like barrel connectors, and then make a small box with controller and receptacles
Some hiding possible, but has to suit temporary setups
Hopefully we see it in the show-off posts!
I still need to post last year's bathroom extractor fan project there ๐
No time like now!
I need to rewrite some of the yaml - doesn't even compile with latest ESPHome
and I need to rewrite the YAML for the printer lights to use some new features from later ESPHome versions
but now, teaching some zaffer how to record footage
Things evolve quickly on the bleeding edge of hardware IoT.
What was this comprised of? I was going to retro-fit mine with this latching relay I discovered
Does this work for you?
https://git.thang.dk/nc/Bathroom_Fan.ESPHome
Where's the picture of the final install?
In my archives somewhere ๐
Added some photos ๐
Nice work!
added it - with the latest version of ESPHome it compiled again ๐คทโโ๏ธ
Also updated it a bit, made it more responsive to presence
16AWG is waaaay too thick for those.
Nah it's perfect
them boys (and the clips that are available for such) are like.. 20-22awg maximum
being capable and being the right choice are two different things.. ๐
... and also if you're lifting pads.. what sort of solder were you even using?
Silver SAC305
yeah; there's your problem.
use leaded solder unless you absolutely have to.
no
I must and I do
because the flux core is comically insufficient
especially around the thermal mass of 16gauge wire.
I like how the web site for that solder link comes up with.. them using it in a goddamn wave soldering machine that nobody in a hobby space will ever see. ๐
https://store.rossmanngroup.com/amtech-nc-559-v2-30-cc-16160.html
This shit will make even the utter fucking bastard that is lead-free behave better
(dont have to get it there; but yeah.. tacky flux kicks ass.)
especially for thick wires.
... god lead-free solder is such a bastard when you're trying to tin wires
the good shit yeah.. ๐ค and yet you were still lifting pads or having issues?
pre-tinning wires before trying to solder them down?
... what soldering iron then?
because with that flux and a decent.. (modern?) iron it shouldnt be a problem.
unless you're using wildly wrong tip or something.
Hakko with a chisel tip to apply a lot of heat.
(and by modern I mean more regarding.. thermal mass of the soldering iron.. older style stuff like radioshack stuff had pitiful wattage/thermal mass that didnt deal with things well)
ahhh hakko.
... such nice quality.
such dogshit control schemes on their digital stuff.
Ideally these high power strips should have the copper embedded into the membrain
Hakko Engineers when asked about "seperate up and down buttons for temperature"
its not a membrane.
its literally just a flex pcb
with... not terribly thick copper for obvious reasons.
The auxmer has a lot of copper but too much heat and the thick wires seperates them easy.
It's basically just keep slicing of sections until you get it ๐
๐ no I still argue you need thinner wire
just look at the wire they come with on the spools
(though don't look too close.. ew.. that stiff PVC.)
It's recommended to not use the 18AWG that they come with as it's not suitible for deployment on long lengths.
... more like you shouldn't be using single-power-point injection on long runs.
I am wondering how damn large of a kitchen you arae in tho ๐
It goes all the way around the room and then also supplies the over head illumination as well.
yeah.. Ideally you'd have the PSU tapped into it at multiple points.
It is
... goddamn strips have gotten so much more expensive these days.. fuuuck.
I blame the youtubers
I blame fuckwits and tariffs. ๐
Fair enough!
acatually wait no.. you just... chose realaly expensive ones? ๐คฃ
https://www.aliexpress.com/item/3256806122803072.html
is the strips I used en-masse for a warehouse thing.. ๐ค
I wanted the highest CRI with max gambit of deep colours all the way to halloween esq saturation.
(fabric warehouse.. needed good even white for color acacuracy.. etc.. etc..)
I think the COB ones also.. tend to be better for heat as well as the diode itself is direct-bonded to the substrate of the PCB rather than another package and etc.
Auxmer usually have the best colour accuracy I have seen so far. Food looks like food.
now whose a youtuber?
๐คฃ
Nothing like the 20KHz to prevent rolling frames while recording ๐
now I must grab some of those VL6180X's for my ever-expanding box of shit.. ๐
I mean.. you can also get that with a proper linear driver instead of PWM at all. ๐
They are obsolete now ๐
Psh that would be too simple.
I never saaid I had a good reason.. ๐
Hey, that is why I do everything.
you clearly need more wire tho... duh... ๐
The next person that gets this house is going to have a field day recycling all the copper in it.
smaller project wire..
16/18/20gauge+some micro coaxial antenna stuff..
... all of which is FEP sleeved because I am like that. ๐
.. also because silicone is trasah that can break/be frayed waaaay too easily.
Sadly also gone up out here in Restofworldland
thanks to fuckwit, I will (fairly safely) assume. ๐
now stick it in a cupboard
nah.. I dont have that much extraneous amount of wire
its mostly used for smalal project wiring/occasionally in mains AC boxes in short runs between switches/smart stuff and wagos
(yes yes blah blah.. technically not code.. on the other hand its wire that can handle 200c+ and is nice and flexible to make the boxes not want to kill myself when dealing with em..)
use the proper crimps in places and things become much more sane.. ๐
Just be carful FEP is toxic ๐ the more it rubs on stuff, the amazing things it dispurses in the air.
FEP is inert.
The manufacturing shit is not.
๐ don't worry they stopped dumping it into the water table! (technically at least as they move onto using a very very very similar chemical that is yet unproven to be doing the same damage or worse!)
but i know what it can do if overheated.. I got into all this after doing 3d printing where thats a bit important.. ๐
Yup heat does wonders for VOCs ๐
I remember the first sensor I setup and turned on a print, just rockets to the moon... I'm like yup we're all dead.
keep the flavor sealed in your printer duh.
Lick it!
(primarily ABS printing)
the cheapest shittiest ABS I can get..
Thus.. mmm styrene
printer is sealed. ๐
What does the full encasement look like?
Yay Voron!
yep.
and its so well seaaled I can't smell anything while its printing so.. ๐คทโโ๏ธ (trust me zyltech fucking reaks I would absolutely know if it was leaking..)
Wise! Those cams die well after 80c
oh they despise being heated at all.. I'm very well aware.
its a pi camera.
glass slide from a microscope on the inside to keep it more-or-less shielded
since regular glass is not infrared permeable anyways.. not that it woudl matter as I do have to turn the heat down to avoid melting my parts until I actually.. ever.. settle down and finish mods ๐
A labour of love that never ends!
its more-or-less 99% modded parts
the side panels are air-gapped insulation
that gap does a lot
Whatever works and if it doesn't, make it work ๐
reminds me I need to...
get m y reflow oven working once more...
so I can build some boards.
Just use your printer as as the reflow oven ๐
because trying to use my klipper-driven lab oven... overcooked some components. ๐
nah, bed magnet adhesive is not good up to the temps I'd need it
built my voron before that.. lohmann shit became popular/well known
nah. ๐
Common you need more work for no reason.
tried using this.
Its heat curve was too slow and cooked my multiplexing IC and the LEDs onboard. (I hope its just those components..)
made a lab-oven klipper powered to have a controllable high-temperature drying/annealing oven ๐
Just add a stealthchanger so you can etch boards, squirt solder paste, vaccum pick and place parts and then flow the board. I know you want to.
I mean I have..
a wire edm kit from rackrobo here..
and etc.. that I still need to make; sadly.. ๐
Do it!
one day I want a MOPA laser
those things are fucking sick.
etching colors on metal; etc etc
its only a tool change away
I believe in you to do it
also I made jokes at someone on the voron server who has partial blindness in an eye due to a lasaer incident