[HN Gopher] My fan worked fine, so I gave it WiFi
___________________________________________________________________
My fan worked fine, so I gave it WiFi
Author : woolywonder
Score : 216 points
Date : 2025-11-06 01:04 UTC (6 days ago)
(HTM) web link (ellis.codes)
(TXT) w3m dump (ellis.codes)
| kylehotchkiss wrote:
| Oh no don't tell vornado this is possible and give them an
| enshittificafion pathway for their products
| Eric_WVGG wrote:
| IMO anything with unnecessary digital interfaces is already
| down the path.
|
| I have a Vornado fan that I would _love_ to automate with a
| simple wifi-enabled plug, but due to the digital on /off/speed
| button, when you cut-off and restore power to the device, it
| stays off. If it had a dumb analog dial or switch, it would
| both be fine for normal use, and could be easily, cheaply made
| "smart."
|
| They do sell wifi-enabled fans; none of them are in a form
| factor that would fit in my window.
|
| I'm not even alone in this gripe, lots of other maniacs have
| done the hard work of conversions. Unfortunately I'm not
| confident enough in my soldering skills to try :\
| https://www.reddit.com/r/electrical/comments/vaiskf/bypass_p...
| hnuser123456 wrote:
| I actually like this idea. Makes more sense than smart fridges.
| Would be cool if this ESPHome thing worked with RP2350/Rpi Pico
| 2.
| moffkalast wrote:
| Could tie it to a thermometer and turn it on automatically on
| hot days. Very cool.
| madaxe_again wrote:
| Ideal for a beer fridge. Is today a beer in the sun day? If
| so, chill those bad boys. Otherwise, save the energy.
| moffkalast wrote:
| Ah yes, buying tens of dollars worth of hardware to save
| cents worth of power. What being a hardware hobbyist is all
| about!
| 05 wrote:
| It's there, but you have to configure a custom platform due to
| politics between PIO and RPI. rp2040:
| board: rpipico2w framework:
| platform_version: https://github.com/maxgerhardt/platform-
| raspberrypi.git#develop version: dev
| esphome: platformio_options: build_flags:
| - -DPICO_VSYS_PIN=29
|
| [0] https://github.com/esphome/feature-
| requests/issues/2837#issu...
| ttshaw1 wrote:
| I don't like the notion of doing speed control by putting a
| digipot in series with a motor. It worked because the fan
| happened to be low enough power but it doesn't seem like the
| author gave thought to the power handling capability of the
| digipot. If the fan happened to be beefier he's letting the smoke
| out with this design.
|
| Plus, this is more complicated than just doing PWM.
| _ihaque wrote:
| Based on the description of the wiring to the motor (24V, GND,
| POT1, POT2, NC), it doesn't sound like the original setup would
| have been drawing much power through the pot either -- there's
| probably something else on the other end of that wire that is
| doing modulation based on the sense resistance, and the motor
| is itself drawing power from the 24V line. So while it's true
| that there should be a check for the allowable limits on the
| digipot, I don't think it's actually being used to sink much
| power.
| announcer4614 wrote:
| Hey, author here. That's correct. The potentiometer has 5V
| going through it, with a current range of 30-164mA, which
| fell within limits of the digipot. I opted to use the digipot
| instead of my own PWM because something else must be doing
| PWM closer to the motor, where I didn't want to go modifying.
| 05 wrote:
| > there's probably something else on the other end of that
| wire that is doing modulation based on the sense resistance
|
| And it would have been great if that arbitrary assumption had
| been tested by the OP and the results were documented in the
| article so that they wouldn't come off as somewhat clueless
| as to the limitations of their design.. oh well.
| anamexis wrote:
| From the HN guidelines:
|
| > Be kind. Don't be snarky. Converse curiously; don't
| cross-examine. Edit out swipes.
|
| > Don't be curmudgeonly. Thoughtful criticism is fine, but
| please don't be rigidly or generically negative.
| TylerE wrote:
| These passive aggressive posts are a far worse violation
| of the HN Guidelines than what they're in reply to almost
| all of the time - and this is no exception.
| knappe wrote:
| No, no they're not. I would much rather people are warned
| about the guidelines and adhere to them going forward
| than the opposite and we then just let violations run
| rampant.
| TylerE wrote:
| They're not "warnings". They're passive aggressive
| internet dick waving virtue signalling. The flag button
| exists.
| wizzwizz4 wrote:
| I, for one, appreciate knowing why people have flagged my
| comments. The "flag and move on" strategy is for use
| against bad actors.
| bsder wrote:
| There are a _lot_ of people who read or watch stuff from
| the Internet and then play with mains voltages without
| giving a though to how dangerous that is.
|
| See: any craze which uses the high voltage transformers
| from microwaves
| ttshaw1 wrote:
| You're right, I didn't read thoroughly enough.
|
| >Everything joined up via a 2-pin and 5-pin connector on the
| PCB. From there, it was a straightforward matter of measuring
| voltages and continuity to work out what connected to what:
| the 2-pin connector was offering 24V DC. The 5-pin connector
| was what went off to the motor itself. Two of its pins were
| passing through the 24V DC and ground directly. Two more pins
| were connected to the potentiometer. The fifth pin was not
| connected.
| NegativeLatency wrote:
| ESPHome and homeassistant have been really great, just like a
| nice breath of fresh air in a world of cloud saas stuff.
| ssl-3 wrote:
| Home Assistant does great at tying all kinds of things
| together.
|
| People had a habit of leaving the basement lights on here. Now
| they turn themselves off after a timer expires, and also
| whenever nobody's home. Using HA and a cheap Shelly relay
| (chosen for form factor), I was able to do this while retaining
| the existing lighting circuits, light switch, and the lights
| themselves.
|
| It works perfectly, is completely local, and the end-user UI is
| completely natural. Toggle the same plain-Jane light switch
| that has always been there at the top of the basement stairs
| and the lights change state. (UI doesn't get more intuitive
| than that.)
|
| Or: Fans. This house has a good furnace and central aircon, but
| the ductwork doesn't really extend upstairs. By default, this
| makes the upstairs-parts very hot in the summer and cooler than
| I'd like in the winter -- even though it's nice downstairs
| during all seasons.
|
| I fixed that to my satisfaction by putting a fan on the landing
| that is controlled by an inexpensive smart switch, just to
| improve circulation. HA runs this show; the fan runs when the
| HVAC is doing something, and whenever people are home _and_ it
| is either too hot or too cold upstairs (based on a temperature
| sensor). It 's not a perfect solution, but it's kept the
| temperatures sane (and provided logging to prove it), it was
| cheap to implement, and it is cheap to run.
|
| I already had the parts kicking around; it just took software
| and time.
|
| (The best option for efficiency and comfort is probably
| installing mini-splits up there, but... sheesh, that's into the
| realm of orders-of-magnitude more expensive. Maybe some day.)
| NegativeLatency wrote:
| I'm curious how you used the shelly? They look neat but I'm
| not sure how people are wiring them into existing switches.
| ssl-3 wrote:
| Good question.
|
| I put the Shelly relay in a pre-existing junction box in
| the basement.
|
| Previously, this box worked like this: There were romex
| cables for power/neutral, lights, and the switch itself all
| inside of that box. The switch, located elsewhere,
| interrupted power to the lights. (This isn't necessarily
| the most-typical arrangement, but it's how it is in the
| house I've got.)
|
| Currently, the box works like this: We still have romex
| cables for power/neutral, lights, and the switch itself
| inside of that box. That part hasn't changed at all. But
| now the Shelly relay interrupts power to the lights.
|
| Thus, the lights are always controlled by software.
|
| And the light switch? That just provides an input that is
| acted upon by a software script.
|
| The script (which runs internally within the Shelly relay)
| only does 3 things:
|
| 1. If relay is on and switch toggles, turn relay off.
|
| 2. If relay is off and switch toggles, turn relay on.
|
| 3. If relay is turned on by any mechanism, start timer, and
| then turn off after timer expires. (Plus other useful timer
| mechanics like resets on additional toggling, but you get
| the idea.)
|
| ---
|
| It's easiest to think of a Shelly relay like a replacement
| for a light switch, but that's kind of a limiting way to
| think about it because that line of thought strongly
| implies that it should to be located where the switch is.
| And while it certainly can be installed that way, in
| practice it really doesn't have that limitation.
|
| For my unfinished basement, there's no neutral at the light
| switch location so using a regular smart switch didn't pan
| out. (I could have added a neutral but that would have
| meant using more parts and getting into some drywall and
| paint.)
|
| Instead, there's that neat (who am I kidding, it's a mess)
| junction box I that described, up on the ceiling where all
| of the things come together... So that's where I put the
| relay.
|
| Or: There's a box behind a light fixture (well, there
| "should" be anyway). Often, this box will have the same
| functions available inside that my junction box happened to
| have. Power, neutral, light(s), switch input. A relay can
| go there.
|
| But many houses do have neutral at the light switch
| location, so a relay can go there instead. Power/neutral
| feeds in, power for lights feeds out, with a switch (and/or
| relay!) in the middle. All in one accessible box on the
| wall. This matches the easy-to-think-of scenario. (IIRC all
| new homes are supposed to be this way in the US, but...)
|
| It's (usually!) just a matter of finding the right physical
| location in which to install the relay.
|
| (Note: None of this is intended to be an exhaustive list of
| variations. Things can and do get weird with household
| wiring, and regional variations of what "normal" means can
| vary quite tremendously.)
| bluGill wrote:
| My only fear is my HA box will fail and now nothing
| works. Most likely because I move and forget to tear
| everything out. Still something I'm interetsed in
| ssl-3 wrote:
| I have the same fear.
|
| So everything I automate has a fallback option that
| exists outside of HA. My regular light fixtures, with
| smart bulbs? I can turn those on and off using their
| light switch in the event that Home Assistant is dead,
| like I would if they were dumb bulbs. (I seldom use them
| that way, but I can.)
|
| And my basement lights have their smarts all programmed
| directly in the Shelly relay. It works without networking
| or HA or anything else. So while the basement lights are
| completely software-operated, they aren't dependent upon
| the relatively giant stack of software and complex
| hardware that HA brings
|
| As long as the Shelly relay works, then the basement
| lights also work -- with a timer.
|
| (That relay can fail, but it is is unlikely to fail soon.
| I don't worry about it any more than I do a major
| appliance failing: If/when it happens, I'll deal with it.
| It's easy to take out again.)
| sally_glance wrote:
| Interesting, I had a similar setup with smart bulbs, dumb
| switches and HA. My experience was that when the bulbs
| lose connectivity (Zigbee or Wifi in my case) you could
| maybe still turn them on but they would start flashing
| like crazy or use different colors (as indicators for
| their "reconnecting" state). Also Zigbee doesn't really
| love losing mesh nodes periodically, so turning the bulb
| completely off using the switch would cause the whole
| network to fall into broken states that had to be
| manually fixed from time to time.
| ssl-3 wrote:
| None of the bulbs I've had (which have been a pretty wide
| mixture: Proprietary clown, proprietary local wifi,
| matter wifi, esphome wifi, zigbee) have that problem.
|
| I just turn them off and back on one time using the
| switch, and the light bulb's state goes to some variation
| of "on" within no more than a second or two (maybe not an
| ideal variation of "on", but good enough to get through a
| dark hallway). Turn back off with the switch, and it's
| obviously off. On the next "on" cycle of the switch, it
| goes back to "on".
|
| And while it is freshly "on", it's trying to reconnect to
| whatever its programmed mothership is (whether local or
| afar). This works every time, so far in my experience, as
| long as that mothership is reachable.
|
| The only time blinkey-mode has been imparted is when I've
| reset things, which takes rapid iterations of off-on
| cycling of the light switch. (I test this all the time
| with the Zigbee bulb in my pantry because the light
| switch in there sure is convenient. It works fine, even
| if it has been completely off for hours or days. I just
| tested it again after pulling the USB zigbee dongle from
| HA, and the pantry light still worked fine with the
| switch on the wall.)
|
| I've moved these bulbs and other widgets between houses.
| No issues (other than renaming things after a move). It's
| really been OK.
|
| Additional background: For Zigbee in particular, I'm
| doing that in what is probably the least-preferred,
| least-effort method: I've got a cheap Chinese CC2531 dev
| kit that is flashed with different firmware (because that
| was the cheapest approach ~5 years ago), and I'm using it
| with ZHA in HA (because that's the easiest approach). All
| of my Zigbee devices have been buttons or light bulbs,
| all of those bulbs have been from Sengled, and none of
| any of them support Zigbee router mode at all. There is
| no Zigbee "mesh" here to speak of at all, so there's no
| weird interconnections to break: Endpoints talk directly
| with the CC2531 and that's that.
|
| Other than some range issues (which were broadly resolved
| by using an old-school non-3.0 USB extension that I found
| on Amazon in iMac-esque coloration for a dollar), Zigbee
| has really been OK for me.
|
| ---
|
| But I've been migrating to wifi, anyway. My favorite
| light bulbs, from Athom, actually come to me with open-
| source ESPHome already installed...but Matter-wifi light
| bulbs are often a bit less expensive than those are.
| (Tradeoffs.)
|
| This migration started on the basis that my old Zigbee
| bulbs are -- well -- old. They simply don't produce the
| same quality CRI that even very cheap dumb department
| store LEDs do these days.
|
| Besides, I've also already built a quite lovely wifi
| network for my home, wherein I do not care at all about
| the performance of the 2.4GHz radios at all so they may
| as well focus their energy on a sea of IoT devices.
|
| I like the idea of having only one set of wireless
| networking gear to futz with and optimize instead of
| having multiples of them. (But I'll probably goof around
| with Matter-Thread, too, if/when that makes sense to me.
| I'm by no means done tinkering or learning new things.)
| sally_glance wrote:
| Thanks for the response! Refreshing to hear that it can
| actually work - I think the main difference between your
| setup and mine might be that I actually needed the mesh
| because I had bulbs in behind a couple of steel concrete
| walls. I installed always-on Zigbee outlets thinking that
| bulbs would route over those but never actually got
| around to debugging why they didn't.
|
| Currently I'm also mostly on Tasmota-powered Athom bulbs.
| They work well, but after not powering them on for longer
| timeframes (presumably after their internal battery or
| whatever runs out) they forget my wifi and switch to
| setup.
|
| After these experiences I'll probably go with dumb bulbs
| and smart switches/relays for our new apartment. Still
| keeping an eye on the market and open for recommendations
| though, mainly because I like being able to control light
| color through HA.
| overfeed wrote:
| You can run HA in a Docker container and set it to
| generate backups periodically. If your virtual box (or
| the host) dies, spinning up a replacement will take up a
| few minutes, as long as you still have you have a
| computer capable of running Docker or Podman.
| bluGill wrote:
| That is no use if my boss says move to different city -
| there is a lot to deal with in a short time which leaves
| no time to tear that stuff out. if the house doesn't work
| for the new owners the courts will make me pay an
| electrition to make it work.
|
| HA failing is annoying but not nearly as stressful.
| ssl-3 wrote:
| I see where you're headed with that now.
|
| It is my intention that when I move, I move my smart home
| shit with me.
|
| I keep this in mind as I add smartness. All of it can be
| reversed to normal-house-status in a few hours, at most
| -- including a trip or two to the hardware store.
|
| It can go back to what it once was almost as soon as
| "We're showing the house on Thursday" is uttered by
| anyone.
|
| (The new owners won't want any of it, anyway. Buying
| someone else's bespoke smart home is like buying someone
| else's bespoke race car: It may have been a serious
| investment in time and money as well as a source of
| tremendous joy for one person at one point, but for the
| next guy it's just kind of a nuisance.)
| Ruthalas wrote:
| What are you using as your temperature sensors, if you don't
| mind?
| 05 wrote:
| Not the GP, but any supported BLE sensor [0] with a
| Bluetooth proxy ESPHome node should work.
|
| [0] https://custom-
| components.github.io/ble_monitor/by_property#...
| ssl-3 wrote:
| You'll laugh, but:
|
| I'm using a Zigbee button from Samjin/Samsung/whoever-that-
| was which reads temperature, my Nest thermostat (via a
| convoluted-but-supported path to a remote API), and a
| couple of Amazon Echo Dot speakers (the integration of
| which is cursed, but it's easy to set up and usually
| works).
|
| I was going to try to score some cheap BLE temperature
| sensors and use the Shelly relay as a gateway to bring
| those into HA (yeah, it does that too), but then the big
| mystery ball of tariffs happened and I lost track of that
| idea.
| tetris11 wrote:
| Same, it's so nice to throw together a yaml that pretty much
| does exactly what you want, with the only ambiguity being
| knowing the ins/outs of the pins.
|
| I'm just hoping it stays cheap as a hobby
| madaxe_again wrote:
| It just makes stuff so easy - I've been on an absolute spree
| lately, and have built out:
|
| Ultrasonic tank & river level monitors, with temperature
| compensation and a battery fuel gauge - managing to make a
| 3000mAh battery stretch almost a year. Some of the river
| monitors use LoRa.
|
| Remote control to stop/start the previously pull-start
| generator
|
| Gas bottle level monitors
|
| Made the coffee machine dangerous
|
| And my current project is seeing if I can make solar/battery
| powered LED bulbs that I can hang on trees and use BLE to make
| them automatically turn on some distance ahead of you as you
| walk down the long path through the forest, and turn off once
| you've passed.
|
| I only really got started a few months ago, and my approach is
| far more breadboards, DuPont cables and superglue, because I
| know damned well that the moment I go "ok I'm done let's get a
| PCB" I'll decide on a modification.
|
| Anyway. I don't have enough good things to say about ESPHome. I
| get to save thousands of euros, and have fun at the same time.
| What's not to like.
| amelius wrote:
| Just wait until Espressif gets some greedy shareholders/or some
| manager that needs a raise and then suddenly you're paying 30%
| to get your app into the ESP Store.
| 05 wrote:
| ESPHome isn't really Espressif exclusive, there's Beken
| support already, which most cheap Chinese IoT gadgets use
| nowadays. And there are 'made for esphome' products which is
| a safer bet than buying Sonoff and praying the ESP32 inside
| doesn't have its secure boot bits fused.
| ihattendorf wrote:
| ESPHome is owned by the same group as Home Assistant, not
| Espressif. So Espressif getting greedy would just mean higher
| prices for their chips (or they could lock down development
| on their chips, but that seems very unlikely).
| 05 wrote:
| Why is there level conversion though if the digipot (MCP4141) is
| 2.7V to 5.5V?
|
| Personally I'd just use breadboard, it's just a 8 pin IC and a
| ESP module, for a one-off hack..
| announcer4614 wrote:
| Hey, author here. There's a line in the digipot datasheet that
| says the voltage on the A/B/W pins must be within -0.3V to VDD
| + 0.3V. The fan's line for the wiper pin is 5V, which would
| fall well outside of that if I gave the digipot's VDD 3.3V.
| 05 wrote:
| Thanks. Thinking more about that, might have been easier to
| just use 5V tolerant esp8266 :)
| announcer4614 wrote:
| Fair point, I hadn't thought to consider that aspect of the
| ESP8266. I mainly opted for the shiny new ESP32-C6 with the
| idea that I might one day set it up to use Thread instead
| of WiFi.
| IvyMike wrote:
| I've been toying with a variant of this project for my Honeywell
| home air filters. I have one in all my "big" rooms, and I like to
| keep them running at a low speed most of the day.
|
| But I also have time-of-day energy pricing, and it would be nice
| to automatically turn off (or at least slow) my air filters
| during the 5pm-8pm window. This project inspires me to at least
| look into the feasibility of adding that functionality myself.
| NegativeLatency wrote:
| Depending on your air filter you might be able to just use a
| smart plug, I went down a similar route this summer before
| realizing that mine would remember their power state and
| settings when powered off.
|
| So now I just have them plugged into a few smart plugs with
| automations in homeassistant
| reaperducer wrote:
| Why not just use a dumb timer plug from a hardware store?
|
| Ten bucks, and completely hacker-proof:
| https://www.acehardware.com/departments/lighting-and-
| electri...
|
| $16 if you need a remote control:
| https://www.acehardware.com/departments/lighting-and-
| electri...
|
| Or $17 if you want to get all digital and fancy:
| https://www.acehardware.com/p/3001323
| NegativeLatency wrote:
| Sure those work, I've tried them before, but I find them
| more fiddly and less fun to program than homeassistant.
|
| Also I can easily turn them on or off from my phone which
| is nice if I'm feeling lazy.
| XorNot wrote:
| This is what I do with my dehumidifiers.
|
| It's been working so well I was actually surprised one night
| when the dehumidifier in the bedroom turned itself on from
| the automation (which I have set to do after dark if humidity
| is higher then 70%).
|
| It had been within tolerance for ages and I just hadn't had
| to even think about it.
| IvyMike wrote:
| I would need a device with a physical switch rather than a
| touch control. Sadly many devices, mine included, have "power
| was cycled = device is off" logic.
| sksksk wrote:
| You might have luck with these... https://uk.switch-
| bot.com/products/switchbot-bot
| alright2565 wrote:
| https://github.com/flaviut/Honeywell-HPAx00-ESPHome
| IvyMike wrote:
| Holy shit, perfect!
| tylergetsay wrote:
| You should, it is very DIYable! I did it and reverse engineered
| it myself a while back. You dont need to make a custom circuit
| board if you are fine with losing the touch controls
| randyrand wrote:
| Why not this? 24-hour programmable timer
| https://www.amazon.com/dp/B0D7ZS6PGK
| uoaei wrote:
| I love upgrading simple home appliances with homebrew smarts
| using ESPHome so that they retain their original interface. I've
| mostly done lights that are still correctly switched at the
| original wall switches but up next is my fan and toaster oven!
| Then to tackle the thermostats.
| supportengineer wrote:
| The next step would be to monetize it with ads, and put some of
| the features behind a monthly subscription.
|
| Premium oscillation package, only $9.99 a month.
| alexchantavy wrote:
| Need $150 a month to add SSO though
| bigiain wrote:
| Single Sweat Off is an Enterprise Only requirement.
| iambateman wrote:
| $9.99 is for a single user. Extra users cost $14.99 each sold
| in packs of 5 with a three year minimum contract.
| nrhrjrjrjtntbt wrote:
| Premium oscillation package. We still talking fans? Or only
| fans?
| ninju wrote:
| OnlyFans...I see what you did there :-)
| jonhohle wrote:
| This is amazingly cool. Did you consider putting a rotary encoder
| on the PCB to maintain local control over the speed?
| announcer4614 wrote:
| That's exactly what I did :) and a convenient thing I realised
| afterwards is that the push-button function of the rotary
| encoder gives me the ability to turn the thing on and off with
| my foot!
| jonhohle wrote:
| (Facepalm) I looked at the pictures and skimmed, missing the
| encoder part. Awesome!
| mihaaly wrote:
| I purchased a Phillips fan in a shopping spree. It was hot
| outside, needed something, did not pay much attention beyond that
| it worked and was not noisy.
|
| At home my eyebrows went halfway on my forehead seeing that there
| is a remote and the remote is supposed to be my mobile! Need to
| download the app for it, connect the fan to the Wifi, but it also
| had bluetooth for some reason. No way Jose!
|
| Yet, it was so incredibly stupid like 4K zoom camera in a hammer
| that I had to try. Carefully. Data collection notice in the app
| shop is not promising, not at all. Location data, ID, I do not
| remember in full but perhaps contacts too? Unsure, but a lot.
| Anyway, will not enable access to most, airplane mode on, no
| bluetooth device in sight, so went ahead and installed the app,
| router disconnected from the internet, then run it.
|
| First thing: refusing access to location. App: sorry, you cannot
| use me if I cannot access your location, network, and my
| mothership. And it stops. Big laugh, delete the whole thing.
| Leaving feedback for other customers about this incredibly stupid
| intrusion.
|
| Then I got answer from Phillips! Something along the line: "This
| is for the best interest of our customers, we need your precise
| location so we can share personalized pollen and climate data and
| whatnot, we absolutely must insist this!"
|
| For a fan!
|
| Meanwhile the fan has physical buttons on it, can adjust speed,
| timer, and the cycle. Not completely useless. However some
| buttons need two press to register the action once. Beeps twice,
| does thing once. Likely some interference with The App, need to
| make sure that I am in the same room with the fan with a warning
| press and then the real press, or whothef knows what was in the
| head of these guys when they put this piece of thing together!?
| But really, are they nuts? Ruining use along pollen data?!
|
| Are we already living the movie Idiocracy when it is about the
| Phillips product design department?! Did they loose all sense
| with reality? I am sure they already pushing through some new AI
| function for this very fan and are sad that mine cannot connect
| to the mother ship through satellite or something just so the
| update can be pushed to it learning my breath patterns for
| optimal fan speed. They are nuts! They are nuts!
| tzs wrote:
| > Need to download the app for it, connect the fan to the Wifi,
| but it also had bluetooth for some reason.
|
| Bluetooth could be there for initial setup.
|
| To connect the fan to WiFi you have to somehow get the WiFi
| credentials to the fan. There are a few ways to do that.
|
| One of the most common is for the device when it has not yet
| been set up to make itself available over Bluetooth. The app
| can then connect to it and give it the WiFi credentials.
|
| Another common way is for the device to create its own WiFi
| network with a name that the app can somehow recognize. The app
| can then find that network, connect to it, and use it to talk
| to the device.
|
| I don't think this is as popular as the Bluetooth method,
| probably because it used to require that the user go to their
| network settings and connect to the device's WiFi network.
| Plus, when they are connected to the device they are not
| connected to their "real" WiFi which could disrupt other apps.
|
| However, newer Apple and Android mobile operating systems
| provide ways for applications to change the network connection
| in the background or with minimal interaction, which makes this
| method more friendly so maybe it will become more popular.
|
| There also are supposedly some IoT devices that use WPS (WiFi
| Protected Setup), where you bring the device near your router,
| press the WPS button on the router, then press the WPS button
| on the device, and magic happens to add the devide to your
| network. I've never actually had any device I've bought support
| this so it is either uncommon or I've just been unlucky.
|
| Anyway, from what I've read Philips has used both the bluetooth
| method and the access point method on their WiFi products.
| pta2002 wrote:
| The location access is often needed for the app to be able to
| find the WiFi networks in the neighborhood. This is because
| that can be used to triangulate your location, so they bundle
| it in with the same permission (unfortunately, there isn't a
| very good way to separate this, since it theoretically can be
| used to locate you and therefore you should let the user know
| that).
| allturtles wrote:
| Why does a fan app need to find the WiFi networks? The OS
| does this, and then serves an internet connection to the app.
| It doesn't need to know what the available networks are.
| onraglanroad wrote:
| I think this is the opening to a Korean horror movie...
| dnautics wrote:
| This is a very fun project with a corsi-rosenthal filter (a box
| fan taped to a bunch of normal house filters). To control the
| fan, you'll have to have some fun with a relay connected to MAINS
| voltage -- if you dare. The salon power relay hat is a reasonable
| solution (just remember to get voltage up/on for fail-dead). It's
| possible to squeeze everything inside of those cheap lasko fans
| you can get, too, if you want a challenge.
| gh02t wrote:
| Slightly easier/less mains electrical work required is to just
| use a smart plug of some sort, and there are multiple options
| you can put your own firmware on (e.g., Sonoff supports
| ESPHome).
|
| One caveat about this most people don't know is that most basic
| fans with a fully mechanical switch always order the speeds
| from High to Low, so that if you for instance want to turn it
| on to Low you have to briefly go through High (and Medium).
| This is on purpose, to briefly supply higher current to the
| motor for it to start spinning. Some fans might not like it if
| you start them from an external switch in low, especially
| larger ones with heavier blades. This also applies to the one
| in the article, but you can sequence things in software if you
| have full control of the fan speed, too.
| regularfry wrote:
| What's odd is that while what you describe is true for fans
| with a rotary mechanical switch, where you have to physically
| turn the contacts through "High" to get to "Low", it's also
| very common for fans with independent speed buttons to put
| the "High" button next to "Off", with "Low" furthest away. I
| don't know if that's just a hold-over from rotary switches
| because people are used to the sequence, or if there's
| something else mechanical going on inside the switch unit
| which has the same effect. And on this occasion I'm not
| taking mine apart to find out.
| zamalek wrote:
| The digipot is vaguely similar to how a R2R ladder DAC works.
| There are two resistor values used: R and 2R. The "interesting
| part" of the circuit has bits x 2R resistors in parallel. One end
| of each resistor (let's call it input) is connected directly to
| the digital bit from the PWM sample.
|
| Then there is the series bits x R resistors. The output of each
| 2R resistor is connected in-between the two resistors that
| straddle its bit position. So: Out |
| R +-2R-bit0 R +-2R-bit1 ...
| R +-2R-bitN
|
| And that's it (apart from pull-up/down resistors)! Due to the way
| that resistors in series and parallel work, each input step in
| the ladder provides twice the voltage of the previous if powered:
| it's base 2 enshrined in a physical object.
|
| These are relatively uncommon because they are highly sensitive
| to the resistor (and trace) tolerance, but this circuit is my
| Euler's identity of electronics: it very literally bridges the
| digital and analog worlds.
| pxx wrote:
| I saw the diagram in the original blogpost, laughed, but after
| a bit of sketching it out I think we're both wrong. R/2R
| ladders are useful in DACs (and are really cool there) but
| don't look like they're used in digipot applications.
|
| It seems like actual digipot ICs use the "2^n discrete
| resistors" approach. The IC used in this project is a MCP4141
| which explicitly states in section 5.1 of its datasheet that
| for 7-bit (8-bit) devices there are 128 (256) resistors in a
| string between the terminals.
|
| I'm a bit surprised this seems to be the best approach, but
| with IC manufacturing the joint problems of "a bunch of
| identical components" and "wiring it all up" are much less of a
| problem than if you were to wire this up by hand.
| skopje wrote:
| >> The PCB was ordered from JLCPCB, where I opted to have most of
| the components pre-soldered.
|
| very expensive, you are committed! :)
|
| you should have gone Full Giertz and added a badd little robot
| arm that turn the pot.
|
| esp32 are really nice: hundreds of code examples that do what you
| want without having to read too many pages. did you use ARDUINO
| IDE or idf.py SDK?
| announcer4614 wrote:
| I was actually pleased with how cheap it ended up: less than
| $20 USD for the board + assembly + every component.
|
| I set ESPHome to use IDF under the hood, you can check out my
| full ESPHome config for this:
| https://git.ellis.codes/e/esphome-configs/src/branch/main/vo...
| skopje wrote:
| interesting! i tried to order some assembled boards and was
| told $200+ (US) for only ~20 smd parts.
| announcer4614 wrote:
| I've noticed that some things can make the price suddenly
| skyrocket. Certain PCB specifications for one (though
| couldn't name anything in particular off hand). The one
| thing that caught me by surprise was that if I wanted to
| have JLCPCB solder the ESP32 for me the cost would jump by
| more than double, and the PCB would have to be physically
| larger. Something about their "Economic" vs. "Standard" PCB
| assembly where, for reasons I'm not clear on, the ESP32
| could only be done under the latter. I opted to solder that
| component myself, of course.
| xobs wrote:
| My current record is $19 (including shipping!) for two
| assembled boards of https://github.com/xobs/soundoff which is a
| little device that shuts off 5V power to a USB-A port when it
| detects the PC it's connected to goes to sleep.
| sailfast wrote:
| I love this - but honestly I was expecting this to end with the
| fan not functioning due to wifi issues. :)
| brcmthrowaway wrote:
| How much does it cost to get a pcb made with all the components?
|
| I hate soldering but breadboards are limiting.
| 05 wrote:
| As low as $10 if you all components are from JLCPCB's basic
| component library. For this board, more since there are some
| through-hole components and neither MCP4141 nor ESP32 (nor the
| buck modules used) are in the basic library.
| andsbf wrote:
| Reading the comments here I feel like... I have found my people.
| I love toying with the esphome and homeassistant.
| vswaroop04 wrote:
| I love these things toying with home assist
___________________________________________________________________
(page generated 2025-11-12 23:02 UTC)