Elphel Model 313 Reconfigurable Network Camera
There are many network cameras (cameras that can serve images/video without computer) on the market today. Some can provide high frame rate video, but limited to 705x480 pixels or less. There are even some high-resolution (megapixel) network cameras, but they usually need a second or more to compress a full size image.
Model 313 can do both. It is a 1.3 megapixel network camera and it can serve full size images really fast - at 15 frames per second. High resolution may be very useful for security applications - a single camera with a wide angle lens placed in the corner can see over the whole room with the same quality as narrow angle NTSC camera placed on a pan/tilt platform. And it can see it all at the same time without any need of scanning.
Full resolution high frame rate makes it even possible not to use "digital pan-and-tilt" (sending out just a subwindow of the whole frame) - usual way to overcome the slow operation of high resolution network cameras.
Model 313 cameras are powered by 48VDC through the LAN cable compliant to the IEEE 802.3af standard. This voltage makes possible to use 4 times longer cables to the camera than 24VDC and 16 times longer than 12VDC - such lower voltages (not IEEE 802.3af compliant) are still used in some powered over LAN cameras.
All the embedded software and FPGA bitstream are stored in the camera flash memory that can be upgraded through the Internet. Unlike very dangerous procedure of rewriting flash memory with BIOS in the computer (if it was a wrong file or the power went off during flashing the motherboard will likely be wasted) the model 313 camera uses important feature of the ETRAX100LX 32-bit CPU (made by Axis Communications) - it has internal bootloader from the LAN that does not depend on the current flash memory data, so it is always possible to start over again with camera software installation.
There are other features that are useful for the developers. Both the embedded software and FPGA hardware algorithms are open source. There are 4 levels of the possible customization of the camera:
Level 1 - modification of the user interface with any web design tools. Camera has 3 file systems that makes it easy and safe to modify preinstalled web pages and be able to restore everything back if something went wrong.
Level 2 - applications written in C. It is possible to compile C code on a computer running GNU/Linux after installing software from the downloads page (and links from there). The executable file may be transferred to the camera using ftp to RAM disk or flash memory file system (jffs). That user application may have CGI interface and respond to http requests from the web browser.
Level 3 - adding (or modifying) drivers to the camera operating system. This will require building the new OS kernel and there are 2 ways to try it on the camera - boot camera from the LAN with the new kernel (it will not change anything in the camera flash memory, so just turning it off and back on will restore initial software) or flashing it instead of original one. It that case after power cycling camera will always boot with the new system.
Level 4 - FPGA modification that gives full control over the power of the reconfigurable computing in the camera. This level requires different tools - FPGA development software from Xilinx (free for download available) and the camera sources posted here (available under GNU GPL license).
Additional technical information (such as schematics) is here.
You may connect directly to the model 313 camera here.