2
\$\begingroup\$

I intend building a custom IP camera for home use, project goals are:

  • Videos are stored remotely in real time (storage somewhere else in home or cloud server)
  • Live steaming from internet
  • Video data transferred securely over wifi (recordings include footage of inside the house)
  • Resolution 720p@1fps
  • Cost efficient (in terms of cost price and power consumption)

I'm looking at the Raspberry PI and SMT32f4 boards, but I have not found any clear answer of its viability, and only the boards already cost more than a commercial IP camera.

How do I determine the minimal hardware requirements(what hardware do I choose)? Does anyone have any experience with a similar project? I've done days of research and I'm at the point of pulling my hairs out. Any help is highly appreciated!

\$\endgroup\$

3 Answers 3

1
\$\begingroup\$

Any Openwrt-capable hardware with USB and Wifi will work almost out of the box (you may need to build and flash custom image with mjpeg streamer), no development necessary. The lowest-cost platform is a5v11 (~US$8 shipped), plus your usb webcam of choice plus usb wall wart. It will look and feel like a linux machine streaming video from a webcam over tcp port.

Higher frame rates are possible with appropriate hardware -> https://forum.openwrt.org/viewtopic.php?pid=296414#p296414 Raspberry Pi running Raspbian will work out of the box too, but it's less cost effective and needs external wifi interface.

\$\endgroup\$
1
\$\begingroup\$

This would typically be implemented with an ARM or MIPS application processor with a CSI interface, allowing the processor to connect directly to an image sensor.

The application processor would contain enough RAM and flash storage (usually SPI flash is used, though NAND or eMMC is common on higher-end units) to boot a small Linux installation.

The processor would be connected to an IP network using either a WiFi connection (usually using an SDIO, PCI-Express, or USB connection), or Ethernet (which is usually embedded into the application processor, sometimes requiring an external PHY interfaced over RGMII or similar).

Obviously, given the high cost of prototyping this type of product, you're not going to be able to build a one-off prototype cheaper than you'll be able to find a mass-produced IP camera, so if your goal is to save money, quit now while you're ahead. If your goal is to learn about advanced embedded systems, this is a relatively straightforward (though also relatively tedious and unimaginative) project to tackle.

\$\endgroup\$
1
\$\begingroup\$

If your already at the point of pulling your hairs out, you are just getting started.
If you did this sort of thing with a microprocessor like an STM32F, it would be really difficult. Implementing the hardware would be challenging, the software would worse (in my opinion). even if you were a proficient programmer it could take you weeks to months.

Stick with the Raspi and use the camera module provided, there are numerous examples for beginners (you can google them). I believe the resolution would be sufficient, it's not the best camera but you could teach yourself some python and it would be a good learning experience. You wouldn't have to mess with the hardware either, just plug the module in.

One thing you might notice is more often than not, making things on your own is not cheaper than buying a ready made thing. Especially if you take into consideration the cost in time it takes to make something. It takes time to:

  1. Buy all the items (plus you have to pay shipping each time you buy from a different supplier)
  2. Put the items together
  3. Design other itmes and order them if needed (like PCB's)
  4. Write the software

You also are penalized heavily for only making one, you don't get any discounts like a manufacturer in china that is going to make thousands of them. But if you want to do it to learn something or as a hobby then by all means go for it. I do this all the time. I have a CNC machine, for each part I probably spend an hour more than an experienced machinist would. And if I took the 3000$ that it cost to buy it (and the software) and amortized it for the cost of each part that I'd make on it, it would cost me much much more than I could get it made by a machinist or at a shop. The material costs me more because I don't buy it it quantity. The quality of the work isn't as good because I don't do thousands of parts and I don't know the best way to make one. But I love doing it, and I've learned a lot. And that's why I do it.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.