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
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 |
| 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
评论