Wyze Cam Notes

A year or so ago I bought a Wyze Cam to try out. I’d wanted an IP camera for a while, but with the exception of a ~$15 Gearbest special, I’ve deemed them all too expensive to experiment with. The Wyze Cam was different. It had a good reputation, and was available for $20 + shipping. So, I bought one. My first impressions of the hardware and image quality were favorable, the software, less so.

It’s clear to me that Wyze was trying to differentiate itself on a combination of low price and ease of use. They focused on a few simple scenarios as a route to ease-of-use. The Wyze Cam wasn’t/isn’t a typical security/surveillance camera, intended for watching home and exterior property. Instead it was more a personal, indoor surveilance camera. The Wyze Cam debuted as the sort of thing you could use to check in on your child sleeping or playing elsewhere in your house, or see which of your dogs was knocking stuff off the kitchen counter.

The software, both the camera firmware, and the smartphone app needed to access the camera, was basic, but capable enough to serve these scenarios. The camera firmware could identify motion using crude techniques. The firmware used the motion detection capability to trigger a cascade of events. Motion triggered the camera to upload 5s of video before the motion was detected and 5s after to Wyze’s cloud service. It could also store the same video locally, if there was an SD card on the camera.

Their cloud service can send notifications of new video clips to the smartphone app, from which the stored video can be viewed. The app also allows viewing of the live stream remotely over any Internet connection, can view video stored on a self-provided TF card in the camera itself when on the local network, and also allows viewing of video clips stored in the cloud over the previous two weeks.

Wyze was successful in delivering these basic features, but the overall experience was a bit clunky. Getting the camera connected to my local WiFi was relatively painless, and once connected, access when I was away from home just worked (except for a few occasions when it didn’t work at all). Accomplishing things in the app often took more steps than seemed necessary and some actions were hit-or-miss.

The (free) cloud service also imposed limits on how often video clips could be uploaded, presumably in order to manage the cost to Wyze of offering the free service. After a clip was recorded, the camera waited ~10m before motion could trigger recording of a different clip. This would probably be fine for keeping watch on the interior of one’s home while away at work, or vacation, but, combined with other limitations made the camera considerably less useful for keeping watch on the outside.

The camera firmware allows some coarse tuning of the motion detection. You can adjust how much the image has to change before triggering. You can also limit motion detection to a (rectangular) subset of the camera’s field of view. The utility of these limited settings really depends on the specifics of the scenario you are trying to accomplish. If you want to keep close track of who visits your porch, you can limit the motion detection region and turn the sensitivity down enough to minimize false positives from car headlights, the sun going behind a cloud, or moths flitting around, but then you loose any utility for seeing who is leaving dog crap in your yard.

Another limitation is that browsing the video stored locally is clunky. There is no way to scrub though in faster than realtime. You just have to jump forward manually and wait for the network to catch up. If you want to see more than 10s around a motion event you have to take note of the time of the triggered event, then switch to viewing stored video, then navigate to the proper time — there is no shortcut to jump from a stored 10s to the same time in the locally stored continuously recorded video with a single tap.

These limitations were enough that I stopped using the camera and just left it running on the assumption that if some event was severe enough, like, say, an animal sacrifice on my front lawn, I might go to the trouble of trying to find and view whatever the camera captured.

That assumed that the camera captured anything at all. I had trouble with the camera crashing or loosing track of the TF card and not recording video again until I noticed and rebooted the camera, and/or ejected and reinserted the card.

There have been some other severe annoyances, too. You have to log-in to Wyze’s service to use your camera, even though the only scenarios that require an account are sharing access with another person. Worse, the login expires after some number of days without use. Once your login expires the app doesn’t take advantage of FaceID on iOS for a quick login; you have to type your password in.

Recently, after more than six months of disuse I decided to try the camera again — I’d grown fed-up with people leaving their dog’s bagged crap in my waste bins, particularly when they put it in the recycling or yard waste bins.

Logging in to the app is still more tedious than it should be. Some operations are smoother and less hit-or-miss than they were, but I still find that a number of actions take more steps than they really should.

In the end, the Wyze Cam didn’t catch anyone in the act, but it did catch someone behaving like someone might if they were about to put poorly-bagged dog crap in my yard waste bin before the clip cut out.

It’s still tedious to review the continuously captured video from the TF card. Pulling the TF card is difficult, because of where and how the camera is mounted, so I’m limited to using the clunky, slow UI in their iOS app. I can’t download an hour or days worth of video quickly to my phone for easier/faster review using a native UI on my phone or computer; I can only “record” the stored video in real time. — if I want to download an hour worth of of video, I need to start “recording” in the app and leave it running for an hour. Ridiculous.

Wyze has made one major improvement since I first got the camera, though. Earlier this year they added “person” detection to the firmware, using software licensed from a third party. Once enabled, it works by waiting for the camera to detect motion, then software running on the camera does further processing to see if the captured footage contains a human being (generic). If it does, the captured clip is marked as containing a person. Notifications can then be limited to clips that contain a person. The list of captured clips also notes whether or not a person is detected.

I want to underscore a few important details about the person detection. First, it runs entirely on the camera, which means that it isn’t being used to help train some big tech companies Artificial Intelligence brats, like some sequel to the Handmaid’s Tale (unless you submit clips for review on an individual basis). Second, doesn’t identify specific people, just the presence of a generic human being.

The accuracy is quite good, too. I’ve seen very few false positives (detected a person when there is no person) or false negatives (didn’t detect a person when motion was detected and there was a person in-frame).

The motion detection works well-enough that I’ve turned on notifications. At this point, though, more than half of the people detected are walking by with dogs, which isn’t something I need to know about right away. I think i’m going to adjust the motion detection region and limit it to my porch. I won’t be able to use the camera to catch dog crap offenders, but it’ll be good for checking to see who is at the front door, and what packages have been delivered.

Wyze does still have the option of making their camera useful for outdoor surveillance. My understanding is that the crude motion detection is a result of the limited motion detection support provided by the SoC (system on chip) and the SDK the manufacturer provides. The SoC isn’t very powerful, but the fact that it can run person detection algorithms in near realtime means that it is powerful enough to do simpler image processing. It should be possible to filter motion detection through non-rectangular regions, and/or adjust and apply the detection sensitivity on a region by region basis. It should also be possible to better filter false positives caused by insects attracted to the camera’s infrared illuminator LEDs at night.

For $20, Wyze Cam is an interesting product, and it is even a useful product for some scenarios. If my dog was still living, I’d probably have a few Wyze cams just to see what it does when we aren’t at home and it wasn’t sleeping. I may be picking up a few more Wyze Cams soon though, because we’ve started thinking we might be ready for new dog.

New to Me: Power Designs 6010 DC Power Supply

A couple of weeks ago I came across an listing for a used Power Designs 6010 for just $20, shipped. At first glance I thought I’d come across an incredible deal on a 6050, because the 6010 looks very similar. I’ve been keeping an eye out for a deal on a couple of Power Designs 6050 supplies for a while, with an eye to running them in parallel to get 10A for use in calibrating some battery testing equipment. It was disappointing to realize it was a 6010 a 60v/1A supply. I can already cover that voltage and current range in a couple different ways with existing equipment. I bought it anyway, because $20!!

IMG_7571

The seller took his sweet time shipping it out, but I finally got a tracking number, and a few days later, the supply arrived, well packed, and in, outwardly, pretty good physical condition. Inside was another story.

IMG_7581

One side of the PCB looked great. The other side though…

IMG_7583

Absolute crap. The PSU clearly had a thick layer of dust inside before receiving a light sprinkling of water. I set about trying to clean it up. I got two bowls of fresh water and a toothbrush. I wet the toothbrush in one bowl and I scrubbed the PCB with it. When it was too dirty, I rinsed it in the second bowl, then wetted it again from the first. After 5 minutes or so, the board was looking much better. I followed up by soaking it with squirts of 70% Isopropyl Alcohol (IPA), letting it run of onto a paper towel, and then chasing more if off with some compressed air. I repeated the process again with more 70% IPA and then with two rinses of electronics grade 99% IPA.

IMG_7587

After cleaning the board looked much better, and I could see that the corrosion that had started was superficial.

While I waited for it to dry out fully, I carefully inspected all the components. All the components on the front-side of the board looked in good shape. The big electrolytic caps on the backside of the board showed signs of leaking small amounts of electrolyte, but they tested out Ok with the capacitance function on my multimeter. I followed up my hooking each one up to one of my other bench power supplies and monitoring the current while I gradually raised the voltage, looking for signs of high leakage. Then I disconnected each cap from the PSU and checked how gradually the voltage dropped. None showed obvious signs of misbehavior. I plan to replace the caps, but I decided they were good enough to use while I did further checks on the supply. Before proceeding to functional checks though, I cleaned up the knobs and the front panel.

The knobs are red “Daka-Ware” resin knobs. Daka-Ware is/was a brand of products made with a thermoset resin, similar to Bakelite. Like Bakelite, there are various fillers mixed with the resin. Over time, the resin and filler age at differential rates from physical ware, and exposure to UV light, oxygen, pollutants, and dirt and grime. The knobs on my power supply had an obvious dull, darkened patina to them. When I removed them, the previously covered areas were still bright and glossy, making the wear even more obvious.

Next I washed the knobs with mild, soapy water. This removed a fair amount of the dark grime, but when they dried, it the knobs seemed lighter, but still dull due to the layer of partially exposed filler. Some people address this problem by painting the knobs, which to me defeats the purpose of making them out of colored resin in the first place. Others buff and polish the surface until they get a smooth surface of fresh resin, but that can end up removing a lot of material. I rubbed the knobs gently with a wet melamine sponge to remove a thin coat of exposed filler and aged resin. Once the knobs dried, I covered them with a generous coat of carnauba wax in order to impregnate and protect the remaining exposed filler, and the resin underneath. I then polished the knobs with a soft cloth.

IMG_7592

The results aren’t perfect, but they are pretty good. I’ll probably put another couple coats of wax on before I call it done.

As for the functional tests, well, I’ll save that for another post.