Skip to content

Experiments with cheap Linux cameras

License

Notifications You must be signed in to change notification settings

OpenIPC/camerasrnd

Repository files navigation

Research & Development repository about cheap cameras (mainly XM manufactured)

PRs with additional information and corrections are welcome.

Where to begin?

Articles/books for newbies

Telegram groups

Chip families information

Hardware structuring (courtesy of OpenHisiIpCam project):

Chips shortcode
hi3516cv100, hi3518cv100, hi3518ev100, hi3518av100 hi3516cv100
hi3516dv100, hi3516av100 hi3516av100
hi3518ev200, hi3518ev201, hi3516cv200 hi3516cv200
hi3519v101, hi3516av200 hi3519v100
hi3516ev100, hi3516cv300 hi3516cv300
hi3516dv300, hi3516av300, hi3516cv500 hi3516cv500
hi3516ev200, hi3516dv200, hi3518ev300, hi3516ev300 hi3516ev200
hi3519av100 hi3519av100
hi3559av100 hi3559av100
gk7205v200, gk7605v100, gk7202v300, gk7205v300 gk7205v300(*)
nt98562, nt98566 nt9856x
ssc337, ssc335 ssc335
xm510 xm510
xm550, xm530 xm530

If you know about newer versions of full datasheets or can share them for different camera types don't hesitate to make a PR.

(*) Successors of Hisilicon chips

Hisilicon Goke
hi3516ev200 gk7205v200
hi3516dv200 gk7605v100
hi3516ev300 gk7205v300
hi3518ev300 gk7202v300

Performance and sensors

Chip CPU Encoder JPEG substream Sensors
hi3516av100 A7 600MHz 5MP@30fps, 1080p@60fps, 1080p@30fps 5MP@8fps IMX178, IMX385, IMX290, IMX185, OV4689, AR0237
hi3516dv100 A7 600MHz 5MP@15fps, 3MP@30fps, 1080p@30fps 5MP@8fps IMX178, IMX385, IMX290, IMX185, OV4689, AR0237
hi3519v101 A17 1.25GHz + A7 800MHz 12MP@15fps, 8MP@30fps 8MP@30fps IMX226, IMX274
hi3516av200 A17 1.25GHz + A7 800MHz 8MP@15fps, 6MP@30fps 8MP@30fps IMX274, OS08A10
hi3516dv300 A7 900MHz (NNIE 1.0Tops) 5MP@20fps, 1080p@30fps 16MP@10fps IMX385, IMX327
hi3516cv500 A7 900MHz (NNIE 0.5Tops) 3MP@20fps, 1080p@30fps 16MP@10fps IMX327
hi3518ev200 ARM926 540MHz 720p@30fps 2MP@5fps AR0130, OV9732, OV9712, F02
hi3516ev100 ARM926 800MHz 1080p@20fps 2MP@5fps IMX291, IMX323, SC3235
hi3516cv300 ARM926 800MHz 1080p@30fps 2MP@5fps IMX291, IMX323, SC3235
hi3516ev300 A7 900MHz 4MP@15fps, 3MP@30fps 4MP@5fps IMX335
hi3516ev200 A7 900MHz 3MP@20fps, 1080p@30fps 3MP@5fps SC3235, IMX307

Hardware

How to add new hardware support

SDKs

HiSilicon

Family Kernel U-Boot MPP
hi3516av100 3.4.35 v2
hi3516av200 3.18.20 v3
hi3516cv100 3.0.8 2010.06-svn v1
hi3516cv200 3.4.35 v2
hi3516cv300 3.18.20 2010.06-svn1098 v3
hi3516cv500 4.9.37 v4
hi3516ev200 4.9.37 2016.11-g2fc5f58 v4
hi3516ev300 4.9.37 v4
hi3519av100 4.9.37 v4
hi3559av100 4.9.37 v4

HiSilicon SDK naming principles:

Hi35xxVxxxRxxxCxxSPCxxy

Each field is explained as follows:

  • Hi35xx, segment contains chip type
  • Vxxx segment contains the type of chip version
  • Rxxx segment contains the release package type:
    • R001: Linux SDK
    • R002: Huawei LiteOS SDK
    • R003: Linux RDK reference design
    • other R bit is not used
  • Cxx segment contains compiler specific environment
    • C00: FPGA-based
    • C01: type A compiler (e.g. uclibc based sysroot)
    • C02: type B compiler (e.g. glibc based sysroot)
    • C03 and C04 are reserved
    • C05: Huawei LiteOS
    • C09: based on Demo version
  • SPCxxy segment shows current version
    • xx for each next release will be incremented by 1 (releases with fixed errors, additional features, etc)
    • xx0 indicates normal version, for temporary versions last character could be incremented by 1 in range from 1-9 and A-z.

XiongmaiTech

Platform Version Update time Download link
Windows V4.0.8.80 2020-02-27 link
Mac 2018-12-17 link
Linux V1.0.2.0 2020-01-10 link

Latest versions were taken from official site

Sophisticated usage

YouTube streaming

Development

Low level programming

Cross-compilation

Development using SDK

Debugging

Development tricks

RE