Timer Camera X



  • The support for this camera is terrible. UIFlow introduces "Media Trans" without any explanation as to what this is - not even a link. The block commands supplied with UIFlow are not that helpful either and I can not get any programs to work. The Arduino example for Web_Cam fails to compile: Error compiling for board ESP32 Wrover Module" even through the Arduino IDE is configured for "ESP32 Wrover Module". The only software that works is Easyloader but what a disappointment this camera is because of the lack of software support, no examples for a working UIFlow and no tutorials. Please fix this. As usual M5Stack are inconsistent in naming modules and in M5Burner they call it "TimerCAM" but in it is called "Timer Camera X" and in UIFlow it is "Media Trans > Timer Camera" - please be more consistent in naming conventions. Quality Control for software at M5Stack should be improved.



  • thank feedback. we will add more tutorials.

    for the Media Trans function you could refer to the document page:
    https://docs.m5stack.com/#/en/quick_start/timer_cam/quick_start_uiflow

    about the Arduino IDE compile error. because you select the wrong board.

    you could use our board manager address:
    https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json

    then install the M5Stack board. then you could find the Timer-CAM board in the board option list.

    tutorial:

    https://docs.m5stack.com/#/en/quick_start/timer_cam/quick_start_arduino



  • @m5stack Thanks for your help - it now works.



  • How do you get the camera to turn off? I flashed it using the cameratools software and it doesn't seem to be responding to a long push of the button. What am i missing?
    thanks



  • @ksprayberry

    TimerCAM X provides two buttons. outside has a button only could wakeup or turn on the device. inside has one button for reset esp32 and turns off the device.
    or you could through API to turn off the device.

    bat_disable_output();
    

    0_1604892617999_c026d67d-48f6-4463-80a8-c1433946f897-image.png



  • is there any guide on how to flash and run micropython with this camera ?

    I can't find anything on the internet, not a single guide. The only one I found is for a different version of m5 camera (OV2640) that won't work.

    I believe that the products m5 creates are awesome, but without NEWBIE guides, it loses the shine. I have lots of atom, cameras, sensors and there is almost NOTHING on how to work with (a step-by-step guide, covering all bases).

    It seems that you already need to have experience with arduino and other things to really have fun with this, otherwise, just buying head acke.



  • @dogasantos Currently there is no support for Micropython due to compatibility issues, you can use either Arduino IDE or ESP-IDF or the firmware that is provided, we hope to add support in the near future for this.



  • @zontex thanks!
    Then this camera will sit on a corner until it gets micropython support.
    Thanks



  • Can you advise how I can get the required Token as I have been trying for 2 days and still getting a failed error?

    Thanks

    Ian



  • https://github.com/mumris/M5Stack-Timer-Camera-X

    New features added M5 Timer Camera X (ESP32, sensor OV3660). Compile the sources files with Arduino IDE (https://www.arduino.cc/). For serial port programming, I recommend free software Termite.exe (https://termite.software.informer.com/3.2/)

    1. WIFI name and password is set or modified through Serial port connection during M5 Timer Camera X first run time (30 seconds timeout). They becomes default (saved in Nonvolatile memory).
    2. Added simple security feature. Web password must be set during first run time (30 seconds timeout). It is saved in Nonvolatile memory. Then on LAN (Ethernet) Timer Camera X page can be accessed http://192.168.x.x:80/password
    3. Added feature for web access through Internet connection. Two ports (80, 81) must be forwarded in setup of local router. For an example, web access default port 80 to 5001, and live video streaming local port 81 to port 5002.
      You can choose any not used port, just live streaming port number must be incremented by 1. From internet it is accessed using http string, as http://x.x.x.x:5000/password, or using free DDNS service (for an example: www.duckdns.org) http://youraccountname.duckdns.org:5000/password,
      Where “password” is your string, which you entered during first run of M5 Timer Camera X.
    4. Added watchdog feature which restarts ESP32 if free RTOS for some reasons halts. For stability reasons. The camera X restarts at every 14 hours if nobody streams live video.
    5. Memory is initiated to Max video frame size at start up. It gives dynamic memory allocation stability.
    6. Face recognition is disabled for smallest frame size, as it “hangs” camera.
    7. On Camera WEB site added favicon, spinning windmill vertical axes rotor Tulip icon (just for a fun), RSSI (WIFI signal strength), frame rate and battery status indicators.
    8. Web HTML page is no more G-zipped as it is automatically modified when Web password is set.
    9. Most companies have policy to filter all traffic coming to Internet. For this task, they target Google Chrome, Internet explorer, Mixrosoft Eadge or Firefox streams through their proxy servers. To avoid your home camera live video stream blocking I recommend Epic Privacy Browser (https://www.epicbrowser.com/).


  • @ianlyonthomas Were you able to solve this? I have been stuck with this error for the past one week now.

    I also tried running the Arduino example. The image is burnt successfully but when I try to connect to the given http URI, it's not accessible.

    UPDATE: Looks like it was a VPN issue. However, the image quality is very blurry but I saw on YouTube videos that the image quality is good. Any idea if I can fine tune it somewhere?



  • I have the m5 timer camera which is I believe the same board that is within the timer camera x housing.

    I have a micropython(at commit: 517e82eb6b7d93134637b5658132479f4fc260e3) build for it here: https://github.com/mocleiri/tensorflow-micropython-examples/actions/runs/1767505151

    Scroll down and download the microlite-spiram-cam-esp32-firmware.zip file.

    Then flash using esptool; At least with mine you have to flash at 115200 or it won't work.

    esptool.py -p COM5 -b 115200 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 bootloader/bootloader.bin 0x8000 partition_table/partition-table.bin 0x10000 micropython.bin

    This firmware gives you a 2 MB heap and leaves 2MB for use by the esp32-camera driver.

    The purpose of this firmware was to use the camera for the tensorflow lite for microcontrollers person detection example and we only capture a 96x96 image.

    But still it could be useful if you want a micropython firmware that works with the ov3660 camera and to experiment with.

    The main issue in getting this to work was to ensure the idf sdk config flag CONFIG_SPIRAM_USE_MALLOC was enabled.

    And then a change into micropython to cause the heap allocated to micropython to be 1/2 of the available SPIRAM.

    Both are only details if you make your own custom firmware.

    You should be able to pick up the firmware from the above action or if that is expired there will be a more recent one to use.