Posted on Leave a comment

Underwater Video w/ MewPro and Laser Pointer

No Wi-Fi available in underwater. Waterproof cable remote releases are very difficult to make. But here is a solution: Laser pointer and light sensor!


Videographing Materials
In order to take the demo video below we used the following:

  1. GoPro Hero 3+ Black
  2. MewPro w/ Arduino Pro Mini
  3. Microsemi Wide Range Visible Light Sensor LX1971 (cf. PDF manual)
  4. 532nm (green) laser pointer

(Schematic to connect LX1971 with Arduino)

Note: We used a green laser because red is more prone to attenuate in underwater. More specifically we enclosed el cheapo green laser module (marked “TIM-311G-1A” possibly made in Taiwan?) in DIY housing or second-hand unused underwater torch casing, and went scuba diving.


Demo
The following video is taken by Osamu Morishita, Urashiman D.S. Ogasawara by using the above-mentioned system. As you may know these rays are very sensitive to diver’s bubbles thus without help of MewPro and laser it is nearly impossible to shoot from the angle in the demo.


⇧ “Kannuki Rock”, Is. Minami, Ogasawara, Japan. School of bigeye jacks and flight of cownose rays.

M_20141116-017
⇧ Using MewPro laser remote w/ GoPro (photo by Urashiman D.S. Ogasawara)

IMG_6008
⇧ Prototype version of MewPro board w/ visible light sensor LX1971 and Arduino Pro Mini.

Posted on Leave a comment

Using Video Motion Detect Board

MewPro Video Motion Detect board is ready for purchase. This automatically does start/stop recording on GoPro Hero 3+ Black. And here is two demos and a How-To.


Demo Videos

In order to experiment with video motion detect, preparation of the following items should be enough:

Requirements

1. GoPro Hero 3+ Black
Older GoPro’s doesn’t work with MewPro. (GoPro Hero 4 Black must be OK, but we don’t promise this.)
2. MewPro board
SMD parts and Herobus connector are soldered.
Note: Don’t solder an Arduino Pro Mini to your MewPro board as its micro processor has not enough memory and is too slow to deal with video signal.
3. Teensy 3.x or GR-KURUMI
Our shop doesn’t sell these micro processor boards. Please purchase one of these items at somewhere.
4. MewPro VMD (Video Motion Detector) board
Necessary SMD parts are soldered.



Three boards 2-4 (MewPro, Teensy 3.x or GR-KURUMI, and VMD) are soldered to form a BacPac™.
teensyVMD-top
⇧ Teensy 3.1 w/ MewPro and VMD

And the BacPac™ is attached to the Herobus receptacle.
VMD-housing

Using the BacPac™ is fairly simple: Place GoPro and push the power button on. After 5 seconds (or pre-configured period of time) the motion detect algorithm starts; the BacPac™ keeps a watch on the composite video signal on Herobus™. If it finds a movement then it commands GoPro to start recording video, and if no more changes then it orders the camera to stop and waits for another motion.

We made two demo video using MewPro (The Video Motion Detector BacPac™ appeared in the following makings of corresponding demo is the final prototype of the production version):

Video 1:

⇧ Auto captured video by a movement of kitty. No trim, No edit.


⇧ Making of Video 1 (captured manually by a human using iPhone 5c)

Video 2:

⇧ Video 2: Auto captured video by a movement of kitty. No trim, No edit.


⇧ Making of Video 2 (captured manually by a human using iPhone 5c)


How To Use MewPro Video Motion Detector Board

The following are the photos of MewPro VMD board w/ SMD parts soldered:

text-VMD-board
⇧ Top view

text-VMD-bottom
⇧ Bottom view

Three SMD parts (U1, R4, R5) need not to be mounted if the companion board is Teensy 3.x. Also if the companion board is GR-KURUMI then solder jumpers on SJ3 and SJ4 are necessary. Schematics of the board is here. Through holes look like 600mil 28pin DIP are for Teensy 3.x and the ones 600mil 24pin DIP are for GR-KURUMI and MewPro board.

We designed the VMD board so that Teensy is mounted on the bottom (i.e., front side of GoPro) and GR-KURUMI on the top (i.e., back side of GoPro). Please investigate the following photos carefully and solder the three boards in correct directions.

c-teensyVMD-back
⇧ Teensy 3.x: View from GoPro back

c-teensyVMD-top
⇧ Teensy 3.x: View from GoPro front

c-kurumiVMD-back
⇧ GR-KURUMI: View from GoPro back

Note: Please don’t forget to solder two pairs of two pins and 2×5 pins red-circled in the above photos.

After soldering VMD board with Teensy or GR-KURUMI, and MewPro, connect it to PC and burn the MewPro application (To do so please refer the general instruction using MewPro).

In order to use VMD, it will suffice that the source code of MewPro application is modified at the following lines in MewPro.ino:

//********************************************************
// j_VideoMotionDetect: Video Motion Detector
// Video motion detect consumes almost all the dynamic memory. So if you want to use this then #undef all options above.
#undef USE_VIDEOMOTION
// The part of code utilizes the following library except GR-KURUMI. Please download and install:
// https://github.com/orangkucing/analogComp
//#include "analogComp.h" // *** please comment out this line if USE_VIDEOMOTION is not defined or GR-KURUMI ***

And change the lines like this:

//********************************************************
// j_VideoMotionDetect: Video Motion Detector
// Video motion detect consumes almost all the dynamic memory. So if you want to use this then #undef all options above.
#define USE_VIDEOMOTION
// The part of code utilizes the following library except GR-KURUMI. Please download and install:
// https://github.com/orangkucing/analogComp
#include "analogComp.h" // *** please comment out this line if USE_VIDEOMOTION is not defined or GR-KURUMI ***

(If you are to use GR-KURUMI, keep the last line above untouched.)

Note. There are two threshold parameters of sensitivity in j_VideoMotionDetect.ino as well as some code fragments for debug. Please refer the comments written in the file.

Posted on Leave a comment

PCB for Video Motion Detector Arrived

A MewPro add-on board “Video Motion Detector Board” will be ready soon; the PCBs have arrived to our lab.

We are now checking the functionalities of the board. So please wait two or three days more…

teensyVMD-top
⇧ Video Motion Detector w/ Teensy 3.1, back view

teensyVMD-back
⇧ w/ Teensy 3.1, front view (Reset button can be pushed through the hole, LED is visible)

kurumiVMD-back
⇧ w/ GR-KURUMI

Posted on Leave a comment

Teensy 3.x w/ MewPro and Motion Detection

More detailed articles will be published soon in this blog. Since there was a request for information about GoPro motion detection, I’m writing this very quickly.


Materials
The following hardwares and softwares I used.

  1. GoPro Hero 3+ Black
  2. MewPro board + MewPro application
  3. Teensy 3.1
  4. EL1883 sync separator
  5. Schematic to connect Teensy 3.1 and EL1883 w/ MewPro

IMG_5976
⇧ Motion Detect BacPac Side A: EL1883 (center left), Teensy 3.1 (bottom), and GoPro Herobus connector (top)

IMG_5975
⇧ Motion Detect BacPac Side B: MewPro board (trial product version) and Teensy 3.1

IMG_5977
⇧ Motion Detect BacPac fits into GoPro housing


Motion Detection
Basic ideas came from nootropic design Video Experimenter shield. They used LM1881 and the analog comparator of Atmel processor. I did almost the same thing using GoPro, EL1883 and the analog comparator of Teensy 3.1 (The most difficult part was to control GoPro from Herobus). Composite video signal is captured as binary frames (i.e., intensity is compared at the analog comparator in Teensy, if it is greater than the fixed threshold record 1, otherwise 0). In this way bit rate attained is 1 pixel/microsecond.

The following is a video capture of Serial Monitor connected to Teensy, showing debugging info: Powering on GoPro (by using MewPro ‘@’ command), initializing GoPro to output composite video (by using I2C command “VO”), and captured image output for debugging purposes. Actual capture is done every time the comparator interrupt (on both rising and falling edges) occurs; in the interrupt handler, the comparator output at that moment is also considered and if the comparator output is 1 then we record two bits of “01” (rising edge) otherwise “10” (falling edge); in the debug output even and odd frames are added (that’s why we sometimes notice the digit “2” while watching the following video).

Current motion detection algorithm implemented in MewPro application is very simple: Compare the pixels of adjacent frames; if the difference is large then something has moved.


Product PCB will be available within next week, and you will be able to buy it. Some more video demos are coming, too. So stay tuned.