About this project
Have you ever wanted to added a camera to your project, but can’t find a suitable module? The rise of cloud computing made it easier than ever to stream, store, and share video online. It also give rise to a new breed of hackers and engineers like you who love to tinker, break things, and make them work better again. Unfortunately, there isn’t a low cost, easily to use, and widely available camera platform for hackers in the current market place. Hackacam is here to bridge that gap.
Hackacam platform consists of a lense kit, sensor module, DSP module, and the necessary cables, so it is a working network camera right out of the box. You can control it through its web interface, and stream video to VLC. However, the fun doesn’t begin until you login to the camera via SSH, and execute your own custom program.
What can the Hackacam do out of the box?
Hackacam is a fully functional network camera right out of the box. The following video will demonstrate how to setup and use Hackacam in it's default configuration.
So what can I do with Hackacam?
Vehicle Video Recorder:
- Mount multiple cameras on your car and record video as you drive. No more disputes with the insurance company when the unfortunate happens as you have a video record of everything!
Robot with HD Vision:
- Add HD vision to your next robotic project. With Hackacam as your central processor, you can see what the robot is seeing anywhere in the world through Internet.
Dropbox Video Recorder:
- Home based video storage is so 2011. With Hackacam you can write your own program interfacing with the Dropbox SDK, so video feed is stored directly in the cloud, eliminating the need for local video storage.
Yearlong Time Lapsed Video:
- Point the camera to your back yard, set recording to the cloud and forget about it. A year later you can create an awesome time lapsed video documenting every minute of your life.
We have developed this app and you can see a demo of it in the video below. The source code is on Github: https://github.com/jcli/hackacam_dropbox_recorder
- Have Hackacam send out tweets when there is excessive motion, with an attached picture.
- Slap on a homemade impact resistance case and a battery you can impress your friends with your own action camera. Since the platform is open you can actually build a camera that have much better low light performance than GoPro, or use IR illuminator for actions in the dark. You can also use the motion detection feature to automatically record when there is action, and stop when there is not.
Speaking of video recording in the dark, we just put together a demo of Hackacam's night mode and IR sensitivity. Check it:
Hackacam has an ARM processing core that runs standard Linux, and support 3rd party compiler tools. We also provide a SDK to access all camera related functions such as encoded bitstream and analytic info. You can write your program in C, C++, Java, or python with the appropriate C bindings. As the root filesystem is fully open, you can compile your favored toolset should you chose.
Video Encoding Spec
- Sony IMX136 sensor.
- 1080p30 H.264 encoding. MJPEG and MPEG4 at reduced frame rate.
- Motion detection, night detection, blind detection.
- 266Mhz ARM9 core.
- 128MB RAM.
- Linux kernel 220.127.116.11 with driver.
- 100 BASE-T ethernet.
- Expandable IO via TWI interface.
- Expansion port for SD card.
- Composite video output.
Hackacam uses a Sony sensor IMX136. It is capable of full HD at 1080p30.
The heart of Hackacam is a Stretch 7120 DSP. It is a fully integrated SOC with image signal processing, video compression, ARM core, and peripheral IOs all rolled into one low cost package.
Front end imaged signal processing is handled by the Stretch DSP core. It takes raw data from the sensor and convert it to noise reduced, dead pixel corrected YUV frames for encoding. The Stretch DSP core is actually a powerful FPGA like fabric with it’s own programing model. On top of image processing, we also perform video analytics on the sensor data. Algorithms such as motion detection are done in real time.
Video encoding are done on dedicated cores on the Stretch chip. Once encoded, the bitstream is send to the ARM core for distribution. This where your creativity comes in!
The ARM core on Hackacam runs full Linux. You can use third party cross compiler such as CodeSourcery to compile C/C++ code to run on the camera. You can also compile Python interpreter to run on the camera. I will provide detailed instruction on how that can be accomplished.
The capability of Hackacam does not stop at the module itself. There is an expansion port on the module so you can build expansion modules, or integrate it to your own projects. We are building a SD card expansion module so you can have access to mass storage, and will add another reward level when it is ready.
Hackacam come with a standard M12 lens mount and a low cost lens. Since it is a standard, there are endless options. You can pick lenses that fit your specific need at a later time.
Software Development Kit:
The SDK for Hackacam have been through many iterations and is very mature. We will provide clear documentation and sample code. Instead of reading dry specs, how about watch me write a simple program to capture some video in 5 minutes.
The source code of this demo is up on Github. https://github.com/jcli/hackacam_helloworld
What’s your story?
I am an engineer with more than 10 years of experience in the semiconductor industry, and have been a digital video enthusiast for as long as I can remember. Video recording devices came a long way since the early days. Specialized cameras such as GoPro and Dropcam are taking video into brand new territories, and consumers are using these cameras in ways that simply wasn’t possible just a few years ago. However, many desirable features are missing in these existing products. It’s just the reality of a market in it’s infancy.
At the same time low cost computing platforms such as Arduino and Raspberry Pi had tremendous successes in the hacker community. These devices made it easy and cheap to build your own projects, but they are general purposed platforms that’s not very suitable for video.
That’s when it came to me. The market need a low cost hackable computing platform focused on video processing. The Stretch S7 processor is a video processing DSP use in many video recording products. This DSP is the perfect candidate for a low cost camera platform. That’s when Hackacam started to take shape.
We already had multiple iterations of the prototype module, and already finalized the board design. The SDK also have been through rigorous testing, and is very stable. The platform can be released for production tomorrow in it’s current state.
As for the expansion board. We have a few design spec in mind but would love to hear what you think it’s important. The expansion board would complement the platforms’ core functionality, and we believe the hacker community will come up with many interesting ideas. At this point, all we need is a little bit of help from you to make Hackacam a reality.
The DSP and Senor boards will be manufactured by Stretch, using contract manufactures in China. Stretch Inc had extensive experience in building cameras and add-in cards for video processing applications, and had a great track record for delivering quality product. You can refer to their website (www.stretchinc.com) for more detail.
We may source other components such as lenses and cables locally in the U.S., depending on our final volume. They are all standard components that can be bought off the shelf.
The camera functions fine without an expansion board, and for many projects it is not necessary to use the expansion slot. We do plan to build a SD card expansion board, and that will also be produced locally in the U.S. Currently we are still refining the design and deciding what else we can put on the first expansion board that is useful to the hacker community.
Overall we are confident that our production plan will be executed without a hitch.
Risks and challenges
Engineering projects always come with associated risks. We have done all we can to minimize that risk through prototyping, and regression testing.
The main DSP and sensor board is very stable. We developed many sample applications on the platforms to verify their operations, and we will be releasing more demos and tutorials as we make them. The potential risk here is the schedule. There is a possibility that we fail to ramp up fast enough to meet our March goal for all backers. If that happens we will ship out units on a first come first serve bases.
We have not started manufacturing the expansion board yet. So there is a potential risk here. However the risk is small as the expansion board is not technically challenging. SD card and TWI bus are only a handful of wires and we are confident that we will get it right. The expansion board complement Hackacam's core functionalities, but is not an essential component.
At this point we are very confident that this product can launch without any issue. We hope our story and the demo that you saw gave you the same level of confidence. However, sometimes even a single bug can cause months of delay. All we can promise is that we will put our heart and soul into this project to make it successful.Learn about accountability on Kickstarter
This camera would still be useful as a security IP camera even if you don't want develop code on it. The default application that come with the camera allows you to configure the camera via web browser, and stream the video to VLC or an Ipad. You can interface it with any network video recorder that can terminate RTSP video streams. It is also a great platform to learn embedded programming.
The camera platform will come with a lens. We haven't decided on which one yet, but it is likely to be a fixed focus board lens. Online vendors such as http://www.m12lenses.com/ have a large collection of lenses so you can see which one fit your need.
Hackacam have several advantages:
1) High quality video - Hackacam can encode and stream 1080p30 video in high profile H.264.
2) Configurable hardware - Hackacam have a standarded lens mount so you can change the lens. It also have expansion port so you can attach your own IO expanders.
3) Flexible software - Hackacam SDK hides nothing from the user. You can control everything from bit-rate and resolution to color correction and white-balance.
It is two 38mm x 38mm PCBs
This version of Hackacam does not have wifi. However, you can get a wifi bridge for about 20 bucks.
You can connect this wifi bridge to Hackacam and then link it to your wifi network.
Support this project
- (45 days)