Introduction: Converting a WiFi Baby Monitor to Arduino Control
This Instructable will show you how to modify a Motorola Baby Monitor to provide Arduino-controlled pan (and tilt) movements. This means it could control a camera positioning while you are in the room, and with the right software, follow you around the room.
Future Instructables will cover how to change the controller from an Arduino Nano to a Arduino MicroView, an OLED Arduino Module from Sparkfun. This will lead us to generating custom graphics into the MicroView format and create animation.
Total cost for this project will be around $55 USD for the baby monitor, Arduino and stepper driver board.
If you enjoy this Instructable enough, please consider voting for this instructable in the Robotics and Arduino 2017 contest!
Step 1: What You Will Need - Hardware
You will need:
- WiFi Baby Monitor - http://www.ebay.com/itm/Motorola-Blink1-Wi-Fi-Vid... about $45.00 USD on eBay – (comes in either Black or White)It does not need to work, nor do you need the video display.
- Arduino Nano - https://www.amazon.com/SainSmart-Nano-v3-0-Compatible-Arduino/dp/B00761NDHI - about $12.00 USD on eBay
- 5V stepper motor + stepper motor driver board - https://www.amazon.com/Stepper-Motor-28BYJ-48-Modu...- about $6.00 USD on Amazon
- A pill bottle cap (1.57 inches) – for use as a “face” (or a mounting surface for a camera).
- Miscellaneous interconnect wires and USB cable
I wanted to use the Arduino Nano because it seemed to be the correct size to fit inside the base of the baby monitor. The Nano's got the breadboard-ability of the Boarduino and the Mini+USB with smaller footprint than either, so users have more breadboard space. It's got a breadboard pins that works well for experimentation.
Step 2: The Prototype - Making Sure We Can Make the Stepper Work.
We are ready to program the Nano with the Arduino IDE. Select Arduino Nano from the board menu. Select the COM port you are using. Select the code (download from https://learn.adafruit.com/adafruit-arduino-lesso... ) and click upload. Plug the stepper controller into the Nano using the jumper wires as outlined above.Connect the 5V input lead and the ground lead.
When you purchase the Nano from Sainsmart, they include some jumpers as well as the USB cable.
Some Helpful Info
- Learn about how to interface the stepper motor control board to the Arduino by referring to: “BYJ48 Stepper Motor by Mohannad Rawashdeh in Instructables/Arduino”
- Excellent stepper sketch from Adafruit: https://learn.adafruit.com/adafruit-arduino-lesso...
I used the information at https://arduino-info.wikispaces.com/SmallSteppers... to get started. This explains the motor, the board and the hookup, along with informative technical details to allow experimentation. The driver board is exactly what I used. The Arduino libraries and code are also what I started with, and it allowed me to experiment to gain a better understanding of getting steppers to work.
Connect the stepper motor to the control board by plugging the connector into the socket. It turns out that this stepper motor and the one in the baby monitor are similar (even to the part number!), so refitting this prototype will be straightforward.
With the Arduino Nano, the stepper control board and the stepper all connected and powered up though the USB cable, the stepper motor should start turning.
Step 3: Disassembly of the Baby Monitor
At the bottom of the baby monitor are 4 screws hidden by rubber feet. Remove the feet and then remove the screws. The base can be separated, revealing one of the 2 PC boards. This main board provides the stepper driver connections, the WiFi interface, the power interface and interconnects to the 2nd PC board.
Next, remove the screws to the stepper motor. The PCB will come loose and will expose the next set of screws to be removed on the driven gear.
Once these screws are removed, the top portion of the baby monitor will come loose, which will allow it to be split apart. It’s not easy – there are no screws, just hidden latches, so patience will allow you to split it open. Carefully use a small, flat-bladed screwdriver to insert into the seam and twist gently. This will force the hidden latches to come apart.
Once it’s split open, the camera assembly and PCB can be removed
Now, the objective is to remove all the parts and wires that will not be used. There’s a few that will have to be desoldered and the rest will be unplugged. When this is done, and the camera assembly removed, the top can be snapped back together.
Step 4: Assembly With New Parts
Now that we have removed all the parts we're not going to use, we can load in the the 2 new boards we're going to use: the stepper driver and the Arduino Nano.
We also need to remove one of the screw mounts to make room for the Nano, which will be located on its "side"
We need to make an exit location for the USB cable (the Nano can also be powered from 5 VDC) when the bottom is reassembled, which will allow us to load up and change the code as we wish. Cut or file a small opening that will allow the USB cable to fit through.
Then, search our medicine cabinet to find a bottle with a cap that will fit precisely into the opening. Lay it aside for now.
Step 5: Connect Everything
Start by connecting the stepper motor of the Baby Monitor to the connector on the driver board. Then add the 4 wires from the Nano (pins 8,10,9,and 11) to IN1, IN2, IN3 and IN4 on the stepper controller. The Power (5 VDC) and Ground will also have to be connected to the Nano.
This should all have been done in the Prototype step, so after making the connections, fit the boards carefully into the housing. Then fit the 2 halves of the base back together, securing with the screws we removed earlier.
Step 6: The Code of the Project
Once you have loaded the code, and have the panning "head" running, the following will occur:
- The "head"/stepper will rotate in a clockwise fashion to the end stop, and continue to run. This is a technique I came up with to essentially zero or home the "head".
- Once the maximum number of steps has been executed, the "head" will reverse and return and stop at our desired home position. This is part of the Setup portion of the Arduino code, and is only run at power-up.
- The code will continue in the Loop section of the code, from the home location to clockwise maximum, then return to home, then rotate to the anti-clockwise maximum and then return to home.
- This will continue until power is removed.
Step 7: Final Result
If you make your own Panning Face, post your "I made it" in the comments below!
Stay tuned for Part 2, coming soon!
If you enjoy this tutorial, please consider voting for this instructable in contests!