Integration: $15 NVR - themactep/thingino-firmware GitHub Wiki

$15 NVR

Hardware

  • SoC: Ingenic A1
  • Connection: Ethernet RJ45
  • Output: HDMI and VGA
  • 2 USB ports
  • 3.5mm audio jack
  • Power: 12V barel jack, center positive

image image

Using the factory firmware...

Pair the NVR with a 2.5" SSD, add a 12V 2A power source, a mouse, and you have a fully working unit capable of handling up to 16 IP cameras.

image

Connecting Camera over ONVIF

image

Settings

  • Protocol: ONVIF
  • Onvif version: auto
  • Address:
  • Port: 80
  • Device information:
  • Network type: UDP or TCP
  • User name: thingino
  • Password: thingino (or what you have changed it to)

Playback

$15 NVR can play up to four channels simultaneously on the same screen.

image

Where to buy

Retail NVR

image

https://www.aliexpress.com/item/1005006224516280.html

Bare module

image

Resources

Firmware analysis

User Manual

3D-Printed Shell

image

newer board/port layout: https://www.printables.com/model/1148794-ingenic-a1-nvr-case-new-board-layout

image

legacy board/port layout: https://www.printables.com/model/1094266-ingenic-a1-nvr-case

Lightnvr installation

---Note: lightnvr does not work well on this device, if you chose to do this make sure to back up the factory firmware. Thingino does run well however and allows you to use this device as a dependable GO2RTC restreamer if you chose to go this route (no harddrive required).

A fairly straightforward way to flash thingino/lightnvr is to use the builtin tftpdownload feature of the bootloader.

The first step is to prepare the tftp server on another machine, download the thingino image (thingino-smart_nvr_a1n_eth.bin) from the GitHub repository https://github.com/themactep/thingino-firmware/releases and place it in the tftp server directory (for example /private/tftpboot on a Mac). You can rename it to something shorter for convenience, for example autoupdate-full.bin.

Once the tftp server is ready the next step is to establish a serial connection through the J3 header located between the DC power jack and the SATA power connector. The pinout starting from left (SATA power) to right (DC power in) is VCC (3.3V), TX, RX, GND. The VCC connection can be omitted and the serial adapter must be 3.3V. The parameters for the serial connection are 115200 8N1.

Once the connection is established power the board and using CTRL-C interrupt the bootloader which will drop you to a isvp_a1# prompt. To prepare the bootloader to receive the image and then download it from your server these are the commands, mind that serverip and the other network parameters have to match your tftp server prepared earlier and network.

If you want to preserve the stock firmware you have to make a backup before this procedure.

watchdog 0
setenv ipaddr 192.168.1.10
setenv netmask 255.255.255.0
setenv gatewayip 192.168.1.1
setenv serverip 192.168.1.254
tftpdownload autoupdate-full.bin
reset

The second to last command will automatically download the image from your tftp server and then proceed to first erase the flash and then write the new firmware. With the reset command the board will reboot now with thingino. You must have a fat32 harddrive installed for the nvr to work.

Swapping ports

*this doesn't work on newer builds

If you prefer lighnvr to be the main webui as this is an NVR and not a camera you can easily swap ports with thingino.

To put thingino on port 8080 edit /etc/init.d/S50httpd and change:

if [ -f "$PORTAL_MODE_FLAG" ]; then
	DAEMON_ARGS="-f -c $PORTAL_CONF"
else
	DAEMON_ARGS="-f -c $HTTPD_CONF -r Authentication"
fi

to

if [ -f "$PORTAL_MODE_FLAG" ]; then
	DAEMON_ARGS="-p 8080 -f -c $PORTAL_CONF"
else
	DAEMON_ARGS="-p 8080 -f -c $HTTPD_CONF -r Authentication"
fi

Note how we have now told the http daemon to use port (-p) 8080.

To put lightnvr on port 80 edit /etc/lightnvr/lightnvr.ini and under [web] change port = 8080 to port = 80.

Reboot and now the two webui should've swapped places.

⚠️ **GitHub.com Fallback** ⚠️