A crappy way to control my APEMAN/Novatek WiFi-enabled action cam
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
README.md Add a simple time-lapse webcam script Mar 27, 2018
novatek.py Add a simple time-lapse webcam script Mar 27, 2018
status.py Add a model check to das blinkenlights Mar 28, 2018
timelapse.py Capture at multiple exposures Apr 5, 2018
timelapse.service Add systemd service Mar 28, 2018


Novatek API for Python

I bought one of these APEMAN 4K action cameras, a cheap GoPro knockoff.


As far as I can tell, the APEMAN is using a digital camera SoC from Novatek; I don't know who wrote the software onboard.

The camera can be set to broadcast a Wi-Fi network, which allows you to use an app like CamKing to control it remotely. The app allows you to start and stop recording, take photos, and change some configuration settings.

The app communicates to an HTTP endpoint at, which also provides a user interface for uploading and downloading files from the SD card. There is also a streaming video feed available at

This repo contains novatek.py, a very crummy wrapper around the HTTP API to allow you to do things like change configuration settings and list files. The behavior was reverse engineered from the iOS and Android versions of CamKing.

There should be other functions that I have not exposed yet. Most of the methods do not return useful values, or do any error checking at all.

A much nicer project that works with a very similar camera is over at Steven Hiscock's yidashcam.