wiki/en/device-IPC-RM1-BLK7202V3-M4...

5.0 KiB

IPC-RM1-BLK7202V3-M43A-WIFI

Overview

Board found in cheap indoor Cootli WiFi PTZ cam. Board looks very similar to XM IPG-G4-WR-BL but PCB layout a bit different.

All tests are complete on gk7202v300_lite_cootli_camv0103-nor firmware (build Feb 8 2024).

Device info

System Description Comments
SoC GK7202V300
Flash XMC XM25QH64CHIQ 8MB
Sensor SmartSens SC223A* 1920x1080
Audio MIC + SPK
Storage Micro SD
LAN - -
WiFi iComm SV6355 UF.L (IPX)
BT +? +?
Motors 2x Stepper GPIO + ULN2803A
Dimensions 38 x 54 mm

* - reported by ipctool

Front side Front side

Back side Back side

PCB markings PCB markings

Connectors

Connectors type JST 1.25mm JST Connector

Front side

Connector Type
IRCUT 2pin JST
LED 5pin JST
MIC 2pin JST

Back side

  • Micro SD Card Socket
  • UART (unsoldered, to the left of SPK, pin1 RX, pin2 TX)
Connector Type
SPK 2pin JST
H 5pin JST
V 5pin JST
+5V 2pin JST
RF UF.L (IPX)

GPIOs

GPIO Connector Description
0* - Reset button
4 LED pin 5 WLED
8 WiFi module pin 3 LO - Power ON
12 H pin 5 Mot H
13 H pin 2 Mot H
14 H pin 4 Mot H
15 H pin 3 Mot H
16 LED pin 4 IRLED
52 V pin 2 Mot V
53 V pin 3 Mot V
54 V pin 4 Mot V
55 V pin 5 Mot V
56 IRCUT pin 1 LO - IRCUT ON
57* LED pin 3 IRSens
58 IRCUT pin 2 LO - IRCUT OFF
70 - SD PWR (LO - Power ON)
51 - AUDIO AMP

* - unconfirmed.

Muxing

No muxing required if Majestic takes control over pins. Otherwise, muxing can be done using the following commands.

Muxing GPIO16 for taking control over IRLED pin:

devmem 0x120c0020 32 0x432      # GPIO2_0 (GPIO16)

Also for motors.
Muxing GPIO12, GPIO14, GPIO15 (motors H connector):

devmem 0x120c0010 32 0x1e02     # GPIO1_4 (GPIO12)
devmem 0x120c0018 32 0x1d02     # GPIO1_6 (GPIO14)
devmem 0x120c001c 32 0x1402     # GPIO1_7 (GPIO15)

Shortly after Loading of kernel modules... GPIO13 turns to HI (one of motors winding constantly powered), so maybe necesary turn it to LO:

gpio clear 13
gpio unexport 13

SD Card

By default SD Card unpowered, so we need turn GPIO70 to LO somehow.

To poweron SD CARD from Kernel:

gpio clear 70

or

devmem 0x120B8400 32 0x40       # turn GPIO8_6 to output mode
devmem 0x120B8100 32 0x00       # set GPIO8_6 to LO

And reattach SD card.

To poweron SD CARD from U-Boot:

mw 0x120B8400 0x40      # turn GPIO8_6 to output mode
mw 0x120B8100 0x00      # set GPIO8_6 to LO
mmc rescan

Speaker

Device supports playing PCM signed 16-bit little-endian, 8000 Hz, 1CH by sending data to http://192.168.0.10/play_audio endpoint.

Audio file can be encoded like this:

ffmpeg -i input.wav -f s16le -ar 8000 -ac 1 output.pcm

And send to camera's speaker:

curl -v -u user:pass -H "Content-Type: application/json" -X POST --data-binary @audio.pcm http://192.168.0.10/play_audio

Flashing

Stock firmware is pwd locked and LAN interface does not present, so I'm guessing following methods are available to flash this board:

  • burn + u-boot-gk7202v300-universal.bin and then upload FW via X/Y/ZMODEM (e.g. loady. Tip: use baud option for speed up) or from SD card (power supply required, see above)
  • load full image thru stock web interface (untested)
  • flash programmer
  • somehow get into stock bootloader

Flash memory layout

Offset Size Description
0x00000000 0x00040000 (262144 bytes) bootloader
0x00040000 0x00010000 (65536 bytes) env
0x00050000 0x00200000 (2097152 bytes) kernel
0x00250000 0x00500000 (5242880 bytes) rootfs
0x00750000 0x000B0000 (720896 bytes) rootfs_data

Summary

  • WiFi works
  • Video tested/streamed
  • Day/night works (IRCUT and IRLED)
  • MIC works
  • Speaker works
  • PTZ/Motors (GPIO pins found/accessible, driver untested)

TODO

  • somehow patch/adapt camhi-motor.ko, so make it works on this board.