GET IN TOUCH

Custom IP Camera for Monitoring Pets Remotely

Consumer electronics Embedded hardware development Embedded software development Entertainment Kernel and driver development

Leaving pets at home alone can be stressful for pet owners. But in-home pet cameras solve this problem. No wonder there are so many of them on the market. To build one, you need both software and hardware development teams.

Request

A startup that was looking to develop a pet monitoring camera had a software development team in-house ready to implement the solution for pet owners. But they needed a strong hardware development partner to be able to handle the low-level requirements. They found Integra Sources.

Solution

We provided PCB design and developed a custom embedded Linux distribution build for the device installed at home for pet monitoring. We also developed a camera module that enables real-time video streaming via a mobile application.

Development process

Scope of work

Embedded hardware development. We provided a circuit design for the pet monitoring device based on the Allwinner A20 microprocessor.

  • Schematics design
  • PCB design
  • Generation files for manufacturer
  • Ordering the components and PCB manufacturing
  • Prototyping assembly
  • Hardware testing
  • Debugging

Kernel and driver development. We developed custom Linux distro and configured the system to reduce the boot time to less than five seconds.

Embedded software development for the camera module. We developed a video streaming service that enables 1080p at 30fps H.264 video stream. This server receives frames from the camera module, which is based on the OmniVision OV5640 image sensor. The camera is attached to a board, which encodes the information using H264 hardware codec, then streams videos over RTSP (Real Time Streaming Protocol) via Wi-Fi.

In addition, we built an app for Android to test video streaming through network address translation (NAT). We configured NAT to allow a router to act as an agent between the public network and a private network, thus reducing the usage of IP addresses.


Technologies Used

  • We used Allwinner A20 SoC with 2 ARM cores as CPU in this project.
  • We built a custom Linux image for the device.
  • The device firmware was stored on an onboard NAND flash.
  • CMOS sensor (camera) with CSI bus was used.
  • The device was able to stream 1080p at 30fps H.264 encoded video.
  • We used the H.264 hardware codec for video encoding.
  • The device has an onboard WiFi module for networking.
  • NAT traversal functionalities were implemented.
  • All software was implemented in C/C++ language.
  • Altium Designer IDE was used for Schematics and PCB design.

How it works

  1. A user installs the camera at home and connects it to the in-home WiFi network.
  2. Once installed, the user connects to the camera using a mobile app.
  3. To monitor the pet, all a user has to do is open the app and stream the video. Video streaming is available regardless of the user's physical location.

Challenges solved

  • Video quality Since the size of the device is rather small, it was pretty challenging to meet the requirements for the quality of the video. We minimized the size of the video to achieve full HD, 30fps, using h.264 video compression.
  • Power consumption We configured Linux to reduce power consumption so the device could use a rechargeable battery as a power source once the network connection is lost.

Result

The final device is an IP camera similar to PetCube with real-time video and a built-in laser pointer. The main purpose of the camera is to watch if a pet is playing nicely while the owner is away. The pet owners can watch, talk to, and play with their pets using a mobile app.

Final prototypes testing process

Boot time

< 5 seconds

Video quality

1080p at 30fps H.264