{"id":20161638,"url":"https://github.com/openipc/camerasrnd","last_synced_at":"2025-07-25T14:16:31.772Z","repository":{"id":45000235,"uuid":"249174207","full_name":"OpenIPC/camerasrnd","owner":"OpenIPC","description":"Experiments with cheap Linux cameras","archived":false,"fork":false,"pushed_at":"2023-08-15T19:39:05.000Z","size":1926,"stargazers_count":116,"open_issues_count":0,"forks_count":26,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-10-29T18:48:01.246Z","etag":null,"topics":["hisilicon","ipc","ipcam","ipcamera","openipc","xiongmai","xiongmaitech","xmeye"],"latest_commit_sha":null,"homepage":"https://openipc.org","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenIPC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-03-22T12:02:12.000Z","updated_at":"2024-09-07T14:48:59.000Z","dependencies_parsed_at":"2023-01-31T22:45:47.428Z","dependency_job_id":null,"html_url":"https://github.com/OpenIPC/camerasrnd","commit_stats":{"total_commits":96,"total_committers":11,"mean_commits":8.727272727272727,"dds":"0.26041666666666663","last_synced_commit":"d6007c45963999e4fc9237ba641d41d626d39309"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fcamerasrnd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fcamerasrnd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fcamerasrnd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenIPC%2Fcamerasrnd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenIPC","download_url":"https://codeload.github.com/OpenIPC/camerasrnd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230507049,"owners_count":18236944,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hisilicon","ipc","ipcam","ipcamera","openipc","xiongmai","xiongmaitech","xmeye"],"created_at":"2024-11-14T00:19:55.061Z","updated_at":"2024-12-19T22:07:22.299Z","avatar_url":"https://github.com/OpenIPC.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Research \u0026 Development repository about cheap cameras (mainly XM manufactured)\n\nPRs with additional information and corrections are welcome.\n\n## Where to begin?\n\n- [OpenIPC wiki](https://openipc.org/wiki)\n- [English XM FAQ](doc/XM-FAQ-en.md). Thanks to @vbelov42 for translation from Russian.\n- [Russian XM FAQ](doc/XM-FAQ-ru.md).\n- [How to get telnet on XM camera](xm_get_telnet.md)\n\n## Articles/books for newbies\n\n- [George Hilliard. Mastering Embedded Linux, series of articles](https://www.thirtythreeforty.net/posts/2019/08/mastering-embedded-linux-part-1-concepts/)\n- [Frank Vasquez, Chris Simmonds. Mastering Embedded Linux Programming, 3rd Edition](https://www.google.com/books/edition/Mastering_Embedded_Linux_Programming/K4ApEAAAQBAJ)\n- [Linux Inside. A book-in-progress about the linux kernel and its insides](https://0xax.gitbooks.io/linux-insides/content/)\n- [Alberto Liberal de los Ríos. Linux Driver Development for Embedded Processors, 2nd Edition](https://www.amazon.com/Linux-Driver-Development-Embedded-Processors-ebook/dp/B07L512BHG/)\n- [Bootlin. Linux Kernel training materials](https://bootlin.com/doc/training/linux-kernel/)\n- [Introducing ARM assembly language](http://www.cburch.com/books/arm/)\n\n## Telegram groups\n\n- [OpenIPC English](https://t.me/openipc)\n- [OpenIPC Russian, русская группа](https://t.me/joinchat/DJ_qFkdXU2CquZhdsVKlzg)\n- [OpenIPC Iranian, یم OpenIpc برای کاربران ایرانی](https://t.me/joinchat/EgJJ10_xsEGEL1pnV4kKig)\n\n## Chip families information\n\nHardware structuring ([courtesy of OpenHisiIpCam project](https://github.com/OpenHisiIpCam/br-hisicam/blob/master/README.md#chip-families-information)):\n\n| Chips                                              | shortcode   |\n| -------------------------------------------------- | ----------- |\n| [hi3516cv100, hi3518cv100, hi3518ev100, hi3518av100](https://drive.google.com/file/d/1XA5IqVb-mUvmYl_77TMnoNonvNgkq473/view) | hi3516cv100 |\n| [hi3516dv100, hi3516av100](https://drive.google.com/file/d/1hwCMnwQ_nKL-weH3onGZ1njogz0cPKsK/view) | hi3516av100 |\n| [hi3518ev200, hi3518ev201, hi3516cv200](https://drive.google.com/file/d/1nv-m7WFhhfAZ6xgynfZQh1ijtwmmf1UX/view) | hi3516cv200 |\n| [hi3519v101](https://drive.google.com/file/d/1DMpPAnUBnijmC9u08I_D4nYpSZC2f4jx/view), [hi3516av200](https://drive.google.com/file/d/1j_3e2PaDu_j5Jy9f7ptRMN5IOwQft6iI/view) | hi3519v100 |\n| [hi3516ev100, hi3516cv300](https://drive.google.com/file/d/1xZf-YiYSmB8sn9Lnj3obsR-x4AqDPa4D/view) | hi3516cv300 |\n| hi3516dv300, hi3516av300, hi3516cv500              | hi3516cv500 |\n| [hi3516ev200](https://drive.google.com/file/d/1zGBJ_SIazFqJ8d8bguURVVwIvF4ybFs1/view), hi3516dv200, hi3518ev300, [hi3516ev300](https://drive.google.com/file/d/1vjAQSrFoxioPq7OhL5taIyi2D0D_3WKc/view) | hi3516ev200 |\n| hi3519av100                                        | hi3519av100 |\n| hi3559av100                                        | hi3559av100 |\n| gk7205v200, gk7605v100, gk7202v300, gk7205v300     | gk7205v300(*) |\n| nt98562, nt98566                                   | nt9856x     |\n| ssc337, ssc335                                     | ssc335      |\n| xm510                                              | xm510       |\n| xm550, xm530                                       | xm530       |\n\n\nIf you know about newer versions of full datasheets or can share them for different\ncamera types don't hesitate to make a PR.\n\n(*) Successors of Hisilicon chips\n\n| Hisilicon   | Goke       |\n| ----------- | ---------- |\n| hi3516ev200 | gk7205v200 |\n| hi3516dv200 | gk7605v100 |\n| hi3516ev300 | gk7205v300 |\n| hi3518ev300 | gk7202v300 |\n\n## Performance and sensors\n\n| Chip        | CPU                      | Encoder                             | JPEG substream | Sensors                                        |\n|-------------|--------------------------|-------------------------------------|----------------|------------------------------------------------|\n| hi3516av100 | A7 600MHz                | 5MP@30fps, 1080p@60fps, 1080p@30fps | 5MP@8fps       | IMX178, IMX385, IMX290, IMX185, OV4689, AR0237 |\n| hi3516dv100 | A7 600MHz                | 5MP@15fps, 3MP@30fps, 1080p@30fps   | 5MP@8fps       | IMX178, IMX385, IMX290, IMX185, OV4689, AR0237 |\n| hi3519v101  | A17 1.25GHz + A7 800MHz  | 12MP@15fps, 8MP@30fps               | 8MP@30fps      | IMX226, IMX274                                 |\n| hi3516av200 | A17 1.25GHz + A7 800MHz  | 8MP@15fps, 6MP@30fps                | 8MP@30fps      | IMX274, OS08A10                                |\n| hi3516dv300 | A7 900MHz (NNIE 1.0Tops) | 5MP@20fps, 1080p@30fps              | 16MP@10fps     | IMX385, IMX327                                 |\n| hi3516cv500 | A7 900MHz (NNIE 0.5Tops) | 3MP@20fps, 1080p@30fps              | 16MP@10fps     | IMX327                                         |\n| hi3518ev200 | ARM926 540MHz            | 720p@30fps                          | 2MP@5fps       | AR0130, OV9732, OV9712, F02                    |\n| hi3516ev100 | ARM926 800MHz            | 1080p@20fps                         | 2MP@5fps       | IMX291, IMX323, SC3235                         |\n| hi3516cv300 | ARM926 800MHz            | 1080p@30fps                         | 2MP@5fps       | IMX291, IMX323, SC3235                         |\n| hi3516ev300 | A7 900MHz                | 4MP@15fps, 3MP@30fps                | 4MP@5fps       | IMX335                                         |\n| hi3516ev200 | A7 900MHz                | 3MP@20fps, 1080p@30fps              | 3MP@5fps       | SC3235, IMX307                                 |\n\n![](images/hisilicon_families.jpg/?raw=true)\n\n## Hardware\n\n- [Sensors information](sensors/README.md)\n\n### How to add new hardware support\n\n- [Your new ARM SoC Linux support check-list](https://elinux.org/images/a/ad/Arm-soc-checklist.pdf)\n- Sensor\n- Flash\n\n## SDKs\n\n### HiSilicon\n\n| Family      | Kernel  | U-Boot            | MPP    |\n| ----------- | ------- | ----------------- | ------ |\n| hi3516av100 | 3.4.35  |                   | v2     |\n| hi3516av200 | 3.18.20 |                   | v3     |\n| hi3516cv100 | 3.0.8   | 2010.06-svn       | v1     |\n| hi3516cv200 | 3.4.35  |                   | v2     |\n| hi3516cv300 | 3.18.20 | 2010.06-svn1098   | v3     |\n| hi3516cv500 | 4.9.37  |                   | v4     |\n| hi3516ev200 | 4.9.37  | 2016.11-g2fc5f58  | v4     |\n| hi3516ev300 | 4.9.37  |                   | v4     |\n| hi3519av100 | 4.9.37  |                   | v4     |\n| hi3559av100 | 4.9.37  |                   | v4     |\n\nHiSilicon SDK naming principles:\n\n`Hi35xxVxxxRxxxCxxSPCxxy`\n\nEach field is explained as follows:\n\n* `Hi35xx`, segment contains chip type\n* `Vxxx` segment contains the type of chip version\n* `Rxxx` segment contains the release package type:\n  - `R001`: Linux SDK\n  - `R002`: Huawei LiteOS SDK\n  - `R003`: Linux RDK reference design\n  - other R bit is not used\n* `Cxx` segment contains compiler specific environment\n  - `C00`: FPGA-based\n  - `C01`: type A compiler (e.g. `uclibc` based sysroot)\n  - `C02`: type B compiler (e.g. `glibc` based sysroot)\n  - `C03` and `C04` are reserved\n  - `C05`: Huawei LiteOS\n  - `C09`: based on Demo version\n* `SPCxxy` segment shows current version\n  - `xx` for each next release will be incremented by 1 (releases with fixed errors, additional features, etc)\n  - `xx0` indicates normal version, for temporary versions last character could be incremented by 1 in range from `1-9` and `A-z`.\n\n### XiongmaiTech\n\n| Platform | Version    | Update time | Download link |\n| -------- | ---------- | ----------- | ------------- |\n| Windows  | V4.0.8.80\t| 2020-02-27  | [link](https://obs-xm-pub.obs.cn-south-1.myhuaweicloud.com/openPlat/20200227/NetSDK_20200227.zip) |\n| Mac      |            | 2018-12-17  | [link](https://obs-xm-pub.obs.cn-south-1.myhuaweicloud.com/openPlat/20191221/MAC(20181217).zip) |\n| Linux    | V1.0.2.0\t| 2020-01-10  | [link](https://obs-xm-pub.obs.cn-south-1.myhuaweicloud.com/openPlat/20200110/XNetSDK_20200110.zip) |\n\nLatest versions were taken from [official site](https://oppf.xmcsrv.com/#/download?md=netSDK)\n\n* [NetSDK client example](https://github.com/dimerr/xmconfigtool)\n\n## Sophisticated usage\n\n[YouTube streaming](streaming/youtube.md)\n\n## Development\n\n### Low level programming\n\n* [ARM9EJ-S Technical Reference Manual](http://infocenter.arm.com/help/topic/com.arm.doc.ddi0222b/DDI0222.pdf)\n* [PrimeCell UART (PL011) Technical Reference Manual](http://infocenter.arm.com/help/topic/com.arm.doc.ddi0183f/DDI0183.pdf)\n\n### Cross-compilation\n\n- [Known toolchains](toolchains.md)\n- [Instructions for cross-compilation for different common software](crosscompile/index.md)\n\n### Development using SDK\n\n- [Building custom kernel](kernel/build.md)\n- [Building Busybox](busybox/build.md)\n- [Hacking camera using NFS](hacking/nfs.md)\n\n### Debugging\n\n- Debugging on board using gdbserver\n- [Ltrace debug](debug/ltrace.md)\n\n### Development tricks\n\n- [Running ARM binaries using QEMU on dev host](qemu/userspace.md)\n- [Changing files on readonly volumes](tricks/romounts.md)\n\n### RE\n\n- [Reverse binary Linux kernel](reverse/kernel.md)\n- [Reverse HiTool](reverse/hitool.md)\n- [Reverse Sofia](reverse/sofia.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenipc%2Fcamerasrnd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenipc%2Fcamerasrnd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenipc%2Fcamerasrnd/lists"}