Cheap baby monitor with Android and a Tenvis IP Cam

[Update, 2015]:  After a while, I got sick of the overhead of a DIY solution.  A friend gave me a Dropcam (now Nest Cam), and I haven't gone back.  The optics and nightvision on the Nest are way better than on the Tenvis, and it just works.

I'm still completely sold on the baby cam thing.  The Dropcam was marvelous for us, and being able to wander around the neighborhood and not have to worry about the range limitations of our audio monitor was great.

[Previous article:]
I wasn't sure about this whole baby camera thing.  I mean - my parents got by with an audio monitor, and their parents got by with sharp ears.  So for the first 13 months of our kid's life, we too made do with an audio-only baby monitor (the Philips AVENT DECT is awesome and cheaper on amazon than the basic model AVENT we've been using).  But we found ourselves asking pretty often things like "is she awake and just being quiet?" (i.e., we didn't want to interrupt her sleep, but we also wanted to get moving if she was up), or "argh, is her foot stuck in the crib bars again?" (this creates a very unpleasantly awake and screaming baby about an hour later).

My solution, though the $200+ WiThings monitor looked cool, was to hack one up with a cheap IP cam, because questions like this that could otherwise be answered by risking waking the baby didn't seem like they needed the world's best solution.  Plus, I wanted an IP cam anyway to see if it's deer or hedgehogs destroying my tomatoes, but that's another story...

Things to note about this writeup:
  • Trustworthiness:  I'm still using the audio monitor.  It's portable, more reliable, and lasts longer on battery.  Audio works.  You don't need video.  Video's just handy for knowing better what's going on, but audio lets you separate "OK" from "oh crap."  I don't trust the tenvis/android setup in the same way.
  • Security:  The camera's security is not great when exposed to the Internet.  The connection is unencrypted and the password is sent in the clear.  If you're more paranoid, tunnel back to it - but note that you'll have to configure a VPN to do so and still be able to use the good viewer apps.  Also, make sure you're using encrypted wifi in your house.
So, on to the parts:
That crib is brown.
About the camera:  It's about $49 on Amazon.  Resolution is decent.  Color fidelity is poor - it makes our brown wooden crib look purple.  See picture at right (click to embiggen it).
 That's ok - you're not buying it to replace your DSLR.  Night vision is decent - it looks like the snapshot in the upper right of this post.  Enough to tell if your baby is standing, stuck in the crib, or sleeping.  The pan/tilt is more than I expected (or needed) for a $49 camera.  The setup, if you have a Mac or Linux, is slightly annoying but not bad if you know a bit about things like ifconfig.

Biggest annoyance:  Sound doesn't work from a laptop unless you use their IE ActiveX extension.  (!!!).  Video works on just about anything - Chrome, Safari, Firefox, iPad, Nexus 7, Galaxy Nexus, iPhone.

About the software:  It's free.  It works.  It's a little buggy - on my Nexus 7, I can't add more than one camera to it (I wanted to add its internal and external addresses).  The audio doesn't always stay on reliably -- see above regarding still using my audio monitor.  But it works.

Getting Started

  1. Buy camera.  Amazon.  Wait for camera to arrive.  Gleefully unbox.  Yay!
  2. Find ethernet cable.  Plug in to your computer and the camera.
  3. Configure your ethernet interface to be able to talk to the camera.  It comes hardwired to and it wants its gateway to be  / 24.  So:
    1. sudo ifconfig en<whatever> alias inet netmask
  4. Point your browser to
    (Yes, it uses port 81, for GOK what reason)
    1. Username "admin" password is empty.
  5. Click the firefox/chrome/whatever thing.  The "settings" are the gears in the lower right hand corner.  Clicky.
  6. change the password.  now.  seriously.  don't be one of those people.
  7. Strong suggestion:  Add a new user for viewing (vs admin).  I'll call this camuser
  8. Moderate suggestion:  While still plugged in to your wired network, upgrade the firmware:
    1. Download the latest firmware here
    2. Upgrade.  They mean it when they say to do it while plugged in to the wired network.  Trust me.  I tried.
  9. Settings -> Network -> IP config
    1. Enable DHCP
  10. Settings -> WiFi
    1. Tell it how to get on your network.  Select the profile and "activate" it.
  11. Save.  Unplug from wired.  Unplug power and re-plug-in.
  12. Optional but recommended:  Give it a permanent IP
    1. Go into your router/wifi gateway/whatever
    2. Find the MAC address of the device.  Or run nmap on your local network and find it via your ARP table ('arp -na')
    3. Configure your router to always assign the device the same IP address.  This will simplify life.
  13. Optional:  Enable port forwarding to your camera
    1. If you want to access it via the Innertubes, forward some port (e.g., 81, or whatever) to that statically assigned IP address.  You did set a good password, right?
Ok.  Now you should be able to access the camera from your local network using a browser.  Here's what stinks:  The browser versions for everything but IE can't do sound.  You may not care, because the sound from this thing is bad anyway.

Optional:  Install android client.  The best one I've found so far is (grab at the play store).  It's free and it works decently well.

Congratulations!  You now have a working baby monitor for far less money, and probably far more time invested, than the WiThings. :-)


Popular posts from this blog

Reflecting on CS Graduate Admissions

Minting Money with Monero ... and CPU vector intrinsics

Finding Bugs in TensorFlow with LibFuzzer