In the last quarter of 2020 I had the suspicion that we miiiight just spend a teensy bit longer in our home offices after all. Because we were approaching the months in Ireland where you can’t just open the windows whenever you want, I figured I’ll get a small air purifier. And what better way is there, of procuring something that you want / need right now, than to not research it at all and “buying” the first best thing you stumbled over on Kickstarter after two beers?
That’s right, just slightly under one and a half years later, I am now the proud of owner of a Vitesy Eteria.
There were a few things that annoyed me initially but those are largely resolved by now. I’m not trying to write a review here, just consolidating what I figured out and maybe helping someone else who has more important stuff to do than me if let down by Google.
Software
The sensor units connect to the phone app via Bluetooth and are then configured to join your WiFi. Once connected, you’ll see DNS lookups for cn.ntp.org.cn
, ntp.sjtu.edu.cn
(someone didn’t change the Espressif ESP32 defaults / recommendations …) and iot.vitesyhub.com
. The latter has a couple of A, AAAA records and a CNAME record of a1fsf6d4f0ruol-ats.iot.us-east-1.amazonaws.com
. Once the MQTT session is established from the sensor, any config change in the client or requests for historical data will come from an ec2 instance (ec2-*.compute-1.amazonaws.com
), so that can’t be locked down too tight.
Eteria did say in the comments of their Kickstarter that they might look at creating a (local) REST API and direct mode (App -> Bluetooth) but no words on when or any guarantees. On the latter, they also said; “We’ll discuss this possibility also with our partners”, that together with; “(…) algorithms that process the air quality data from sensors to offer services to companies and institutions.” in a comment about their funding seems to indicate that the generated data is “shared”. I’m an optimist so I assume it is perfectly anonymized and only for good causes to help society prosper … but I still denied any agreement that didn’t cancel the setup, just in case.
Anyhow, until there is a local API, I just keep it on a separate IoT SSID, block all ports except 123
and 443
(AFAICT) from the sensor and limit incoming to AWS ranges (yeah, what a pinhole …).
Some things worth mentioning:
- Sometimes you can’t change the fan mode (the icon just keeps turning forever)
- closing and re-starting the app resolves this
- Humidity is consistently under reporting (compared to other sensors)
- they said that will be fixed in a future FW update
- edit: I think that happend just recently with FW 1.0.0.8
- You can only turn off the sensor LEDs when using a “Custom” fan speed profile
- “Silent” can’t be replicated, it is between a 2-3 on the “Custom” scale
- On Android (<12) you _need_ to give the app location permission when adding the device
To quote a reply I got from them (because I can’t read):
Location permission are needed for bluetooth to work if Android SDK is minor or equal to 30 (OS 11). “
ACCESS_FINE_LOCATION
is necessary because, on Android 11 and lower, a Bluetooth scan could potentially be used to gather information about the location of the user”.
Hardware
After taking it apart and using it, I’d says the Kickstarter price (1x sensor + purifier, incl. shipping) of €160 was good, the MSRP of €349 is (IMO) way too steep for what you get. The “Air Purifier” (MSRP €179) module is basically a handful of pieces injection molded ABS, a multilayer textile cover, a photocatalytic Tungsten Trioxide (WO3) mesh / filter + silicone sleeve, some LEDs, a SUNON 92×92 PWM fan ($9 retail, ~$5 for 100+ units) + metal grill and a simple PCB to connect everything + magnet sensor “plug”. It all depends on scale of course and I assume most of the margin is R&D / salaries / COVID era shipping, but unless the filter is exorbitantly expensive, it just seems a tad much.
The “Air Quality Module” seems to be using the SGP30 for VOC / CO2 equivalent and the SHT40 for temperature and humidity. It has an ESP32-MINI-1 for connectivity and is controlled by an STM32F411, I can’t add much here because I have absolutely no clue and am basically talking out of my ass on topics like these. The cost (MSRP €199), just looking at major components and resulting functionality, just seems too steep for me. I guess there is a market for “chic” home automation, it definitively looks better than a generic ESP32 board + sensors in a junction box, wired to a relay attached to a box fan + HEPA filter.
“wrrrrrrrr”
It’s fairly small so the advertised throughput of 30m3/h is enough for a small home office. The fan has PWM (Pulse-width modulation) and can be run at 10(ish) different speeds, I hope that throughput is at the “Standard” and not the “Performance” setting but even on the former, oh boy is that not something you want to be close to all day long. Even on “Silent”, the noise is still perceivable from a different room at night, and it isn’t a “nice” / white noise that just goes under in the background. This is what Eteria stated for their default settings:
We tested the noise with our fluid dynamics laboratories, and following the standards of the American Academy of Audiology we can say that:
1) “Silent” is 30dB, defined by the standard as a SOFT noise comparable to a “Whisper”
2) “Standard” is 45dB, defined by the standard as a noise between SOFT and MODERATE, comparable to a “quiet library”
3) “Performance” is 54dB, defined by the standards as a MODERATE noise, comparable to a “Moderate Rain” or a “Normal Conversation”
Decibels aren’t everything of course but the SUNON fan also doesn’t sound very nice on the lower settings. The model in my unit is the “PF92251V3-1000U-H99”, according to their documentation it comes in at 41.6 dB(A) @ 3900RPM.
The model numbers are explained in the same PDF on page 12, you’ll only find the “A (AutoRestart)” model but the specs should be the same for others, including “H (AutoRestart with PWM)”.
I did find the spec document for what I assume is the previous (initial?) generation, “PF92251V3-000U-A99”. The acoustic testing methodology is described on page 9, the fan is basically hung from a string and the noise is measured from one meter away, so without any noise due to vibration through the fan body itself.
Because I wanted to compare the relative noise level before and after the fan replacement and preferably not buy any more single use tools, I used the Sound Analyzer App for Android. It doesn’t have any adds, doesn’t require permissions it would need to be able to sell any interesting data and you can also calibrated it if you have the required equipment. Which I don’t but I’m only interested in relative noise between fans, I don’t need to trust the absolute values. Here what I measured for background (off) and the 3 preset profiles in its original configuration:
Teardown
There is a table at the end with some measurements but let’s crack this open first and walk through the fan replacement before we look at the numbers and whether those matter at all. First we pull up the fabric sleeve and pop the top off with the help of an old hotel key.
Actually, it is probably better to pull out the filter first but it shouldn’t matter if you are at least somewhat careful. If you find some small pieces of the filter that have broken off and rattle in the device, I did too before even attempting to take it apart, no big deal.
There are 4 clips on opposite sides, use a card to help unhook the ones on the same side as the magnet plug for the sensor as the cables are on the other side and have limited slack.
Once the fan and LED cable are unplugged, you can open the shell, the six screws don’t have threaded inserts and go straight into the plastic, so don’t take it apart too often and don’t over-torque when putting it back together.
The fan and LED power cables use the same heat shrink tubing, so either desolder the LED wires or cut the sleeve off, I opted for the latter as I’m not going to reuse the SUNON fan anyway.
If you look at fan wires, you might assume that this is a 3-pin fan and go ahead and order a better (silent) one that matches those specs (92mm, 3-pin, 12V) like the Noctua NF-A9 FLX. Well, in the theoretical situation where you did that, you would have to return it once you had a second look. Because it isn’t 3-pin, it is 4-pin with 3 cables, it is missing the RD (Rotation Detection) or FG (Frequency Generator) one. So don’t do that …
It frustrated me to no end that I couldn’t figure out what the “A” on the fan PCB stands for, “+” and “-” I can piece together, “P” for PWM is also something just within the reach of my imagination but “A”? I probably spent the better part of an hour (ineffectively) googling until I finally stumbled over this site that listed alternative names for RD: ‘(…) also called “Locked signal” or “Alarm Signal” (…)’. Still just a guess but my curiosity is satisfied whether it’s correct or not.
Let’s open up the sensor unit before we replace the fan, just to finish our “inventory”. The plastic lid on the top covers another 4 pin connector (visible in the middle of the first PCB picture below), maybe something for a future product or remnants of an earlier version, who knows. There are two screws hiding under two of the rubber feet, once those are out you can open the sensor unit.
In case anyone cares, here the front and back of all PCBs:
And a zoom in on the sensors if you want to double-check / I didn’t identify them correctly. The sensor “corner” is walled off in the housing which should reduce e.g. the temperature influence from the electronics.
Let’s replace that fan though, I’m going to stick with Noctua which I’ve used for other fan “swaps” in the past. There are three that fit the bill and I went with the NF-A9 PWM, the 4-pin model of course, I definitely didn’t order the 3-pin, no sir.
That will bring us to 22.8 dB(A) @ 2000 RPM, so half the rotations at a little bit more than half the decibels compared to the SUNON? Can this push a similar amount of air a lower noise? Noctua uses m3/h for airflow while SUNON uses CFM (cubic feet per minute), the conversion ratio is luckily right there on their site:
78.9 m3/h * 0.589 ~ 46.5 CFM
((46.5 CFM – 65 CFM) / 65 CFM) * 100 = -28.5
So a ~30% drop in “throughput” for ~50% less noise, that’s an improvement in my book since I mostly care about the later.
I used the rubber pins that come with Noctua fans for attaching the LED assembly, not really to keep vibration down but rather to not damage the fan in case I had to send it back, not that there was any real risk as I of course ordered the correct fan the first time around.
There was no way I could accurately measure airflow, as it turns out that is more complicated than licking your finger and holding it in front of the fan, and that was really all the effort I was willing to commit. Still, I wanted a metric I could measure that maybe at least somewhat correlates with throughput? PWM Voltage or current draw seemed sensible but I have absolutely no idea, the full table and some comments are at the end.
The pinout from the sensor and Noctua fan are as follows:
+-----------+ +-----------+ |Sensor plug| |Noctua fan | +-----------+ +-----------+ +-----------------+ +-----------------+ | +------++------+| |+------++------+ | | | PWM || Blue |<--------->| Blue || PWM | | | +------++------+| |+------++------+ | | +------++------+| |+------++------+ | | | GND ||Black |<----+ ||Green || RPM | | | +------++------+| | |+------++------+ | | +------++------+| | |+------++------+ | | | +12V || Red |<----+---->|Yellow|| +12V | | | +------++------+| | |+------++------+ | +-----------------+ | |+------++------+ | +---->|Black || GND | | |+------++------+ | +-----------------+
While I had the probes out, the current draw of the 4 LEDs is ~ 0.7 mA, I guess that generates enough speedy bois to break up those volatile organic compounds floating around. Eteria does have some material on how that is working and how it was tested but I didn’t read it. The only thing I did to check that this isn’t just a lamp with a fan, of course before I backed the project and not only after delivery like some chump would, is (briefly) checking that photocatalytic filtering isn’t all just buzzwords but backed by independent, pre-existing and recent research (that I don’t know half the words of so that must mean its good).
Putting everything back together started out great, I still had all screws and the LED assembly, despite being on rubber stilts, had enough clearance below the filter. I did notice however that the fan cables had a different orientation and the channel didn’t go through the lower half …
Yeah, that is just unfortunate and definitely not a sign of lacking foresight or planning, it seems we need a cable channel through the bottom of the fan and through the ABS plastic of the shell.
A Dremel with a fine engraving tip made the channel for the fan cables quick and painless. I used a larger tip for the ABS shell and it worked fine, I just had to snip the accumulated melted plastic off from time to time.
The hole / channel turned out a little too big but that definitely couldn’t have been prevented by measuring and drawing the intended cut with a marker first, life is just unpredictable that way I guess.
Since the LED cable remained in position but there is no cable channel in the fan (and it doesn’t make much sense to create one), you have to be careful not to pinch the cables in little plastic holders, that could rip them off the LED PCB when you push the fan in further, just route them above to the side. If you orient the LED assembly 90 degrees anti-clockwise so that the (short) power cables go down the new channel, they will be too taught when plugged in.
Cable management could always be better and I might change the orientation of the LED assembly and resolder longer cables or at least get a proper adapter for the fan instead of the 3 loose breadboard wires. For now I’m going to treat them like the cables under my desk, what you can’t see is tidy enough by definition. Because of the increased slack, I had to make sure that I didn’t pinch any cables while closing it back up.
When I put everything back together it sounded a lot better, even at the highest setting it was a smooth, white noise like, just a bit louder. Below you can see the SUNON and the Noctua at the “Performance” preset. I was hoping to identify why the former sounded more “uncomfortable” even at lower settings with similar dB levels, I think it might have been some “whine” in the higher frequency ranges? I forgot to record the before and after sound but might do that whenever I pretty up the cables.
Here the measurements I took at the different settings. V_PWM is the voltage measured at the blue PWM cable, (S) is SUNON, (N) is Noctua. The first 4 rows are the presets, followed by all 11 positions on the “Custom” slider. at “Off” and “0” the fan and LEDs are off. Funnily enough, while the “Performance” profile matches “Custom 10” (the maximum) and Standard matches “Custom 5”, “Silent” seems to be approximately a 2.5 and can’t be set via “Custom”. Again, the dB measurements aren’t meant to be precise and my phone was basically just 10cm away (the microphone wasn’t facing the device though), laying on a soft keyboard wrist rest to reduce pickup of vibrations.
Setting V_PWM (S+N) mA (S) mA (N) dB (S) dB (N) ------------- ------------- -------- -------- -------- -------- Off 0.00 0.0 0.0 19 19 Silence 1.24 46.6 24.1 43 23 Standard 1.57 102.5 35.5 55 34 Performance 2.31 220.0 69.0 66 46 Custom 0 0.00 0.0 0.0 19 19 Custom 1 1.04 27.7 18.5 20 20 Custom 2 1.17 38.7 21.9 31 22 Custom 3 1.30 53.8 25.9 45 26 Custom 4 1.44 74.9 30.8 51 32 Custom 5 1.57 101.5 35.5 55 34 Custom 6 1.71 132.5 41.1 60 37 Custom 7 1.85 164.7 46.9 62 40 Custom 8 1.99 192.1 53.3 64 42 Custom 9 2.15 200.0 60.6 65 44 Custom 10 2.31 220.0 69.0 66 46
“Conclusion”
You are probably asking yourself the same question I do while typing this: “Why expend the effort?”. Wiser people than me have answered this before so I can only quote:
Life is effort and I’ll stop when I die!
– Jerry
I was going to exchange the fan anyhow and thought “documenting it can’t be that much extra work”, I mean I was wrong but it also forced me to go through the motions of writing an article with most of the relevant elements, figuring out where to automate something e.g. for the pictures, which plugins to use / make minor adjustments etc. so it looks close enough to the way I imagined without going through the hassle of actually learning anything substantial about CSS or, heaven forbid, PHP.
The decibel and current measurements though? Meh. Here is the thing about metrics, if you don’t know enough about them, what they are based on, the reason for certain relationships, whether they are accurately measured or even matter to the problem you are trying to solve at all … you probably shouldn’t care too much. Especially if you have another subjective criteria which actually matters to you. For me, I’m putting replacing the fan into a similar category to preferring Red Breast 12 over Jameson, I think it tastes better and I have some vocabulary to describe why but I don’t know enough about it for an educated description. Still, if you think something is fun and you might even learn something, time is rarely wasted, just don’t force your conclusion onto data you don’t understand.
Is the Eteria worth it? I’m not sure I would be a good judge of that, I mean now that the fan is exchanged, taking their air improvement statements at face value but taking into account the reduces throughput when running at ear sensible levels, maybe? I do think the retail price is too high but what do I know, maybe its actually competitive and a great deal. Definitely change the fan though.