<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.olliw.eu/storm32bgc-v2-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Seb</id>
	<title>STorM32-BGC Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.olliw.eu/storm32bgc-v2-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Seb"/>
	<link rel="alternate" type="text/html" href="http://www.olliw.eu/storm32bgc-v2-wiki/Special:Contributions/Seb"/>
	<updated>2026-04-28T22:29:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=Pins_and_Connectors_of_NT_Modules&amp;diff=9956</id>
		<title>Pins and Connectors of NT Modules</title>
		<link rel="alternate" type="text/html" href="http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=Pins_and_Connectors_of_NT_Modules&amp;diff=9956"/>
		<updated>2021-04-22T20:12:53Z</updated>

		<summary type="html">&lt;p&gt;Seb: /* NT v2.x Modules */ make clear what UART1 is&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A potentially confusing variety of NT modules are around. Generally they can be distinguished into what could be called &amp;quot;generic OlliW&amp;quot; modules, into modules by third parties which either are derived from the &amp;quot;OlliW&amp;quot; modules or are independent designs, and onto modules which are build by using hardware from other projects.&lt;br /&gt;
&lt;br /&gt;
For the &amp;quot;generic OlliW&amp;quot; modules the version number serves two purposes: First, it distinguishes the version of the particular design. For instance, a v2.5 motor module is a later design than a v2.4 motor module. It either may have just minor corrections and improvements as compared to the v2.4 module, but also might be a totally different design. Second, the major version number distinguishes the electric scheme and therefore which firmware has to be run on them. For instance, a v2.4 and v2.5 motor module are different designs but are based on the same electric scheme and thus need to be loaded with the same firmware. In contrast, the v1.x, v2.x, and v3.x IMU modules are different in design but also different electric schemes and hence need each to be flashed with a different firmware. The &amp;quot;x&amp;quot; in the version number is generally used as a placeholder for any subversion number. &lt;br /&gt;
&lt;br /&gt;
== Micro NT v2.x Modules ==&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-micro-motor-v25E.jpg|640px]]&lt;br /&gt;
&lt;br /&gt;
== NT v2.x Modules ==&lt;br /&gt;
&lt;br /&gt;
The NT v2.x modules can have a 4 pin [http://www.jst-mfg.com/product/detail_e.php?series=231 JST-SH] plug for the NT bus connector, and a 6-pin [http://www.jst-mfg.com/product/detail_e.php?series=231 JST-SH] header for the NT-X bus, with the pin assignments as shown below. The connections might also be exposed as solder pads. The modules in addition usually offer a BOOT0 solder jumper, the bootloader listens on the NT bus pins (UART1). Some modules expose the SWD pins, to allow for a first-time flashing, some offer some further solder jumper for configuring them, and some may provide access to additional extension pins. &lt;br /&gt;
:[[File:Storm32-nt-imu-v21-docu.jpg|420px]]&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-motor-v251E.jpg|540px]] &amp;amp;nbsp;&amp;amp;nbsp; [[File:Tstorm32-motor-v24e-docu.jpg|460px]]&lt;br /&gt;
&lt;br /&gt;
== NT v1.x Modules ==&lt;br /&gt;
&lt;br /&gt;
The NT v1.x modules have a 4 pin [http://www.jst-mfg.com/product/detail_e.php?series=231 JST-SH] plug for the NT bus connector, with the pin assignments as shown below. They in addition offer a BOOT0 solder jumper, to allow for a first-time flashing. Some modules offer some further solder jumper for configuring them, some others expose also the SWD pins, and yet some others may provide access to additional extension pins.&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-v10-docu-02.jpg|360px]] &amp;amp;nbsp;&amp;amp;nbsp; [[File:Storm32-nt-logger-v1x-docu.jpg|340px]]&lt;br /&gt;
&lt;br /&gt;
== CC3D Atom NT Imu Module ==&lt;br /&gt;
&lt;br /&gt;
On the CC3D Atom boards the Main Port plug is used as NT bus connector, with the pin assignments as shown below. Further information on the CC3D Atom can be found [http://opwiki.readthedocs.io/en/latest/user_manual/cc3d/cc3d.html here].&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|To close the IMU ID selector, connect the indicated pin to GND.}}&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-cc3datom-docu-03.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== ENSYS NT Imu Module ==&lt;br /&gt;
&lt;br /&gt;
These modules are available from Ensys. For further information and the vendor&#039;s page please see [[Ensys NT Modules]].&lt;br /&gt;
&lt;br /&gt;
[[File:Walmi0-nt-imu-module-s-l1600-02.jpg|320px]] [[File:Walmi0-nt-imu-module-s-l1600-03.jpg|240px]]&lt;br /&gt;
&lt;br /&gt;
== midimon&#039;s NT Imu Module ==&lt;br /&gt;
&lt;br /&gt;
These modules are derived from the Mini NT IMU v1.x with MPU9250. For further information please see [[Overview_of_NT_Modules#midimon.27s_NT_IMU_Module|midimon&#039;s NT IMU Module]].&lt;br /&gt;
&lt;br /&gt;
[[File:DescR1.png|360px]]  [[File:DescR2.png|360px]]&lt;/div&gt;</summary>
		<author><name>Seb</name></author>
	</entry>
	<entry>
		<id>http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=Ports_and_Pins_by_Function&amp;diff=9951</id>
		<title>Ports and Pins by Function</title>
		<link rel="alternate" type="text/html" href="http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=Ports_and_Pins_by_Function&amp;diff=9951"/>
		<updated>2021-04-22T02:38:33Z</updated>

		<summary type="html">&lt;p&gt;Seb: /* RC */ - link to UARTX as I found it hard to find, as it was not on the page where I expected it to be documented&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page gives an overview and description of the many connections on the STorM32 main boards. For the details of their function and usage please consult the other wiki pages.&lt;br /&gt;
&lt;br /&gt;
The info on this page refers to the v3.x and v1.3 STorM32 boards. The pins of the v1.31 board are identical to that of the v1.3 board. The location of the ports are described in [[Pins and Connectors]].&lt;br /&gt;
&lt;br /&gt;
Except of the ports POT, BUT and ESP/UART2, all ports are 5 V tolerant, which means that you can apply signals with voltages of up to 5 V to their pins without damaging the board. The ports POT, BUT and ESP/UART2 are however not 5 V tolerant. &#039;&#039;&#039;&#039;&#039;{{WARNING|The voltage on the POT, BUT and EPS/UART2 pins must not exceed 3.3 V}}&#039;&#039;&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
The 3.3 V pins must only be used as supply. &#039;&#039;&#039;&#039;&#039;{{WARNING|Never apply any voltage to a 3.3 V pin}}&#039;&#039;&#039;&#039;&#039; (unless you&#039;re an expert and know what you do).&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The pin assignments below refer to the pin assignments on the STorM32 main boards; for NT modules they can be different, such as for the NT and NT-X bus ports.}}&lt;br /&gt;
&lt;br /&gt;
== MOT0, MOT1, MOT2 ==&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; These ports are the connectors for the motors (MOT0 = Pitch, MOT1 = Roll, MOT2 = Yaw by default).&lt;br /&gt;
&lt;br /&gt;
== NT Bus Port ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, Rx, Tx, 5V &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; Connector for the NT bus, where all NT modules go to. The Rx and Tx lines are 3.3 V only. The power line which is sourcing the NT modules is nominally 5 V.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The sequence of the Rx, Tx pins is swapped as compared to the NT bus port on the NT modules!}}&lt;br /&gt;
&lt;br /&gt;
== NT-X Bus Port ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, Rx, Tx, 5V, Gnd, BAT, BAT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; Connector for the NT bus, where all NT modules go to, inclusive a pass through for the battery voltage. The Rx and Tx lines are 3.3 V only. The power line which is sourcing the NT modules is nominally 5 V. The battery lines source the NT motor modules.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The sequence of the Rx, Tx pins is swapped as compared to the NT bus port on the NT modules!}}&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The NT-X port is often populated with a 6-pin connector instead of a 7-pin connector. If so, then the 2nd BAT pin is not present.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;{{WARNING|&#039;&#039;&#039;WARNING:&#039;&#039;&#039; Be very careful with that port, the BAT pins carry the battery voltage and any contact to any of the other pins will immediately destroy the STorM32 board.}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== I2C (NT Bus Port) ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, Tx, Rx, 3.3V&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; Connector for the NT bus, where all NT modules go to.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|In I2C-based setups, the pins of this port are assigned to the I2C lines Gnd, SCL, SDA, and 3.3V. Hence the name &amp;quot;I2C&amp;quot; of this port.}}&lt;br /&gt;
&lt;br /&gt;
== I2C#2 ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, SCL, SDA, 3.3V&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; Connector for an external I2C-based 2nd MPU module, if this is to be used instead of the on-board MPU.&lt;br /&gt;
&lt;br /&gt;
== RC ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, RC-0, RC-1, RC-2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; The pins on this port can serve multiple functions, depending on parameter settings. &lt;br /&gt;
&lt;br /&gt;
Their default function is to provide inputs for RC PWM signals. Typically RC receivers are connected to here. The input pulse lengths of 1 ms to 2 ms are converted to the value range -500 ... 500. The frequency of the input pulses can vary, and can be as high as 430 Hz.&lt;br /&gt;
&lt;br /&gt;
Pin RC-0 can alternatively be configured as input to read the signal line from a Spektrum satellite, or the Futaba S-bus, and other serial protocols (UARTX-Rx), see here: [[NT_Camera#UartX_Configuration|UARTX]]&lt;br /&gt;
&lt;br /&gt;
Pin RC-1 can alternatively be configured as output to generate PWM servo signals or serial output (UARTX-Tx)&lt;br /&gt;
&lt;br /&gt;
Pin RC-2 can alternatively  be configured as input for sum PPM signals.&lt;br /&gt;
&lt;br /&gt;
== RC2 ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, RC2-0, RC2-1, RC2-2, RC2-3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; Inputs for RC PWM signals. Typically RC receivers are connected to here. The input pulse lengths of 1 ms to 2 ms are converted to the value range -500 ... 500. The frequency of the input pulses can vary, and can be as high as 430 Hz.&lt;br /&gt;
&lt;br /&gt;
== POT ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, POT-0, POT-1, POT-2, 3.3V&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; These three pins are connected to the analog digital converter (ADC) of the microprocessor and hence can digest analog signals. The analog signal is converted to the value range -500...500. Typically the central pins of potentiometers of e.g. a joystick are connected to here; the hot and cold potentiometer pins go then to the Gnd and 3.3V pins.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;{{WARNING|&#039;&#039;&#039;WARNING:&#039;&#039;&#039; Never apply signals with voltages larger than 3.3 V to any of these pins, this will destroy your board immediately!}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== BUT ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, BUT-0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; This pin is actually also connected to the analog digital converter (ADC) of the microprocessor, but the analog signal are processed differently than those on the POT port. Currently this port is used to connect a key or switch to it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;{{WARNING|&#039;&#039;&#039;WARNING:&#039;&#039;&#039; Never apply signals with voltages larger than 3.3 V to any of these pins, this will destroy your board immediately!}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== AUX ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, AUX-0, AUX-1, AUX-2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; These are general purpose pins. Currently they are used to connect up to three keys and/or switches.&lt;br /&gt;
&lt;br /&gt;
== SPK ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; 3.3 V, Gnd, Signal&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; Connector for a Spektrum satellite receiver.&lt;br /&gt;
&lt;br /&gt;
== IR ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, IR-0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; Allows to connect an IR led to remote control a camera.&lt;br /&gt;
&lt;br /&gt;
== UART ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, Rx, Tx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; Standard serial port to communicate with the board. The serial is set to 115200 bps by default, no parity bit, one stop bit. Details of the communication protocol can be found in the article [[Serial Communication]].&lt;br /&gt;
&lt;br /&gt;
== ESP / UART2 ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, Rx2, Tx2, RST, GPIO0, 5 V&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; Second serial port to communicate with the board. Typical use is to connect an ESP8266 Wifi module for communicating with the board, see [[Using a ESP8266 Wifi Module]], or to use it as interface to communicate with a camera, see [[NT Camera]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;{{WARNING|&#039;&#039;&#039;WARNING:&#039;&#039;&#039; Never apply signals with voltages larger than 3.3 V to any of these pins, this will destroy your board immediately!}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== CAN ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; Gnd, CAN-L, CAN-H, CAN 5 V&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; Standard CAN port to communicate with the board. The bit rate is 1 Mbits/s. Details of the communication protocol can be found in the [[UAVCAN]] manual. The CAN 5 V pin is not a power supply, but &amp;quot;only&amp;quot; a sense line which is used by the CAN transceiver to detect the presence of a CAN bus and activate itself.&lt;br /&gt;
&lt;br /&gt;
== SWD ==&lt;br /&gt;
&#039;&#039;&#039;Pins:&#039;&#039;&#039; SWDIO, Gnd, SWCLK, 3.3V&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Function:&#039;&#039;&#039; Connector for programming the microcontroller using a [http://www.st.com/web/en/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168 ST-Link/V2] programming tool.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The SWD port is located right above the AUX port on the board.}}&lt;/div&gt;</summary>
		<author><name>Seb</name></author>
	</entry>
	<entry>
		<id>http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=NT_Camera&amp;diff=9948</id>
		<title>NT Camera</title>
		<link rel="alternate" type="text/html" href="http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=NT_Camera&amp;diff=9948"/>
		<updated>2021-04-11T11:56:34Z</updated>

		<summary type="html">&lt;p&gt;Seb: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;The information on this page refers to firmware v2.58e and higher.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The NT Camera module allows us to remote control a camera. &lt;br /&gt;
&lt;br /&gt;
It thus serves a similar purpose as the various RC camera remote control modules, such as [http://vp-systems.eu/camremote.html CAMremote], [https://www.seagulluav.com/ Seagull], [https://www.gentles.ltd.uk/gentwire/multi.htm Gentles], [https://www.rcshutter.com/index.php?route=product/category&amp;amp;path=20 RcShutter], [http://wiki.mikrokopter.de/en/CamCtrl CamCntrl], [https://hobbyking.com/en_us/infrared-remote-shutter-controller-for-nikon-cameras.html IR Remote Shutter Controller], and all the other commercial and DIY solutions. &lt;br /&gt;
&lt;br /&gt;
However, instead of listening to e.g. a servo PWM signal, the NT Camera module listens to the data on the NT bus. It is thus usually connected to the NT bus near the camera NT IMU module, which results in extremely clean wiring schemes (see [[What is STorM32 NT about?|here]]). Separate NT Camera modules have in fact not emerged, but the NT Camera function is integrated into the NT IMU firmware. That is, the NT IMU module is also a NT Camera module (if it exposes the related pins to the user, which many of the available NT IMU modules do). For many camera models it is also possible to connect the camera, or a module operating it, directly to the STorM32 controller board, i.e., the STorM32 controller is then also a NT Camera module.&lt;br /&gt;
&lt;br /&gt;
In addition, the NT Camera module also serves as a &amp;quot;PWM Out&amp;quot; module. That is, it outputs a servo PWM signal, which is an exact mirror of the PWM output signal available on the main STorM32 board, when the {{PARAMNAME|Pwm Out Control}} parameter is enabled. This additional PWM signal can come in very handy and allows us doing all sorts of fancy things (e.g. motor zoom). It will not be further discussed in this article however.&lt;br /&gt;
&lt;br /&gt;
Historically, the STorM32&#039;s remote camera control started with an IR LED controller on the v1.3x main STorM32 board, and many of the camera models supported by the STorM32, such as the Sony Nex, are related to this. The NT Camera concept was introduced later, and extended to also provide PWM and serial UART signals to control cameras such as the Gitup Git2, RunCam Split, or GoPro Hero. The subsequent introduction of the [[MAVLink_Communication#MAVLink_Camera|MAVLink Camera component]] and the serial API has brought unprecedented cool camera control features to the user. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Concept and Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
The NT Camera is related to a number of parameters, which are located in two places in the GUI, the {{GUI|Functions}} tab and the {{GUI|Interfaces Tool}} dialog.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab we see:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Enables the function and selects the primary input.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Selects a secondary input, which is used by some camera models.&lt;br /&gt;
* {{PARAMNAME|Camera Model}}: Selects the camera model.&lt;br /&gt;
* {{PARAMNAME|Camera Control Mode}}: Functions executed then the primary input value is High or Low. The default is {{PARAMVALUE|video - off - shutter}} (usually does not need to be changed).&lt;br /&gt;
* {{PARAMNAME|Camera Time Interval}}: Setting this to 0 (off) will result in one photo being taken. If set to other than 0 photos will be taken continuously. The time period is from the start of the first photo to the start of the second photo, and so on. This parameter is functional for all camera models, and not further discussed below.&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Selects the UART port for camera models which use a serial interface. &lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Interfaces Tool}} dialog, accessible via the {{GUI|Experts Only}} menu, one finds further relevant parameters, which are associated with the [[MAVLink_Communication#MAVLink_Gimbal|MAVLink Gimbal]] and [[MAVLink_Communication#MAVLink_Camera|MAVLink Camera]] components:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Gimbal}}: Enables the MAVLink Gimbal component and sets its component ID.&lt;br /&gt;
* {{PARAMNAME|Mavlink ComPort}}: Selects the com port used for the MAVLink communication.&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: Sets the system ID for both the MAVLink Gimbal and Camera components. A value of {{PARAMVALUE|0}} enables autodetection.&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}}: Enables the MAVLink Camera component and sets its component ID.&lt;br /&gt;
&lt;br /&gt;
=== Camera Control Mode ===&lt;br /&gt;
&lt;br /&gt;
The {{PARAMNAME|Camera Control Mode}} parameter determines if and when the shutter is released and the video is started or stopped.&lt;br /&gt;
&lt;br /&gt;
The setting {{PARAMVALUE|video - off - shutter}} means that the shutter is released when the primary input value switches from neutral to High, and that the video is started when it switches from neutral to Low and stopped when it switches from Low to neutral. The setting {{PARAMVALUE|shutter - off - video}} does the same, except that High and Low are swapped.&lt;br /&gt;
&lt;br /&gt;
The setting {{PARAMVALUE|off - shutter}} means that the shutter is released when the primary input value switches from neutral (or Low) to High, and that the video cannot be started or stopped. In contrast, {{PARAMVALUE|off - video}} means that the video is started when the primary input value switches from neutral (or Low) to High, and stopped when it switches from High to neutral (or Low), and that the shutter cannot be released. The settings {{PARAMVALUE|shutter - off}} and {{PARAMVALUE|video - off}} do the same, except that High and Low are swapped.&lt;br /&gt;
&lt;br /&gt;
=== Camera Connection ===&lt;br /&gt;
&lt;br /&gt;
For some camera models the STorM32 checks if the camera is connected and up and running. Examples are the GoPro models since here not only a physical connection is needed but also a Wifi connection must be established, but this also applies to other models such as the {{PARAMVALUE|Runcam Split Mini2}}.&lt;br /&gt;
&lt;br /&gt;
For these models the GUI shows a &amp;quot;CAMERA&amp;quot; field in the {{GUI|Dashboard}} tab, with info such as &amp;quot;connected&amp;quot; or &amp;quot;not connected&amp;quot; which reveal the current state.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The general rule is that if a bi-directional communication is involved, then the STorM32 checks connection for that camera model.}}&lt;br /&gt;
&lt;br /&gt;
=== Processing Scheme ===&lt;br /&gt;
&lt;br /&gt;
The STorM32 camera remote control is based on three elementary operations: SHUTTER, VIDEOON and VIDEOOFF. These are supported by all camera models, and can be triggered by various sources: a signal on any of the STorM32&#039;s inputs, a script, a serial command, a MAVLink message to the MAVLink Gimbal component, or a MAVLink message to the MAVLink Camera component. The NT Camera module translates these elementary operations into the corresponding output signals as required for the specified camera model. The output signals can be PWM, low-high-low pulses, UART Tx and Rx, or whatever is required.&lt;br /&gt;
&lt;br /&gt;
In addition, some camera models (such as the {{PARAMVALUE|Runcam Split Mini2}} and {{PARAMVALUE|GoPro Hero7}}) provide a much richer set of features and functions, which the STorM32 makes accessible to the user via the [https://mavlink.io/en/services/camera.html MAVLink Camera Protocol microservice] provided by the MAVLink Camera component. This &amp;quot;richer set of features and functions&amp;quot; is in fact most cool and not easily explained in one sentence. It for instance allows the user to access many if not all camera settings from ground control stations such as QGroundControl, like it is known for DJI drones or the 3DR Solo. &lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-processing.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
== NT Camera Support by NT IMU Modules ==&lt;br /&gt;
&lt;br /&gt;
As mentioned in the introduction, the NT Camera is integrated into the NT IMU firmware. The NT IMU module provides these three signals on its EXT port pins:&lt;br /&gt;
&lt;br /&gt;
* EXT-3: Camera PWM signal, or Uart Tx, or other&lt;br /&gt;
* EXT-2: Camera pulse signal, or Uart Rx, or other&lt;br /&gt;
* EXT-1: Pwm Out servo PWM signal (with ca. 60 Hz frequency)&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Pwm Out&amp;quot; signal on pin EXT-1 is related to the {{PARAMNAME|Pwm Out Control}} function and is not further discussed here. See [[Advanced_Functions#Pwm_Out|Advanced Functions: Pwm Out]].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Camera&amp;quot; signals on EXT-3 and EXT-2 are related to the {{PARAMNAME|Camera Control}} and {{PARAMNAME|Pwm Out Control2}} functions, and depend on the {{PARAMNAME|Camera Model}} setting. For many camera models they are configured to output a PWM servo signal on EXT-3 and a pulse signal on EXT-2:&lt;br /&gt;
&lt;br /&gt;
* The PWM signal can directly feed cameras which can be triggered by such signals, such as the Gitup Git2 or Foxeer Legend, or can be connected to common RC camera remote control modules, such as those mentioned in the introduction. The frequency of the PWM signal is ca. 60 Hz.&lt;br /&gt;
&lt;br /&gt;
* The pulse signal consists of a 50 ms low/high/low pulse and can be used for all sorts of purposes. For instance, it could be connected to a [http://www.rcgroups.com/forums/showpost.php?p=30034371&amp;amp;postcount=2437 semiconductor relais] to drive an IR LED or shorten some pins on a USB remote.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 pins can also assume other functions however. For instance, for the RunCam camera they are configured to operate as Tx and Rx UART signals.&lt;br /&gt;
&lt;br /&gt;
The function matrix looks as this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!camera model&lt;br /&gt;
!EXT-3&lt;br /&gt;
!EXT-2&lt;br /&gt;
|-&lt;br /&gt;
| Sony Nex, Canon, Panasonic, Nikon,&amp;lt;/br&amp;gt;Git2 Rc, Mapir Survey Rc || PWM || pulse&lt;br /&gt;
|-&lt;br /&gt;
| CAMremote Rc || PWM || PWM2 passthrough&lt;br /&gt;
|-&lt;br /&gt;
| Firefly Split 4K Rc || pulse || pulse&lt;br /&gt;
|-&lt;br /&gt;
| Pwm || PWM passthrough || PWM2 passthrough&lt;br /&gt;
|-&lt;br /&gt;
| Runcam Generic || Tx || special purpose&lt;br /&gt;
|-&lt;br /&gt;
| CAMremote UART,&amp;lt;/br&amp;gt;Visca || Tx || pulse&lt;br /&gt;
|-&lt;br /&gt;
| Runcam Split Mini2,&amp;lt;/br&amp;gt;GoPro Hero7, GoPro Hero5, GoPro Generic,&amp;lt;/br&amp;gt; Serial Api || Tx || Rx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|For hardware reasons the NT IMU modules cannot drive IR LEDs, and the IR LED remote control option is thus not available with them.}}&lt;br /&gt;
&lt;br /&gt;
=== Pin Assignment on the v1.x and v2.x NT IMU Modules ===&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The v2.x and the &amp;quot;big&amp;quot; v1.x NT IMU modules expose the additional EXT port pins:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-v21-docu.jpg|510px]] [[File:Storm32-nt-imu-v10-docu-02.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Pin Assignment for the CC3D Atom and Atom Mini ===&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
Both the CC3D Atom and Atom Mini have six servo outputs labeled PWM1 to PWM6. They are assigned as follows to the EXT port pins:&lt;br /&gt;
&lt;br /&gt;
* PWM2 = EXT-1 = Pwm Out servo PWM signal&lt;br /&gt;
* PWM3 = EXT-3 = Camera servo PWM signal&lt;br /&gt;
* PWM4 = EXT-2 = Camera pulse signal&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-cc3datom-docu-03.jpg|480px]] [[File:CC3D_Case_Label.jpg|280px]]&lt;br /&gt;
&lt;br /&gt;
== RunCam ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can control a RunCam Split Mini2 by communicating to it via the camera&#039;s serial port. It has been confirmed to work also for a RunCam Split 2S and a RunCam Split Micro V3. It probably works for other similar cameras, but this is untested.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|nGszTJCzSMk|480}}&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger photos or start/stop videos. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Set to the desired input to access OSD. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Runcam Generic}} or {{PARAMVALUE|Runcam Split Mini2}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|default}}&lt;br /&gt;
&lt;br /&gt;
If you also want the MAVLink Camera features, then in addition set these parameters in the {{GUI|Interfaces}} menu:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}} = {{PARAMVALUE|Camera1}} or higher&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: usually can be {{PARAMVALUE|0}} &lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Some RunCam cameras such as the RunCam Split 2S provide video and photo modes. The RunCam protocol however does not allow us to reliably switch between video and photo mode, and the STorM32 therefore only supports the video mode. The implication is that the camera must be in video mode at startup.}}&lt;br /&gt;
&lt;br /&gt;
=== Camera Models ===&lt;br /&gt;
&lt;br /&gt;
Currently two camera models are available, {{PARAMVALUE|Runcam Generic}} and {{PARAMVALUE|Runcam Split Mini2}}.&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|Runcam Generic}} model allows us to start and stop recording a video. The underlying UART commands should be supported by all RunCam models with UART interface, so that this model is expected to work for them all.&lt;br /&gt;
&lt;br /&gt;
=== Wiring ===&lt;br /&gt;
&lt;br /&gt;
The connection diagram for a NT Imu v2.x looks like this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-runcamsplitmini2.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
== GoPro Hero ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can control a GoPro camera by communicating with it via Wifi.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|width=370|{{#ev:youtube|kT4zbvChs2g|420}}&lt;br /&gt;
|{{#ev:youtube|rhzkxKO-40c|420}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Here one thus requires an additional Wifi module, such as an ESP8266, Arduino MKR1000, or ESP32. The MKR1000 is quite pricey and very large, the ESP8266 works a bit dodgy, so I currently use a ESP32, which to me is the best deal. The Wifi module needs to be loaded with a particular firmware, and an Arduino sketch is available in my github repo (see link below)(currently only the ESP32 is supported, but you are of course welcome to adapt the sketch to also support e.g. the ESP8266).&lt;br /&gt;
&lt;br /&gt;
If you want to know more details about the technical inside, you may read [https://www.rcgroups.com/forums/showpost.php?p=42481889&amp;amp;postcount=2295 this post]. &lt;br /&gt;
&lt;br /&gt;
The Arduino sketches and C files (and other relevant material) are open source (GLP-v3) and available here: https://github.com/olliw42/goprohero.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;{{WARNING|WARNING: Both Wifi and most radio control systems work in the 2.4 GHz range, and interferences may thus happen and compromise your remote control signal quality}}&#039;&#039;. Unfortunately I could not find a single competent report or analysis of this topic on the web; all reports I found which say that it works are based on purely anecdotal evidence. So, please, be warned! In order to avoid issues as much as possible I have at least set the Wifi module&#039;s transmit power to the lowest possible level.&lt;br /&gt;
&lt;br /&gt;
The Wifi module (loaded with the Arduino sketch) is connected via its serial port to the NT Camera module, i.e. the EXT-3 and EXT-2 pins on your NT IMU module (see [[NT_Camera#NT_Camera_Support_by_NT_IMU_Modules | NT Camera Support by NT IMU Modules]]). Alternatively, the Wifi module can be connected to the UART or UART2 port on the main STorM32 controller, which often can be the more convenient setup, as it much simplifies wiring.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Wifi modules generally need to be powered from a strong, stable power source, since current draw can be high (not on average, but in the spikes). So, do not use the NT bus 5 V power line, unless you have ensured that it is of sufficient high power or understand what you&#039;re doing.}}&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger photos or start/stop videos. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|GoPro Hero7}}, {{PARAMVALUE|GoPro Hero5}} or {{PARAMVALUE|GoPro Generic}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Set to {{PARAMVALUE|default}} if the Wifi module is connected to the NT IMU module, or chose the UART or UART2 port.&lt;br /&gt;
&lt;br /&gt;
If you also want the MAVLink Camera features, then in addition set these parameters in the {{GUI|Interfaces}} menu:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}} = {{PARAMVALUE|Camera1}} or higher&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: usually can be {{PARAMVALUE|0}} &lt;br /&gt;
&lt;br /&gt;
=== Camera Models ===&lt;br /&gt;
&lt;br /&gt;
Currently three GoPro camera models are available, {{PARAMVALUE|GoPro Hero7}}, {{PARAMVALUE|GoPro Hero5}} and {{PARAMVALUE|GoPro Generic}}. However, other GoPro cameras probably will work too.&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|GoPro Generic}} model only provides basic support, i.e., only allows us to start and stop recording a video and taking pictures. It does so by using a Wifi command which is expected to be supported by &#039;&#039;&#039;&#039;&#039;all&#039;&#039;&#039;&#039;&#039; GoPro models with a Wifi interface. Accordingly, this model should work for all GoPro cameras. &lt;br /&gt;
&lt;br /&gt;
The other camera models use Wifi settings which can be specific to the particular model, and if a model works also for other GoPro cameras thus depends on the compatibility details.&lt;br /&gt;
&lt;br /&gt;
=== Huzzah32-ESP32 Breakout Board ===&lt;br /&gt;
&lt;br /&gt;
The connection diagram for a NT Imu v2.x and an [https://www.adafruit.com/product/4172 Adafruit HUZZAH32–ESP32 Breakout Board] can look as this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-huzzah-esp32.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The HUZZAH32–ESP32 breakout board was the best option I found price and size wise, and that&#039;s why I use it. The connection diagram should be similar for other ESP32 boards.}}&amp;lt;!--{{COMMENT|The HUZZAH32–ESP32 breakout board was the best option I found price and size wise. It&#039;s a cute board, with however a nasty flaw: see [[https://forums.adafruit.com/viewtopic.php?f=57&amp;amp;t=153553 here]], where also solutions are provided.}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CAMremote ==&lt;br /&gt;
&lt;br /&gt;
The CAMremote from VP-Systems is a highly functional and versatile camera remote controller. The STorM32 supports it by two camera models, called {{PARAMVALUE|CAMremote Rc}} and {{PARAMVALUE|CAMremote UART}}.&lt;br /&gt;
&lt;br /&gt;
=== CAMremote RC ===&lt;br /&gt;
&lt;br /&gt;
The CAMremote provides several settings where the shutter and video on/off can be controlled via a PWM signal on the CAMremote&#039;s CH0 input. In combination with the NT Camera module, several configurations are possible, the most generic one would be to use either of these:&lt;br /&gt;
&lt;br /&gt;
* CH0 = Record/AF/Shoot&lt;br /&gt;
* CH0 = Record/Shoot&lt;br /&gt;
&lt;br /&gt;
The EXT-3 pin on the NT IMU module should then be connected to the CH0 input on the CAMremote. &lt;br /&gt;
&lt;br /&gt;
The PWM2 passthrough output on the NT IMU module, or pin EXT-2, can then be connected to the CAMremote&#039;s CH1 to invoke additional features, such a manual focus, zoom in/out, and so on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Comment&#039;&#039;&#039;: This has been tested using NT IMU firmware v0.28 and &amp;quot;RC receiver (CH0=Record/AF/Shoot, CH1=SmoothZoom, CH2=Alt)-mode&amp;quot; on CAMremote 3.0.9. In case the shutter does not trigger a photo on the camera it might be necessary to increase the focus time to give the camera time to focus.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The disadvantage of using the CAMremote with PWM input signals is that one only can toggle between VIDEOON and VIDEOOFF, and not directly set VIDEOON or VIDEOOFF, so that the actual recording state might be lost by the user.&lt;br /&gt;
&lt;br /&gt;
=== CAMremote UART ===&lt;br /&gt;
&lt;br /&gt;
The CAMremote also provides a serial UART interface, which provides access to a much richer set of features and functions than with the control via PWM signals. &lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 pins on the NT IMU module should be connected to the Tx/Rx inputs on the CAMremote, respectively. &lt;br /&gt;
&lt;br /&gt;
Currently, the STorM32 supports the &#039;shoot&#039;, &#039;recon&#039; and &#039;recoff&#039; commands.&lt;br /&gt;
&lt;br /&gt;
This brings the great advantage that VIDEOON and VIDEOOFF are now set directly, and not only toggled as with the PWM input, so that the actual recording state is always known to the user.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://vp-systems.eu/camremote.html&lt;br /&gt;
* http://vp-systems.eu/manual_cr.html&lt;br /&gt;
* https://vp-systems.eu/cr_uart.html&lt;br /&gt;
&lt;br /&gt;
== Visca PTZ ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera supports PTZ cameras using the VISCA protocol at 9600 baud.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 pin on the NT IMU module should be connected to the Rx input on the PTZ camera (not RS232 or RS422, but UART-TTL input). &lt;br /&gt;
&lt;br /&gt;
Currently, the STorM32 supports the &#039;CAM_Power On&#039;, &#039;CAM_Power Off&#039;, &#039;CAM_Zoom Stop&#039;, &#039;CAM_Zoom Tele(Variable)&#039; and &#039;CAM_Zoom Wide(Variable)&#039; VISCA commands. The power on/off commands are mapped to the video on/off function, available with the {{PARAMNAME|Camera Control}} input. The zoom commands are attached to the {{PARAMNAME|Camera Control2}} input.&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger power on/off. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Set to the desired input to zoom in or out. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Visca}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|default}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.epiphan.com/userguides/LUMiO12x/Content/UserGuides/PTZ/3-operation/VISCAcommands.htm&lt;br /&gt;
* https://www.snapav.com/wcsstore/ExtendedSitesCatalogAssetStore/attachments/documents/USBProducts/ManualsAndGuides/Visca%20Protocol2.pdf&lt;br /&gt;
&lt;br /&gt;
== Firefly Split 4K ==&lt;br /&gt;
&lt;br /&gt;
Supported with firmware v2.58e or higher.&lt;br /&gt;
&lt;br /&gt;
The Firefly Split 4K can be controlled by two HIGH-LOW-HIGH pulses for triggering shutter and starting/stoping video recording.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 port pins on the NT IMU module are assigned as follows:&lt;br /&gt;
&lt;br /&gt;
* EXT-3: HIGH-LOW-HIGH pulse of 100 ms duration for shutter control&lt;br /&gt;
* EXT-2: HIGH-LOW-HIGH pulse of 100 ms duration for starting/stoping video recording&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you wish to use&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Firefly Split 4K Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
As the Firefly Split 4K crashes when the trigger input is too fast (especially starting/stopping video, tested with firmware 20201015), STorM32 enforces a delay between the trigger pulses to prevent this.&lt;br /&gt;
&lt;br /&gt;
=== Cabling information ===&lt;br /&gt;
&lt;br /&gt;
Connect the trigger input pins of the Firefly 4K Split Cam to the [[Pins_and_Connectors_of_NT_Modules|IMU]]:&lt;br /&gt;
&lt;br /&gt;
* green cable, rightmost pin -&amp;gt; EXT-2&lt;br /&gt;
* blue cable -&amp;gt; EXT-3&lt;br /&gt;
&lt;br /&gt;
The pcb is conformal coated, if you want to solder directly on the connector pins, it&#039;s easier to solder if you remove it with a glass fiber pencil. &lt;br /&gt;
&lt;br /&gt;
The board provides 3.3V on solder tags next to the connector and 5V on a capacitor pin (as shown on Hawkeye&#039;s official web site), this can be used to power the IMU and to save one cable. Select voltage depending on your IMU.&lt;br /&gt;
&lt;br /&gt;
As the IMU outputs max. 3.3V, you can disregard the manual&#039;s warning to not connect any power to the trigger pins.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Official &amp;quot;How to connect Hawkeye Firefly 4K Split Cam&amp;quot; information: http://www.cnfpv.com/portal.php?mod=view&amp;amp;aid=158&lt;br /&gt;
&lt;br /&gt;
== Gitup Git2 ==&lt;br /&gt;
&lt;br /&gt;
The Gitup Git2 can receive a PWM signal on its Micro HDMI port to control video recording and photo triggering. The details can be found on the Gitup site. In general, a 3 position switch will be used on your transmitter: The middle position should be set to 1500 µs and will do nothing. Low position, &amp;lt; 1250 µs, will start recording video when switched. High position, &amp;gt; 1800 µs, will take a photo when switched. If your transmitter channel is setup as 0%, 50%, 100% (or -100, 0, 100) for Low, Mid, and High, then you should be fine.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|To avoid misunderstanding, please note that the transmitter switch PWM values mentioned for transmitter setup are not those which are send to the camera. The STorM32 will translate the received input PWM values into those required by the camera.}}&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* http://www.rcgroups.com/forums/showpost.php?p=34538383&amp;amp;postcount=3443&lt;br /&gt;
* https://www.gitup.com/cameras/73-gitup-git2p-standard-packing-170-degree-lens.html&lt;br /&gt;
&lt;br /&gt;
=== Cable Information ===&lt;br /&gt;
&lt;br /&gt;
Gitup provides a Remote Shutter cable. If you choose to make your own, then please follow the pinouts for the [https://en.wikipedia.org/wiki/HDMI#Connectors Micro HDMI (type D)] connector, not Mini or full size because they are different (see [https://upload.wikimedia.org/wikipedia/commons/a/a5/HDMI_Connector.jpg here]).&lt;br /&gt;
&lt;br /&gt;
* Signal In: Micro HDMI Pin 2 (usually denoted as Utility or Reserved on pinouts)&lt;br /&gt;
* Signal Gnd: Micro HDMI Pin 4 (TMDS Data2 Shield, or any other shield pin; even the connector&#039;s case works)&lt;br /&gt;
&lt;br /&gt;
:[[File:Git2 Micro HDMI Pinout.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The Git2 uses its Mini USB port for both Video Out and Power In to charge or power the camera. While Gitup also provides this cable, FPV cables for the GoPro works as well. Gitup also provides a combo board/cable, which contains both the HDMI and USB connectors.}}&lt;br /&gt;
&lt;br /&gt;
=== Cable and Camera Function Test ===&lt;br /&gt;
&lt;br /&gt;
Once you have your cable and transmitter configured as above, connect your receiver or flight controller, and test it out. It should work before moving to the next step.&lt;br /&gt;
&lt;br /&gt;
=== CC3D NT IMU, STorM32 and Git2 Camera Integration ===&lt;br /&gt;
&lt;br /&gt;
This section is based on using the Mini CC3D Atom. Other NT IMU modules which expose the EXT pins should work equally well however. The following is only one of the several possible configuration options available with the STorM32.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT| Your STorM32 and NT IMU need to communicate correctly, it is however not mandatory that the gimbal has been configured or tuned.}}&lt;br /&gt;
&lt;br /&gt;
Wire up as follows:&lt;br /&gt;
&lt;br /&gt;
* Connect your receiver, or flight controller, to one of the seven STorM32 RC ports (RC-0 through RC2-3), or use any other input channel (see [[Inputs and Functions]]).&lt;br /&gt;
&lt;br /&gt;
* Connect the Git2 Remote Shutter cable to the EXT-3 and GND pins on the NT IMU (see [[NT_Camera#NT_Camera Support_by_NT_IMU_Modules|NT Camera Support by NT IMU Modules]]).&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab use the column for {{PARAMNAME|Camera Control}} and set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you wish to use&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Git2 Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
== Foxeer Legend 1 ==&lt;br /&gt;
&lt;br /&gt;
This should work as for the Gitup Git2, with identical settings. This has not yet been tested though.&lt;br /&gt;
&lt;br /&gt;
* http://foxeer.com/XAT800-Effio-V-Camera-a-10.html&lt;br /&gt;
* http://data.foxeer.com/Manual_LEGEND1_FOXEER.pdf&lt;br /&gt;
&lt;br /&gt;
== Mapir Survey ==&lt;br /&gt;
&lt;br /&gt;
The Mapir Survey is in many regards similar to the Gitup Git2. For instance, it also can receive a PWM signal on its Micro HDMI port for control. However, the PWM signal required by the Mapir is quite different to that for the Git2. Furthermore, only photos can be triggered, but video recording cannot be started/stopped. Thus, the Git2 camera model cannot be used for the Mapir.&lt;br /&gt;
&lt;br /&gt;
The electrical connections and setup are largely identical to the Git2, so please look up there. These differences might be noteworthy:&lt;br /&gt;
&lt;br /&gt;
In general, a 2 position switch will be used on your transmitter: The middle position should be set to 1500 µs and will do nothing. High position, &amp;gt; 1800 µs, will take a photo when switched.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab use the column for {{PARAMNAME|Camera Control}} and set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you desire&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Mapir Survey Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|To avoid misunderstanding, please note that the transmitter switch PWM values mentioned for transmitter setup are not those which are send to the camera. The STorM32 will translate the received input PWM values into those required by the camera.}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.rcgroups.com/forums/showthread.php?2055844-STorM32-BGC-32-bit-3-axis-brushless-gimbal-controller/page232&amp;amp;perpage=50#post42713367&lt;br /&gt;
* https://www.mapir.camera/pages/survey3-cameras&lt;br /&gt;
* https://cdn.shopify.com/s/files/1/0878/4732/files/MAPIR_Survey3_Manual_v1.pdf&lt;br /&gt;
&lt;br /&gt;
== Serial API ==&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|Serial Api}} is a special camera model, designed to inter-operate with an external computing device, such as a Raspberry Pi, Arduino, and alike, via a serial data line (in the following the example of a Raspberry Pi, denoted as RPi, is chosen). The prototypical application example would be to integrate [http://www.gphoto.org/ gphoto]-controlled cameras into the STorM32 system.&lt;br /&gt;
&lt;br /&gt;
The RPi is connected to the UART on the STorM32 controller which is selected in the parameter {{PARAMNAME|Camera ComPort}}. The serial API camera model then provides a set of commands to exchange information between the STorM32&#039;s NT Camera functionality and the RPi. On the RPi a script is running which handles the communication, i.e., translates the commands of the serial API into the corresponding actions needed for the specific camera which shall be operated, and vice versa.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Serial Api}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Select the UART ({{PARAMVALUE|default}} is currently not supported)&lt;br /&gt;
&lt;br /&gt;
The serial API currently consists of the following:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;shutter\n&amp;quot;, &amp;quot;videoon\n&amp;quot;, &amp;quot;videooff\n&amp;quot;: These commands correspond to the STorM32&#039;s internal SHUTTER, VIDEOON and VIDEOOFF states, and are send whenever the respective state is assumed. This can be via an input as selected in the parameter {{PARAMNAME|Camera Control}}, a serial command, a MAVLink command, or via the MAVLink Camera microservice.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;cntrl2high\n&amp;quot;, &amp;quot;cntrl2low\n&amp;quot;, &amp;quot;cntrl2stop\n&amp;quot;: These commands are send according to the state of the input selected in the parameter {{PARAMNAME|Camera Control2}}.&lt;br /&gt;
&lt;br /&gt;
* SENDCAMTEXT: This [[STorM32_Scripts|script]] command sends a user-defined string to the RPi (the string is appended by a &#039;\n&#039; character). This allows us to use the potential of scripts for controlling the camera handled by the RPi.&lt;br /&gt;
&lt;br /&gt;
An example Python script which can be run on a RPi is available in the firmware .zip file.&lt;br /&gt;
&lt;br /&gt;
== UartX Configuration ==&lt;br /&gt;
&lt;br /&gt;
The number of available UART ports on STorM32 boards is limited, especially on v1.3 boards, and it can thus happen that one is running out of them.&lt;br /&gt;
&lt;br /&gt;
In such cases, the RC-0 and RC-1 input pins can be reconfigured to work as a further UART port, then named UARTX. This comes at the obvious cost that these inputs cannot be used anymore as PWM, Spektrum, SBus, and alike inputs.&lt;br /&gt;
&lt;br /&gt;
For this, set:&lt;br /&gt;
* {{PARAMNAME|UartX Configuration}} = {{PARAMVALUE|uartX @ 115200}} (the parameter is located in the {{GUI|Setup}} tab)&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|uartX}}&lt;br /&gt;
&lt;br /&gt;
The physical assignment is&lt;br /&gt;
* RC-0 = UARTX Rx&lt;br /&gt;
* RC-1 = UARTX Tx&lt;br /&gt;
&lt;br /&gt;
For the location of the RC-0, RC-1 pins on your board please refer to [[Pins and Connectors]].&lt;br /&gt;
&lt;br /&gt;
== Stand-alone Use ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can also be used stand-alone, without a gimbal. This effectively allows us to convert any of the supported cameras into a MAVLink camera. &lt;br /&gt;
&lt;br /&gt;
This mode of operation can be especially useful for those camera models which provide features beyond the basic SHUTTER, VIDEOON, and VIDEOFF operations, such as the Runcam Split Mini2 or the GoPro Hero models.&lt;br /&gt;
&lt;br /&gt;
The camera and MAVLink settings are as described in the above for the respective camera model. Typically, the UART port would be used for the MAVLink connection to a flight controller, and the UART2 port for connecting to the camera.&lt;br /&gt;
&lt;br /&gt;
The main difference in setup would be to also disable the motors, by setting in the {{GUI|Setup}} tab:&lt;br /&gt;
* {{PARAMNAME|Pitch Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
* {{PARAMNAME|Roll Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
* {{PARAMNAME|Yaw Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
&lt;br /&gt;
=== Wiring ===&lt;br /&gt;
&lt;br /&gt;
For a v3.x STorM32 board the connection scheme could be as this, here shown for the example of the GoPro Hero model:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-standalone-goprohero.jpg|680px]]&lt;br /&gt;
&lt;br /&gt;
For a v1.x STorM32 board the UARTX configuration capability can come in handy. The setup for a Runcam Split Mini2could look like this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-standalone-runcamsplitmini2-v13board.jpg|680px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.rcgroups.com/forums/showthread.php?3422673-Mavlink-Camera-Conversions-%28using-STorM32%29&lt;/div&gt;</summary>
		<author><name>Seb</name></author>
	</entry>
	<entry>
		<id>http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=NT_Camera&amp;diff=9947</id>
		<title>NT Camera</title>
		<link rel="alternate" type="text/html" href="http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=NT_Camera&amp;diff=9947"/>
		<updated>2021-04-11T11:54:00Z</updated>

		<summary type="html">&lt;p&gt;Seb: /* Firefly Split 4K */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;The information on this page refers to firmware v2.58e and higher.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The NT Camera module allows us to remote control a camera. &lt;br /&gt;
&lt;br /&gt;
It thus serves a similar purpose as the various RC camera remote control modules, such as [http://vp-systems.eu/camremote.html CAMremote], [https://www.seagulluav.com/ Seagull], [https://www.gentles.ltd.uk/gentwire/multi.htm Gentles], [https://www.rcshutter.com/index.php?route=product/category&amp;amp;path=20 RcShutter], [http://wiki.mikrokopter.de/en/CamCtrl CamCntrl], [https://hobbyking.com/en_us/infrared-remote-shutter-controller-for-nikon-cameras.html IR Remote Shutter Controller], and all the other commercial and DIY solutions. &lt;br /&gt;
&lt;br /&gt;
However, instead of listening to e.g. a servo PWM signal, the NT Camera module listens to the data on the NT bus. It is thus usually connected to the NT bus near the camera NT IMU module, which results in extremely clean wiring schemes (see [[What is STorM32 NT about?|here]]). Separate NT Camera modules have in fact not emerged, but the NT Camera function is integrated into the NT IMU firmware. That is, the NT IMU module is also a NT Camera module (if it exposes the related pins to the user, which many of the available NT IMU modules do). For many camera models it is also possible to connect the camera, or a module operating it, directly to the STorM32 controller board, i.e., the STorM32 controller is then also a NT Camera module.&lt;br /&gt;
&lt;br /&gt;
In addition, the NT Camera module also serves as a &amp;quot;PWM Out&amp;quot; module. That is, it outputs a servo PWM signal, which is an exact mirror of the PWM output signal available on the main STorM32 board, when the {{PARAMNAME|Pwm Out Control}} parameter is enabled. This additional PWM signal can come in very handy and allows us doing all sorts of fancy things (e.g. motor zoom). It will not be further discussed in this article however.&lt;br /&gt;
&lt;br /&gt;
Historically, the STorM32&#039;s remote camera control started with an IR LED controller on the v1.3x main STorM32 board, and many of the camera models supported by the STorM32, such as the Sony Nex, are related to this. The NT Camera concept was introduced later, and extended to also provide PWM and serial UART signals to control cameras such as the Gitup Git2, RunCam Split, or GoPro Hero. The subsequent introduction of the [[MAVLink_Communication#MAVLink_Camera|MAVLink Camera component]] and the serial API has brought unprecedented cool camera control features to the user. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Concept and Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
The NT Camera is related to a number of parameters, which are located in two places in the GUI, the {{GUI|Functions}} tab and the {{GUI|Interfaces Tool}} dialog.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab we see:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Enables the function and selects the primary input.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Selects a secondary input, which is used by some camera models.&lt;br /&gt;
* {{PARAMNAME|Camera Model}}: Selects the camera model.&lt;br /&gt;
* {{PARAMNAME|Camera Control Mode}}: Functions executed then the primary input value is High or Low. The default is {{PARAMVALUE|video - off - shutter}} (usually does not need to be changed).&lt;br /&gt;
* {{PARAMNAME|Camera Time Interval}}: Setting this to 0 (off) will result in one photo being taken. If set to other than 0 photos will be taken continuously. The time period is from the start of the first photo to the start of the second photo, and so on. This parameter is functional for all camera models, and not further discussed below.&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Selects the UART port for camera models which use a serial interface. &lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Interfaces Tool}} dialog, accessible via the {{GUI|Experts Only}} menu, one finds further relevant parameters, which are associated with the [[MAVLink_Communication#MAVLink_Gimbal|MAVLink Gimbal]] and [[MAVLink_Communication#MAVLink_Camera|MAVLink Camera]] components:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Gimbal}}: Enables the MAVLink Gimbal component and sets its component ID.&lt;br /&gt;
* {{PARAMNAME|Mavlink ComPort}}: Selects the com port used for the MAVLink communication.&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: Sets the system ID for both the MAVLink Gimbal and Camera components. A value of {{PARAMVALUE|0}} enables autodetection.&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}}: Enables the MAVLink Camera component and sets its component ID.&lt;br /&gt;
&lt;br /&gt;
=== Camera Control Mode ===&lt;br /&gt;
&lt;br /&gt;
The {{PARAMNAME|Camera Control Mode}} parameter determines if and when the shutter is released and the video is started or stopped.&lt;br /&gt;
&lt;br /&gt;
The setting {{PARAMVALUE|video - off - shutter}} means that the shutter is released when the primary input value switches from neutral to High, and that the video is started when it switches from neutral to Low and stopped when it switches from Low to neutral. The setting {{PARAMVALUE|shutter - off - video}} does the same, except that High and Low are swapped.&lt;br /&gt;
&lt;br /&gt;
The setting {{PARAMVALUE|off - shutter}} means that the shutter is released when the primary input value switches from neutral (or Low) to High, and that the video cannot be started or stopped. In contrast, {{PARAMVALUE|off - video}} means that the video is started when the primary input value switches from neutral (or Low) to High, and stopped when it switches from High to neutral (or Low), and that the shutter cannot be released. The settings {{PARAMVALUE|shutter - off}} and {{PARAMVALUE|video - off}} do the same, except that High and Low are swapped.&lt;br /&gt;
&lt;br /&gt;
=== Camera Connection ===&lt;br /&gt;
&lt;br /&gt;
For some camera models the STorM32 checks if the camera is connected and up and running. Examples are the GoPro models since here not only a physical connection is needed but also a Wifi connection must be established, but this also applies to other models such as the {{PARAMVALUE|Runcam Split Mini2}}.&lt;br /&gt;
&lt;br /&gt;
For these models the GUI shows a &amp;quot;CAMERA&amp;quot; field in the {{GUI|Dashboard}} tab, with info such as &amp;quot;connected&amp;quot; or &amp;quot;not connected&amp;quot; which reveal the current state.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The general rule is that if a bi-directional communication is involved, then the STorM32 checks connection for that camera model.}}&lt;br /&gt;
&lt;br /&gt;
=== Processing Scheme ===&lt;br /&gt;
&lt;br /&gt;
The STorM32 camera remote control is based on three elementary operations: SHUTTER, VIDEOON and VIDEOOFF. These are supported by all camera models, and can be triggered by various sources: a signal on any of the STorM32&#039;s inputs, a script, a serial command, a MAVLink message to the MAVLink Gimbal component, or a MAVLink message to the MAVLink Camera component. The NT Camera module translates these elementary operations into the corresponding output signals as required for the specified camera model. The output signals can be PWM, low-high-low pulses, UART Tx and Rx, or whatever is required.&lt;br /&gt;
&lt;br /&gt;
In addition, some camera models (such as the {{PARAMVALUE|Runcam Split Mini2}} and {{PARAMVALUE|GoPro Hero7}}) provide a much richer set of features and functions, which the STorM32 makes accessible to the user via the [https://mavlink.io/en/services/camera.html MAVLink Camera Protocol microservice] provided by the MAVLink Camera component. This &amp;quot;richer set of features and functions&amp;quot; is in fact most cool and not easily explained in one sentence. It for instance allows the user to access many if not all camera settings from ground control stations such as QGroundControl, like it is known for DJI drones or the 3DR Solo. &lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-processing.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
== NT Camera Support by NT IMU Modules ==&lt;br /&gt;
&lt;br /&gt;
As mentioned in the introduction, the NT Camera is integrated into the NT IMU firmware. The NT IMU module provides these three signals on its EXT port pins:&lt;br /&gt;
&lt;br /&gt;
* EXT-3: Camera PWM signal, or Uart Tx, or other&lt;br /&gt;
* EXT-2: Camera pulse signal, or Uart Rx, or other&lt;br /&gt;
* EXT-1: Pwm Out servo PWM signal (with ca. 60 Hz frequency)&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Pwm Out&amp;quot; signal on pin EXT-1 is related to the {{PARAMNAME|Pwm Out Control}} function and is not further discussed here. See [[Advanced_Functions#Pwm_Out|Advanced Functions: Pwm Out]].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Camera&amp;quot; signals on EXT-3 and EXT-2 are related to the {{PARAMNAME|Camera Control}} and {{PARAMNAME|Pwm Out Control2}} functions, and depend on the {{PARAMNAME|Camera Model}} setting. For many camera models they are configured to output a PWM servo signal on EXT-3 and a pulse signal on EXT-2:&lt;br /&gt;
&lt;br /&gt;
* The PWM signal can directly feed cameras which can be triggered by such signals, such as the Gitup Git2 or Foxeer Legend, or can be connected to common RC camera remote control modules, such as those mentioned in the introduction. The frequency of the PWM signal is ca. 60 Hz.&lt;br /&gt;
&lt;br /&gt;
* The pulse signal consists of a 50 ms low/high/low pulse and can be used for all sorts of purposes. For instance, it could be connected to a [http://www.rcgroups.com/forums/showpost.php?p=30034371&amp;amp;postcount=2437 semiconductor relais] to drive an IR LED or shorten some pins on a USB remote.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 pins can also assume other functions however. For instance, for the RunCam camera they are configured to operate as Tx and Rx UART signals.&lt;br /&gt;
&lt;br /&gt;
The function matrix looks as this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!camera model&lt;br /&gt;
!EXT-3&lt;br /&gt;
!EXT-2&lt;br /&gt;
|-&lt;br /&gt;
| Sony Nex, Canon, Panasonic, Nikon,&amp;lt;/br&amp;gt;Git2 Rc, Mapir Survey Rc || PWM || pulse&lt;br /&gt;
|-&lt;br /&gt;
| CAMremote Rc || PWM || PWM2 passthrough&lt;br /&gt;
|-&lt;br /&gt;
| Firefly Split 4K Rc || pulse || pulse&lt;br /&gt;
|-&lt;br /&gt;
| Pwm || PWM passthrough || PWM2 passthrough&lt;br /&gt;
|-&lt;br /&gt;
| Runcam Generic || Tx || special purpose&lt;br /&gt;
|-&lt;br /&gt;
| CAMremote UART,&amp;lt;/br&amp;gt;Visca || Tx || pulse&lt;br /&gt;
|-&lt;br /&gt;
| Runcam Split Mini2,&amp;lt;/br&amp;gt;GoPro Hero7, GoPro Hero5, GoPro Generic,&amp;lt;/br&amp;gt; Serial Api || Tx || Rx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|For hardware reasons the NT IMU modules cannot drive IR LEDs, and the IR LED remote control option is thus not available with them.}}&lt;br /&gt;
&lt;br /&gt;
=== Pin Assignment on the v1.x and v2.x NT IMU Modules ===&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The v2.x and the &amp;quot;big&amp;quot; v1.x NT IMU modules expose the additional EXT port pins:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-v21-docu.jpg|510px]] [[File:Storm32-nt-imu-v10-docu-02.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Pin Assignment for the CC3D Atom and Atom Mini ===&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
Both the CC3D Atom and Atom Mini have six servo outputs labeled PWM1 to PWM6. They are assigned as follows to the EXT port pins:&lt;br /&gt;
&lt;br /&gt;
* PWM2 = EXT-1 = Pwm Out servo PWM signal&lt;br /&gt;
* PWM3 = EXT-3 = Camera servo PWM signal&lt;br /&gt;
* PWM4 = EXT-2 = Camera pulse signal&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-cc3datom-docu-03.jpg|480px]] [[File:CC3D_Case_Label.jpg|280px]]&lt;br /&gt;
&lt;br /&gt;
== RunCam ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can control a RunCam Split Mini2 by communicating to it via the camera&#039;s serial port. It has been confirmed to work also for a RunCam Split 2S and a RunCam Split Micro V3. It probably works for other similar cameras, but this is untested.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|nGszTJCzSMk|480}}&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger photos or start/stop videos. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Set to the desired input to access OSD. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Runcam Generic}} or {{PARAMVALUE|Runcam Split Mini2}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|default}}&lt;br /&gt;
&lt;br /&gt;
If you also want the MAVLink Camera features, then in addition set these parameters in the {{GUI|Interfaces}} menu:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}} = {{PARAMVALUE|Camera1}} or higher&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: usually can be {{PARAMVALUE|0}} &lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Some RunCam cameras such as the RunCam Split 2S provide video and photo modes. The RunCam protocol however does not allow us to reliably switch between video and photo mode, and the STorM32 therefore only supports the video mode. The implication is that the camera must be in video mode at startup.}}&lt;br /&gt;
&lt;br /&gt;
=== Camera Models ===&lt;br /&gt;
&lt;br /&gt;
Currently two camera models are available, {{PARAMVALUE|Runcam Generic}} and {{PARAMVALUE|Runcam Split Mini2}}.&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|Runcam Generic}} model allows us to start and stop recording a video. The underlying UART commands should be supported by all RunCam models with UART interface, so that this model is expected to work for them all.&lt;br /&gt;
&lt;br /&gt;
=== Wiring ===&lt;br /&gt;
&lt;br /&gt;
The connection diagram for a NT Imu v2.x looks like this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-runcamsplitmini2.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
== GoPro Hero ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can control a GoPro camera by communicating with it via Wifi.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|width=370|{{#ev:youtube|kT4zbvChs2g|420}}&lt;br /&gt;
|{{#ev:youtube|rhzkxKO-40c|420}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Here one thus requires an additional Wifi module, such as an ESP8266, Arduino MKR1000, or ESP32. The MKR1000 is quite pricey and very large, the ESP8266 works a bit dodgy, so I currently use a ESP32, which to me is the best deal. The Wifi module needs to be loaded with a particular firmware, and an Arduino sketch is available in my github repo (see link below)(currently only the ESP32 is supported, but you are of course welcome to adapt the sketch to also support e.g. the ESP8266).&lt;br /&gt;
&lt;br /&gt;
If you want to know more details about the technical inside, you may read [https://www.rcgroups.com/forums/showpost.php?p=42481889&amp;amp;postcount=2295 this post]. &lt;br /&gt;
&lt;br /&gt;
The Arduino sketches and C files (and other relevant material) are open source (GLP-v3) and available here: https://github.com/olliw42/goprohero.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;{{WARNING|WARNING: Both Wifi and most radio control systems work in the 2.4 GHz range, and interferences may thus happen and compromise your remote control signal quality}}&#039;&#039;. Unfortunately I could not find a single competent report or analysis of this topic on the web; all reports I found which say that it works are based on purely anecdotal evidence. So, please, be warned! In order to avoid issues as much as possible I have at least set the Wifi module&#039;s transmit power to the lowest possible level.&lt;br /&gt;
&lt;br /&gt;
The Wifi module (loaded with the Arduino sketch) is connected via its serial port to the NT Camera module, i.e. the EXT-3 and EXT-2 pins on your NT IMU module (see [[NT_Camera#NT_Camera_Support_by_NT_IMU_Modules | NT Camera Support by NT IMU Modules]]). Alternatively, the Wifi module can be connected to the UART or UART2 port on the main STorM32 controller, which often can be the more convenient setup, as it much simplifies wiring.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Wifi modules generally need to be powered from a strong, stable power source, since current draw can be high (not on average, but in the spikes). So, do not use the NT bus 5 V power line, unless you have ensured that it is of sufficient high power or understand what you&#039;re doing.}}&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger photos or start/stop videos. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|GoPro Hero7}}, {{PARAMVALUE|GoPro Hero5}} or {{PARAMVALUE|GoPro Generic}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Set to {{PARAMVALUE|default}} if the Wifi module is connected to the NT IMU module, or chose the UART or UART2 port.&lt;br /&gt;
&lt;br /&gt;
If you also want the MAVLink Camera features, then in addition set these parameters in the {{GUI|Interfaces}} menu:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}} = {{PARAMVALUE|Camera1}} or higher&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: usually can be {{PARAMVALUE|0}} &lt;br /&gt;
&lt;br /&gt;
=== Camera Models ===&lt;br /&gt;
&lt;br /&gt;
Currently three GoPro camera models are available, {{PARAMVALUE|GoPro Hero7}}, {{PARAMVALUE|GoPro Hero5}} and {{PARAMVALUE|GoPro Generic}}. However, other GoPro cameras probably will work too.&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|GoPro Generic}} model only provides basic support, i.e., only allows us to start and stop recording a video and taking pictures. It does so by using a Wifi command which is expected to be supported by &#039;&#039;&#039;&#039;&#039;all&#039;&#039;&#039;&#039;&#039; GoPro models with a Wifi interface. Accordingly, this model should work for all GoPro cameras. &lt;br /&gt;
&lt;br /&gt;
The other camera models use Wifi settings which can be specific to the particular model, and if a model works also for other GoPro cameras thus depends on the compatibility details.&lt;br /&gt;
&lt;br /&gt;
=== Huzzah32-ESP32 Breakout Board ===&lt;br /&gt;
&lt;br /&gt;
The connection diagram for a NT Imu v2.x and an [https://www.adafruit.com/product/4172 Adafruit HUZZAH32–ESP32 Breakout Board] can look as this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-huzzah-esp32.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The HUZZAH32–ESP32 breakout board was the best option I found price and size wise, and that&#039;s why I use it. The connection diagram should be similar for other ESP32 boards.}}&amp;lt;!--{{COMMENT|The HUZZAH32–ESP32 breakout board was the best option I found price and size wise. It&#039;s a cute board, with however a nasty flaw: see [[https://forums.adafruit.com/viewtopic.php?f=57&amp;amp;t=153553 here]], where also solutions are provided.}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CAMremote ==&lt;br /&gt;
&lt;br /&gt;
The CAMremote from VP-Systems is a highly functional and versatile camera remote controller. The STorM32 supports it by two camera models, called {{PARAMVALUE|CAMremote Rc}} and {{PARAMVALUE|CAMremote UART}}.&lt;br /&gt;
&lt;br /&gt;
=== CAMremote RC ===&lt;br /&gt;
&lt;br /&gt;
The CAMremote provides several settings where the shutter and video on/off can be controlled via a PWM signal on the CAMremote&#039;s CH0 input. In combination with the NT Camera module, several configurations are possible, the most generic one would be to use either of these:&lt;br /&gt;
&lt;br /&gt;
* CH0 = Record/AF/Shoot&lt;br /&gt;
* CH0 = Record/Shoot&lt;br /&gt;
&lt;br /&gt;
The EXT-3 pin on the NT IMU module should then be connected to the CH0 input on the CAMremote. &lt;br /&gt;
&lt;br /&gt;
The PWM2 passthrough output on the NT IMU module, or pin EXT-2, can then be connected to the CAMremote&#039;s CH1 to invoke additional features, such a manual focus, zoom in/out, and so on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Comment&#039;&#039;&#039;: This has been tested using NT IMU firmware v0.28 and &amp;quot;RC receiver (CH0=Record/AF/Shoot, CH1=SmoothZoom, CH2=Alt)-mode&amp;quot; on CAMremote 3.0.9. In case the shutter does not trigger a photo on the camera it might be necessary to increase the focus time to give the camera time to focus.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The disadvantage of using the CAMremote with PWM input signals is that one only can toggle between VIDEOON and VIDEOOFF, and not directly set VIDEOON or VIDEOOFF, so that the actual recording state might be lost by the user.&lt;br /&gt;
&lt;br /&gt;
=== CAMremote UART ===&lt;br /&gt;
&lt;br /&gt;
The CAMremote also provides a serial UART interface, which provides access to a much richer set of features and functions than with the control via PWM signals. &lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 pins on the NT IMU module should be connected to the Tx/Rx inputs on the CAMremote, respectively. &lt;br /&gt;
&lt;br /&gt;
Currently, the STorM32 supports the &#039;shoot&#039;, &#039;recon&#039; and &#039;recoff&#039; commands.&lt;br /&gt;
&lt;br /&gt;
This brings the great advantage that VIDEOON and VIDEOOFF are now set directly, and not only toggled as with the PWM input, so that the actual recording state is always known to the user.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://vp-systems.eu/camremote.html&lt;br /&gt;
* http://vp-systems.eu/manual_cr.html&lt;br /&gt;
* https://vp-systems.eu/cr_uart.html&lt;br /&gt;
&lt;br /&gt;
== Visca PTZ ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera supports PTZ cameras using the VISCA protocol at 9600 baud.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 pin on the NT IMU module should be connected to the Rx input on the PTZ camera (not RS232 or RS422, but UART-TTL input). &lt;br /&gt;
&lt;br /&gt;
Currently, the STorM32 supports the &#039;CAM_Power On&#039;, &#039;CAM_Power Off&#039;, &#039;CAM_Zoom Stop&#039;, &#039;CAM_Zoom Tele(Variable)&#039; and &#039;CAM_Zoom Wide(Variable)&#039; VISCA commands. The power on/off commands are mapped to the video on/off function, available with the {{PARAMNAME|Camera Control}} input. The zoom commands are attached to the {{PARAMNAME|Camera Control2}} input.&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger power on/off. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Set to the desired input to zoom in or out. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Visca}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|default}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.epiphan.com/userguides/LUMiO12x/Content/UserGuides/PTZ/3-operation/VISCAcommands.htm&lt;br /&gt;
* https://www.snapav.com/wcsstore/ExtendedSitesCatalogAssetStore/attachments/documents/USBProducts/ManualsAndGuides/Visca%20Protocol2.pdf&lt;br /&gt;
&lt;br /&gt;
== Firefly Split 4K ==&lt;br /&gt;
&lt;br /&gt;
Supported with firmware v2.58e or higher.&lt;br /&gt;
&lt;br /&gt;
The Firefly Split 4K can be controlled by two HIGH-LOW-HIGH pulses for triggering shutter and starting/stoping video recording.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 port pins on the NT IMU module are assigned as follows:&lt;br /&gt;
&lt;br /&gt;
* EXT-3: HIGH-LOW-HIGH pulse of 100 ms duration for shutter control&lt;br /&gt;
* EXT-2: HIGH-LOW-HIGH pulse of 100 ms duration for starting/stoping video recording&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you wish to use&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Firefly Split 4K Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
As the Firefly Split 4K crashes when the trigger input is too fast (especially starting/stopping video, tested with firmware 20201015), STorM32 enforces a delay between the trigger pulses to prevent this.&lt;br /&gt;
&lt;br /&gt;
=== Cabling information ===&lt;br /&gt;
&lt;br /&gt;
Connect the trigger input pins of the Firefly 4K Split Cam to the [[Pins_and_Connectors_of_NT_Modules|IMU]]:&lt;br /&gt;
&lt;br /&gt;
* green cable, rightmost pin -&amp;gt; EXT-2&lt;br /&gt;
* blue cable -&amp;gt; EXT-3&lt;br /&gt;
&lt;br /&gt;
The pcb is conformal coated, if you want to solder directly on the connector pins, it&#039;s easier to solder if you remove it with a glass fiber pencil. &lt;br /&gt;
&lt;br /&gt;
The board provides 3.3V on solder tags next to the connector and 5V on a capacitor pin (as shown on Hawkeye&#039;s official web site), this can be used to power the IMU and to save one cable. Select voltage depending on your IMU.&lt;br /&gt;
&lt;br /&gt;
As the IMU outputs max. 3.3V, you can disregard the manual&#039;s warning to not connect any power to the trigger pins.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Official How to connect Hawkeye Firefly 4K Split Cam information: http://www.cnfpv.com/portal.php?mod=view&amp;amp;aid=158&lt;br /&gt;
&lt;br /&gt;
== Gitup Git2 ==&lt;br /&gt;
&lt;br /&gt;
The Gitup Git2 can receive a PWM signal on its Micro HDMI port to control video recording and photo triggering. The details can be found on the Gitup site. In general, a 3 position switch will be used on your transmitter: The middle position should be set to 1500 µs and will do nothing. Low position, &amp;lt; 1250 µs, will start recording video when switched. High position, &amp;gt; 1800 µs, will take a photo when switched. If your transmitter channel is setup as 0%, 50%, 100% (or -100, 0, 100) for Low, Mid, and High, then you should be fine.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|To avoid misunderstanding, please note that the transmitter switch PWM values mentioned for transmitter setup are not those which are send to the camera. The STorM32 will translate the received input PWM values into those required by the camera.}}&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* http://www.rcgroups.com/forums/showpost.php?p=34538383&amp;amp;postcount=3443&lt;br /&gt;
* https://www.gitup.com/cameras/73-gitup-git2p-standard-packing-170-degree-lens.html&lt;br /&gt;
&lt;br /&gt;
=== Cable Information ===&lt;br /&gt;
&lt;br /&gt;
Gitup provides a Remote Shutter cable. If you choose to make your own, then please follow the pinouts for the [https://en.wikipedia.org/wiki/HDMI#Connectors Micro HDMI (type D)] connector, not Mini or full size because they are different (see [https://upload.wikimedia.org/wikipedia/commons/a/a5/HDMI_Connector.jpg here]).&lt;br /&gt;
&lt;br /&gt;
* Signal In: Micro HDMI Pin 2 (usually denoted as Utility or Reserved on pinouts)&lt;br /&gt;
* Signal Gnd: Micro HDMI Pin 4 (TMDS Data2 Shield, or any other shield pin; even the connector&#039;s case works)&lt;br /&gt;
&lt;br /&gt;
:[[File:Git2 Micro HDMI Pinout.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The Git2 uses its Mini USB port for both Video Out and Power In to charge or power the camera. While Gitup also provides this cable, FPV cables for the GoPro works as well. Gitup also provides a combo board/cable, which contains both the HDMI and USB connectors.}}&lt;br /&gt;
&lt;br /&gt;
=== Cable and Camera Function Test ===&lt;br /&gt;
&lt;br /&gt;
Once you have your cable and transmitter configured as above, connect your receiver or flight controller, and test it out. It should work before moving to the next step.&lt;br /&gt;
&lt;br /&gt;
=== CC3D NT IMU, STorM32 and Git2 Camera Integration ===&lt;br /&gt;
&lt;br /&gt;
This section is based on using the Mini CC3D Atom. Other NT IMU modules which expose the EXT pins should work equally well however. The following is only one of the several possible configuration options available with the STorM32.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT| Your STorM32 and NT IMU need to communicate correctly, it is however not mandatory that the gimbal has been configured or tuned.}}&lt;br /&gt;
&lt;br /&gt;
Wire up as follows:&lt;br /&gt;
&lt;br /&gt;
* Connect your receiver, or flight controller, to one of the seven STorM32 RC ports (RC-0 through RC2-3), or use any other input channel (see [[Inputs and Functions]]).&lt;br /&gt;
&lt;br /&gt;
* Connect the Git2 Remote Shutter cable to the EXT-3 and GND pins on the NT IMU (see [[NT_Camera#NT_Camera Support_by_NT_IMU_Modules|NT Camera Support by NT IMU Modules]]).&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab use the column for {{PARAMNAME|Camera Control}} and set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you wish to use&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Git2 Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
== Foxeer Legend 1 ==&lt;br /&gt;
&lt;br /&gt;
This should work as for the Gitup Git2, with identical settings. This has not yet been tested though.&lt;br /&gt;
&lt;br /&gt;
* http://foxeer.com/XAT800-Effio-V-Camera-a-10.html&lt;br /&gt;
* http://data.foxeer.com/Manual_LEGEND1_FOXEER.pdf&lt;br /&gt;
&lt;br /&gt;
== Mapir Survey ==&lt;br /&gt;
&lt;br /&gt;
The Mapir Survey is in many regards similar to the Gitup Git2. For instance, it also can receive a PWM signal on its Micro HDMI port for control. However, the PWM signal required by the Mapir is quite different to that for the Git2. Furthermore, only photos can be triggered, but video recording cannot be started/stopped. Thus, the Git2 camera model cannot be used for the Mapir.&lt;br /&gt;
&lt;br /&gt;
The electrical connections and setup are largely identical to the Git2, so please look up there. These differences might be noteworthy:&lt;br /&gt;
&lt;br /&gt;
In general, a 2 position switch will be used on your transmitter: The middle position should be set to 1500 µs and will do nothing. High position, &amp;gt; 1800 µs, will take a photo when switched.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab use the column for {{PARAMNAME|Camera Control}} and set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you desire&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Mapir Survey Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|To avoid misunderstanding, please note that the transmitter switch PWM values mentioned for transmitter setup are not those which are send to the camera. The STorM32 will translate the received input PWM values into those required by the camera.}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.rcgroups.com/forums/showthread.php?2055844-STorM32-BGC-32-bit-3-axis-brushless-gimbal-controller/page232&amp;amp;perpage=50#post42713367&lt;br /&gt;
* https://www.mapir.camera/pages/survey3-cameras&lt;br /&gt;
* https://cdn.shopify.com/s/files/1/0878/4732/files/MAPIR_Survey3_Manual_v1.pdf&lt;br /&gt;
&lt;br /&gt;
== Serial API ==&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|Serial Api}} is a special camera model, designed to inter-operate with an external computing device, such as a Raspberry Pi, Arduino, and alike, via a serial data line (in the following the example of a Raspberry Pi, denoted as RPi, is chosen). The prototypical application example would be to integrate [http://www.gphoto.org/ gphoto]-controlled cameras into the STorM32 system.&lt;br /&gt;
&lt;br /&gt;
The RPi is connected to the UART on the STorM32 controller which is selected in the parameter {{PARAMNAME|Camera ComPort}}. The serial API camera model then provides a set of commands to exchange information between the STorM32&#039;s NT Camera functionality and the RPi. On the RPi a script is running which handles the communication, i.e., translates the commands of the serial API into the corresponding actions needed for the specific camera which shall be operated, and vice versa.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Serial Api}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Select the UART ({{PARAMVALUE|default}} is currently not supported)&lt;br /&gt;
&lt;br /&gt;
The serial API currently consists of the following:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;shutter\n&amp;quot;, &amp;quot;videoon\n&amp;quot;, &amp;quot;videooff\n&amp;quot;: These commands correspond to the STorM32&#039;s internal SHUTTER, VIDEOON and VIDEOOFF states, and are send whenever the respective state is assumed. This can be via an input as selected in the parameter {{PARAMNAME|Camera Control}}, a serial command, a MAVLink command, or via the MAVLink Camera microservice.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;cntrl2high\n&amp;quot;, &amp;quot;cntrl2low\n&amp;quot;, &amp;quot;cntrl2stop\n&amp;quot;: These commands are send according to the state of the input selected in the parameter {{PARAMNAME|Camera Control2}}.&lt;br /&gt;
&lt;br /&gt;
* SENDCAMTEXT: This [[STorM32_Scripts|script]] command sends a user-defined string to the RPi (the string is appended by a &#039;\n&#039; character). This allows us to use the potential of scripts for controlling the camera handled by the RPi.&lt;br /&gt;
&lt;br /&gt;
An example Python script which can be run on a RPi is available in the firmware .zip file.&lt;br /&gt;
&lt;br /&gt;
== UartX Configuration ==&lt;br /&gt;
&lt;br /&gt;
The number of available UART ports on STorM32 boards is limited, especially on v1.3 boards, and it can thus happen that one is running out of them.&lt;br /&gt;
&lt;br /&gt;
In such cases, the RC-0 and RC-1 input pins can be reconfigured to work as a further UART port, then named UARTX. This comes at the obvious cost that these inputs cannot be used anymore as PWM, Spektrum, SBus, and alike inputs.&lt;br /&gt;
&lt;br /&gt;
For this, set:&lt;br /&gt;
* {{PARAMNAME|UartX Configuration}} = {{PARAMVALUE|uartX @ 115200}} (the parameter is located in the {{GUI|Setup}} tab)&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|uartX}}&lt;br /&gt;
&lt;br /&gt;
The physical assignment is&lt;br /&gt;
* RC-0 = UARTX Rx&lt;br /&gt;
* RC-1 = UARTX Tx&lt;br /&gt;
&lt;br /&gt;
For the location of the RC-0, RC-1 pins on your board please refer to [[Pins and Connectors]].&lt;br /&gt;
&lt;br /&gt;
== Stand-alone Use ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can also be used stand-alone, without a gimbal. This effectively allows us to convert any of the supported cameras into a MAVLink camera. &lt;br /&gt;
&lt;br /&gt;
This mode of operation can be especially useful for those camera models which provide features beyond the basic SHUTTER, VIDEOON, and VIDEOFF operations, such as the Runcam Split Mini2 or the GoPro Hero models.&lt;br /&gt;
&lt;br /&gt;
The camera and MAVLink settings are as described in the above for the respective camera model. Typically, the UART port would be used for the MAVLink connection to a flight controller, and the UART2 port for connecting to the camera.&lt;br /&gt;
&lt;br /&gt;
The main difference in setup would be to also disable the motors, by setting in the {{GUI|Setup}} tab:&lt;br /&gt;
* {{PARAMNAME|Pitch Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
* {{PARAMNAME|Roll Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
* {{PARAMNAME|Yaw Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
&lt;br /&gt;
=== Wiring ===&lt;br /&gt;
&lt;br /&gt;
For a v3.x STorM32 board the connection scheme could be as this, here shown for the example of the GoPro Hero model:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-standalone-goprohero.jpg|680px]]&lt;br /&gt;
&lt;br /&gt;
For a v1.x STorM32 board the UARTX configuration capability can come in handy. The setup for a Runcam Split Mini2could look like this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-standalone-runcamsplitmini2-v13board.jpg|680px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.rcgroups.com/forums/showthread.php?3422673-Mavlink-Camera-Conversions-%28using-STorM32%29&lt;/div&gt;</summary>
		<author><name>Seb</name></author>
	</entry>
	<entry>
		<id>http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=NT_Camera&amp;diff=9946</id>
		<title>NT Camera</title>
		<link rel="alternate" type="text/html" href="http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=NT_Camera&amp;diff=9946"/>
		<updated>2021-04-11T11:53:04Z</updated>

		<summary type="html">&lt;p&gt;Seb: /* Firefly Split 4K */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;The information on this page refers to firmware v2.58e and higher.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The NT Camera module allows us to remote control a camera. &lt;br /&gt;
&lt;br /&gt;
It thus serves a similar purpose as the various RC camera remote control modules, such as [http://vp-systems.eu/camremote.html CAMremote], [https://www.seagulluav.com/ Seagull], [https://www.gentles.ltd.uk/gentwire/multi.htm Gentles], [https://www.rcshutter.com/index.php?route=product/category&amp;amp;path=20 RcShutter], [http://wiki.mikrokopter.de/en/CamCtrl CamCntrl], [https://hobbyking.com/en_us/infrared-remote-shutter-controller-for-nikon-cameras.html IR Remote Shutter Controller], and all the other commercial and DIY solutions. &lt;br /&gt;
&lt;br /&gt;
However, instead of listening to e.g. a servo PWM signal, the NT Camera module listens to the data on the NT bus. It is thus usually connected to the NT bus near the camera NT IMU module, which results in extremely clean wiring schemes (see [[What is STorM32 NT about?|here]]). Separate NT Camera modules have in fact not emerged, but the NT Camera function is integrated into the NT IMU firmware. That is, the NT IMU module is also a NT Camera module (if it exposes the related pins to the user, which many of the available NT IMU modules do). For many camera models it is also possible to connect the camera, or a module operating it, directly to the STorM32 controller board, i.e., the STorM32 controller is then also a NT Camera module.&lt;br /&gt;
&lt;br /&gt;
In addition, the NT Camera module also serves as a &amp;quot;PWM Out&amp;quot; module. That is, it outputs a servo PWM signal, which is an exact mirror of the PWM output signal available on the main STorM32 board, when the {{PARAMNAME|Pwm Out Control}} parameter is enabled. This additional PWM signal can come in very handy and allows us doing all sorts of fancy things (e.g. motor zoom). It will not be further discussed in this article however.&lt;br /&gt;
&lt;br /&gt;
Historically, the STorM32&#039;s remote camera control started with an IR LED controller on the v1.3x main STorM32 board, and many of the camera models supported by the STorM32, such as the Sony Nex, are related to this. The NT Camera concept was introduced later, and extended to also provide PWM and serial UART signals to control cameras such as the Gitup Git2, RunCam Split, or GoPro Hero. The subsequent introduction of the [[MAVLink_Communication#MAVLink_Camera|MAVLink Camera component]] and the serial API has brought unprecedented cool camera control features to the user. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Concept and Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
The NT Camera is related to a number of parameters, which are located in two places in the GUI, the {{GUI|Functions}} tab and the {{GUI|Interfaces Tool}} dialog.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab we see:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Enables the function and selects the primary input.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Selects a secondary input, which is used by some camera models.&lt;br /&gt;
* {{PARAMNAME|Camera Model}}: Selects the camera model.&lt;br /&gt;
* {{PARAMNAME|Camera Control Mode}}: Functions executed then the primary input value is High or Low. The default is {{PARAMVALUE|video - off - shutter}} (usually does not need to be changed).&lt;br /&gt;
* {{PARAMNAME|Camera Time Interval}}: Setting this to 0 (off) will result in one photo being taken. If set to other than 0 photos will be taken continuously. The time period is from the start of the first photo to the start of the second photo, and so on. This parameter is functional for all camera models, and not further discussed below.&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Selects the UART port for camera models which use a serial interface. &lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Interfaces Tool}} dialog, accessible via the {{GUI|Experts Only}} menu, one finds further relevant parameters, which are associated with the [[MAVLink_Communication#MAVLink_Gimbal|MAVLink Gimbal]] and [[MAVLink_Communication#MAVLink_Camera|MAVLink Camera]] components:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Gimbal}}: Enables the MAVLink Gimbal component and sets its component ID.&lt;br /&gt;
* {{PARAMNAME|Mavlink ComPort}}: Selects the com port used for the MAVLink communication.&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: Sets the system ID for both the MAVLink Gimbal and Camera components. A value of {{PARAMVALUE|0}} enables autodetection.&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}}: Enables the MAVLink Camera component and sets its component ID.&lt;br /&gt;
&lt;br /&gt;
=== Camera Control Mode ===&lt;br /&gt;
&lt;br /&gt;
The {{PARAMNAME|Camera Control Mode}} parameter determines if and when the shutter is released and the video is started or stopped.&lt;br /&gt;
&lt;br /&gt;
The setting {{PARAMVALUE|video - off - shutter}} means that the shutter is released when the primary input value switches from neutral to High, and that the video is started when it switches from neutral to Low and stopped when it switches from Low to neutral. The setting {{PARAMVALUE|shutter - off - video}} does the same, except that High and Low are swapped.&lt;br /&gt;
&lt;br /&gt;
The setting {{PARAMVALUE|off - shutter}} means that the shutter is released when the primary input value switches from neutral (or Low) to High, and that the video cannot be started or stopped. In contrast, {{PARAMVALUE|off - video}} means that the video is started when the primary input value switches from neutral (or Low) to High, and stopped when it switches from High to neutral (or Low), and that the shutter cannot be released. The settings {{PARAMVALUE|shutter - off}} and {{PARAMVALUE|video - off}} do the same, except that High and Low are swapped.&lt;br /&gt;
&lt;br /&gt;
=== Camera Connection ===&lt;br /&gt;
&lt;br /&gt;
For some camera models the STorM32 checks if the camera is connected and up and running. Examples are the GoPro models since here not only a physical connection is needed but also a Wifi connection must be established, but this also applies to other models such as the {{PARAMVALUE|Runcam Split Mini2}}.&lt;br /&gt;
&lt;br /&gt;
For these models the GUI shows a &amp;quot;CAMERA&amp;quot; field in the {{GUI|Dashboard}} tab, with info such as &amp;quot;connected&amp;quot; or &amp;quot;not connected&amp;quot; which reveal the current state.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The general rule is that if a bi-directional communication is involved, then the STorM32 checks connection for that camera model.}}&lt;br /&gt;
&lt;br /&gt;
=== Processing Scheme ===&lt;br /&gt;
&lt;br /&gt;
The STorM32 camera remote control is based on three elementary operations: SHUTTER, VIDEOON and VIDEOOFF. These are supported by all camera models, and can be triggered by various sources: a signal on any of the STorM32&#039;s inputs, a script, a serial command, a MAVLink message to the MAVLink Gimbal component, or a MAVLink message to the MAVLink Camera component. The NT Camera module translates these elementary operations into the corresponding output signals as required for the specified camera model. The output signals can be PWM, low-high-low pulses, UART Tx and Rx, or whatever is required.&lt;br /&gt;
&lt;br /&gt;
In addition, some camera models (such as the {{PARAMVALUE|Runcam Split Mini2}} and {{PARAMVALUE|GoPro Hero7}}) provide a much richer set of features and functions, which the STorM32 makes accessible to the user via the [https://mavlink.io/en/services/camera.html MAVLink Camera Protocol microservice] provided by the MAVLink Camera component. This &amp;quot;richer set of features and functions&amp;quot; is in fact most cool and not easily explained in one sentence. It for instance allows the user to access many if not all camera settings from ground control stations such as QGroundControl, like it is known for DJI drones or the 3DR Solo. &lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-processing.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
== NT Camera Support by NT IMU Modules ==&lt;br /&gt;
&lt;br /&gt;
As mentioned in the introduction, the NT Camera is integrated into the NT IMU firmware. The NT IMU module provides these three signals on its EXT port pins:&lt;br /&gt;
&lt;br /&gt;
* EXT-3: Camera PWM signal, or Uart Tx, or other&lt;br /&gt;
* EXT-2: Camera pulse signal, or Uart Rx, or other&lt;br /&gt;
* EXT-1: Pwm Out servo PWM signal (with ca. 60 Hz frequency)&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Pwm Out&amp;quot; signal on pin EXT-1 is related to the {{PARAMNAME|Pwm Out Control}} function and is not further discussed here. See [[Advanced_Functions#Pwm_Out|Advanced Functions: Pwm Out]].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Camera&amp;quot; signals on EXT-3 and EXT-2 are related to the {{PARAMNAME|Camera Control}} and {{PARAMNAME|Pwm Out Control2}} functions, and depend on the {{PARAMNAME|Camera Model}} setting. For many camera models they are configured to output a PWM servo signal on EXT-3 and a pulse signal on EXT-2:&lt;br /&gt;
&lt;br /&gt;
* The PWM signal can directly feed cameras which can be triggered by such signals, such as the Gitup Git2 or Foxeer Legend, or can be connected to common RC camera remote control modules, such as those mentioned in the introduction. The frequency of the PWM signal is ca. 60 Hz.&lt;br /&gt;
&lt;br /&gt;
* The pulse signal consists of a 50 ms low/high/low pulse and can be used for all sorts of purposes. For instance, it could be connected to a [http://www.rcgroups.com/forums/showpost.php?p=30034371&amp;amp;postcount=2437 semiconductor relais] to drive an IR LED or shorten some pins on a USB remote.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 pins can also assume other functions however. For instance, for the RunCam camera they are configured to operate as Tx and Rx UART signals.&lt;br /&gt;
&lt;br /&gt;
The function matrix looks as this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!camera model&lt;br /&gt;
!EXT-3&lt;br /&gt;
!EXT-2&lt;br /&gt;
|-&lt;br /&gt;
| Sony Nex, Canon, Panasonic, Nikon,&amp;lt;/br&amp;gt;Git2 Rc, Mapir Survey Rc || PWM || pulse&lt;br /&gt;
|-&lt;br /&gt;
| CAMremote Rc || PWM || PWM2 passthrough&lt;br /&gt;
|-&lt;br /&gt;
| Firefly Split 4K Rc || pulse || pulse&lt;br /&gt;
|-&lt;br /&gt;
| Pwm || PWM passthrough || PWM2 passthrough&lt;br /&gt;
|-&lt;br /&gt;
| Runcam Generic || Tx || special purpose&lt;br /&gt;
|-&lt;br /&gt;
| CAMremote UART,&amp;lt;/br&amp;gt;Visca || Tx || pulse&lt;br /&gt;
|-&lt;br /&gt;
| Runcam Split Mini2,&amp;lt;/br&amp;gt;GoPro Hero7, GoPro Hero5, GoPro Generic,&amp;lt;/br&amp;gt; Serial Api || Tx || Rx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|For hardware reasons the NT IMU modules cannot drive IR LEDs, and the IR LED remote control option is thus not available with them.}}&lt;br /&gt;
&lt;br /&gt;
=== Pin Assignment on the v1.x and v2.x NT IMU Modules ===&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The v2.x and the &amp;quot;big&amp;quot; v1.x NT IMU modules expose the additional EXT port pins:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-v21-docu.jpg|510px]] [[File:Storm32-nt-imu-v10-docu-02.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Pin Assignment for the CC3D Atom and Atom Mini ===&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
Both the CC3D Atom and Atom Mini have six servo outputs labeled PWM1 to PWM6. They are assigned as follows to the EXT port pins:&lt;br /&gt;
&lt;br /&gt;
* PWM2 = EXT-1 = Pwm Out servo PWM signal&lt;br /&gt;
* PWM3 = EXT-3 = Camera servo PWM signal&lt;br /&gt;
* PWM4 = EXT-2 = Camera pulse signal&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-cc3datom-docu-03.jpg|480px]] [[File:CC3D_Case_Label.jpg|280px]]&lt;br /&gt;
&lt;br /&gt;
== RunCam ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can control a RunCam Split Mini2 by communicating to it via the camera&#039;s serial port. It has been confirmed to work also for a RunCam Split 2S and a RunCam Split Micro V3. It probably works for other similar cameras, but this is untested.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|nGszTJCzSMk|480}}&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger photos or start/stop videos. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Set to the desired input to access OSD. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Runcam Generic}} or {{PARAMVALUE|Runcam Split Mini2}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|default}}&lt;br /&gt;
&lt;br /&gt;
If you also want the MAVLink Camera features, then in addition set these parameters in the {{GUI|Interfaces}} menu:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}} = {{PARAMVALUE|Camera1}} or higher&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: usually can be {{PARAMVALUE|0}} &lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Some RunCam cameras such as the RunCam Split 2S provide video and photo modes. The RunCam protocol however does not allow us to reliably switch between video and photo mode, and the STorM32 therefore only supports the video mode. The implication is that the camera must be in video mode at startup.}}&lt;br /&gt;
&lt;br /&gt;
=== Camera Models ===&lt;br /&gt;
&lt;br /&gt;
Currently two camera models are available, {{PARAMVALUE|Runcam Generic}} and {{PARAMVALUE|Runcam Split Mini2}}.&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|Runcam Generic}} model allows us to start and stop recording a video. The underlying UART commands should be supported by all RunCam models with UART interface, so that this model is expected to work for them all.&lt;br /&gt;
&lt;br /&gt;
=== Wiring ===&lt;br /&gt;
&lt;br /&gt;
The connection diagram for a NT Imu v2.x looks like this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-runcamsplitmini2.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
== GoPro Hero ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can control a GoPro camera by communicating with it via Wifi.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|width=370|{{#ev:youtube|kT4zbvChs2g|420}}&lt;br /&gt;
|{{#ev:youtube|rhzkxKO-40c|420}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Here one thus requires an additional Wifi module, such as an ESP8266, Arduino MKR1000, or ESP32. The MKR1000 is quite pricey and very large, the ESP8266 works a bit dodgy, so I currently use a ESP32, which to me is the best deal. The Wifi module needs to be loaded with a particular firmware, and an Arduino sketch is available in my github repo (see link below)(currently only the ESP32 is supported, but you are of course welcome to adapt the sketch to also support e.g. the ESP8266).&lt;br /&gt;
&lt;br /&gt;
If you want to know more details about the technical inside, you may read [https://www.rcgroups.com/forums/showpost.php?p=42481889&amp;amp;postcount=2295 this post]. &lt;br /&gt;
&lt;br /&gt;
The Arduino sketches and C files (and other relevant material) are open source (GLP-v3) and available here: https://github.com/olliw42/goprohero.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;{{WARNING|WARNING: Both Wifi and most radio control systems work in the 2.4 GHz range, and interferences may thus happen and compromise your remote control signal quality}}&#039;&#039;. Unfortunately I could not find a single competent report or analysis of this topic on the web; all reports I found which say that it works are based on purely anecdotal evidence. So, please, be warned! In order to avoid issues as much as possible I have at least set the Wifi module&#039;s transmit power to the lowest possible level.&lt;br /&gt;
&lt;br /&gt;
The Wifi module (loaded with the Arduino sketch) is connected via its serial port to the NT Camera module, i.e. the EXT-3 and EXT-2 pins on your NT IMU module (see [[NT_Camera#NT_Camera_Support_by_NT_IMU_Modules | NT Camera Support by NT IMU Modules]]). Alternatively, the Wifi module can be connected to the UART or UART2 port on the main STorM32 controller, which often can be the more convenient setup, as it much simplifies wiring.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Wifi modules generally need to be powered from a strong, stable power source, since current draw can be high (not on average, but in the spikes). So, do not use the NT bus 5 V power line, unless you have ensured that it is of sufficient high power or understand what you&#039;re doing.}}&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger photos or start/stop videos. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|GoPro Hero7}}, {{PARAMVALUE|GoPro Hero5}} or {{PARAMVALUE|GoPro Generic}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Set to {{PARAMVALUE|default}} if the Wifi module is connected to the NT IMU module, or chose the UART or UART2 port.&lt;br /&gt;
&lt;br /&gt;
If you also want the MAVLink Camera features, then in addition set these parameters in the {{GUI|Interfaces}} menu:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}} = {{PARAMVALUE|Camera1}} or higher&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: usually can be {{PARAMVALUE|0}} &lt;br /&gt;
&lt;br /&gt;
=== Camera Models ===&lt;br /&gt;
&lt;br /&gt;
Currently three GoPro camera models are available, {{PARAMVALUE|GoPro Hero7}}, {{PARAMVALUE|GoPro Hero5}} and {{PARAMVALUE|GoPro Generic}}. However, other GoPro cameras probably will work too.&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|GoPro Generic}} model only provides basic support, i.e., only allows us to start and stop recording a video and taking pictures. It does so by using a Wifi command which is expected to be supported by &#039;&#039;&#039;&#039;&#039;all&#039;&#039;&#039;&#039;&#039; GoPro models with a Wifi interface. Accordingly, this model should work for all GoPro cameras. &lt;br /&gt;
&lt;br /&gt;
The other camera models use Wifi settings which can be specific to the particular model, and if a model works also for other GoPro cameras thus depends on the compatibility details.&lt;br /&gt;
&lt;br /&gt;
=== Huzzah32-ESP32 Breakout Board ===&lt;br /&gt;
&lt;br /&gt;
The connection diagram for a NT Imu v2.x and an [https://www.adafruit.com/product/4172 Adafruit HUZZAH32–ESP32 Breakout Board] can look as this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-huzzah-esp32.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The HUZZAH32–ESP32 breakout board was the best option I found price and size wise, and that&#039;s why I use it. The connection diagram should be similar for other ESP32 boards.}}&amp;lt;!--{{COMMENT|The HUZZAH32–ESP32 breakout board was the best option I found price and size wise. It&#039;s a cute board, with however a nasty flaw: see [[https://forums.adafruit.com/viewtopic.php?f=57&amp;amp;t=153553 here]], where also solutions are provided.}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CAMremote ==&lt;br /&gt;
&lt;br /&gt;
The CAMremote from VP-Systems is a highly functional and versatile camera remote controller. The STorM32 supports it by two camera models, called {{PARAMVALUE|CAMremote Rc}} and {{PARAMVALUE|CAMremote UART}}.&lt;br /&gt;
&lt;br /&gt;
=== CAMremote RC ===&lt;br /&gt;
&lt;br /&gt;
The CAMremote provides several settings where the shutter and video on/off can be controlled via a PWM signal on the CAMremote&#039;s CH0 input. In combination with the NT Camera module, several configurations are possible, the most generic one would be to use either of these:&lt;br /&gt;
&lt;br /&gt;
* CH0 = Record/AF/Shoot&lt;br /&gt;
* CH0 = Record/Shoot&lt;br /&gt;
&lt;br /&gt;
The EXT-3 pin on the NT IMU module should then be connected to the CH0 input on the CAMremote. &lt;br /&gt;
&lt;br /&gt;
The PWM2 passthrough output on the NT IMU module, or pin EXT-2, can then be connected to the CAMremote&#039;s CH1 to invoke additional features, such a manual focus, zoom in/out, and so on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Comment&#039;&#039;&#039;: This has been tested using NT IMU firmware v0.28 and &amp;quot;RC receiver (CH0=Record/AF/Shoot, CH1=SmoothZoom, CH2=Alt)-mode&amp;quot; on CAMremote 3.0.9. In case the shutter does not trigger a photo on the camera it might be necessary to increase the focus time to give the camera time to focus.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The disadvantage of using the CAMremote with PWM input signals is that one only can toggle between VIDEOON and VIDEOOFF, and not directly set VIDEOON or VIDEOOFF, so that the actual recording state might be lost by the user.&lt;br /&gt;
&lt;br /&gt;
=== CAMremote UART ===&lt;br /&gt;
&lt;br /&gt;
The CAMremote also provides a serial UART interface, which provides access to a much richer set of features and functions than with the control via PWM signals. &lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 pins on the NT IMU module should be connected to the Tx/Rx inputs on the CAMremote, respectively. &lt;br /&gt;
&lt;br /&gt;
Currently, the STorM32 supports the &#039;shoot&#039;, &#039;recon&#039; and &#039;recoff&#039; commands.&lt;br /&gt;
&lt;br /&gt;
This brings the great advantage that VIDEOON and VIDEOOFF are now set directly, and not only toggled as with the PWM input, so that the actual recording state is always known to the user.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://vp-systems.eu/camremote.html&lt;br /&gt;
* http://vp-systems.eu/manual_cr.html&lt;br /&gt;
* https://vp-systems.eu/cr_uart.html&lt;br /&gt;
&lt;br /&gt;
== Visca PTZ ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera supports PTZ cameras using the VISCA protocol at 9600 baud.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 pin on the NT IMU module should be connected to the Rx input on the PTZ camera (not RS232 or RS422, but UART-TTL input). &lt;br /&gt;
&lt;br /&gt;
Currently, the STorM32 supports the &#039;CAM_Power On&#039;, &#039;CAM_Power Off&#039;, &#039;CAM_Zoom Stop&#039;, &#039;CAM_Zoom Tele(Variable)&#039; and &#039;CAM_Zoom Wide(Variable)&#039; VISCA commands. The power on/off commands are mapped to the video on/off function, available with the {{PARAMNAME|Camera Control}} input. The zoom commands are attached to the {{PARAMNAME|Camera Control2}} input.&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger power on/off. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Set to the desired input to zoom in or out. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Visca}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|default}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.epiphan.com/userguides/LUMiO12x/Content/UserGuides/PTZ/3-operation/VISCAcommands.htm&lt;br /&gt;
* https://www.snapav.com/wcsstore/ExtendedSitesCatalogAssetStore/attachments/documents/USBProducts/ManualsAndGuides/Visca%20Protocol2.pdf&lt;br /&gt;
&lt;br /&gt;
== Firefly Split 4K ==&lt;br /&gt;
&lt;br /&gt;
The Firefly Split 4K can be controlled by two HIGH-LOW-HIGH pulses for triggering shutter and starting/stoping video recording.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 port pins on the NT IMU module are assigned as follows:&lt;br /&gt;
&lt;br /&gt;
* EXT-3: HIGH-LOW-HIGH pulse of 100 ms duration for shutter control&lt;br /&gt;
* EXT-2: HIGH-LOW-HIGH pulse of 100 ms duration for starting/stoping video recording&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you wish to use&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Firefly Split 4K Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
As the Firefly Split 4K crashes when the trigger input is too fast (especially starting/stopping video, tested with firmware 20201015), STorM32 enforces a delay between the trigger pulses to prevent this.&lt;br /&gt;
&lt;br /&gt;
=== Cabling information ===&lt;br /&gt;
&lt;br /&gt;
Connect the trigger input pins of the Firefly 4K Split Cam to the [[Pins_and_Connectors_of_NT_Modules|IMU]]:&lt;br /&gt;
&lt;br /&gt;
* green cable, rightmost pin -&amp;gt; EXT-2&lt;br /&gt;
* blue cable -&amp;gt; EXT-3&lt;br /&gt;
&lt;br /&gt;
The pcb is conformal coated, if you want to solder directly on the connector pins, it&#039;s easier to solder if you remove it with a glass fiber pencil. &lt;br /&gt;
&lt;br /&gt;
The board provides 3.3V on solder tags next to the connector and 5V on a capacitor pin (as shown on Hawkeye&#039;s official web site), this can be used to power the IMU and to save one cable. Select voltage depending on your IMU.&lt;br /&gt;
&lt;br /&gt;
As the IMU outputs max. 3.3V, you can disregard the manual&#039;s warning to not connect any power to the trigger pins.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Official How to connect Hawkeye Firefly 4K Split Cam information: http://www.cnfpv.com/portal.php?mod=view&amp;amp;aid=158&lt;br /&gt;
&lt;br /&gt;
== Gitup Git2 ==&lt;br /&gt;
&lt;br /&gt;
The Gitup Git2 can receive a PWM signal on its Micro HDMI port to control video recording and photo triggering. The details can be found on the Gitup site. In general, a 3 position switch will be used on your transmitter: The middle position should be set to 1500 µs and will do nothing. Low position, &amp;lt; 1250 µs, will start recording video when switched. High position, &amp;gt; 1800 µs, will take a photo when switched. If your transmitter channel is setup as 0%, 50%, 100% (or -100, 0, 100) for Low, Mid, and High, then you should be fine.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|To avoid misunderstanding, please note that the transmitter switch PWM values mentioned for transmitter setup are not those which are send to the camera. The STorM32 will translate the received input PWM values into those required by the camera.}}&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* http://www.rcgroups.com/forums/showpost.php?p=34538383&amp;amp;postcount=3443&lt;br /&gt;
* https://www.gitup.com/cameras/73-gitup-git2p-standard-packing-170-degree-lens.html&lt;br /&gt;
&lt;br /&gt;
=== Cable Information ===&lt;br /&gt;
&lt;br /&gt;
Gitup provides a Remote Shutter cable. If you choose to make your own, then please follow the pinouts for the [https://en.wikipedia.org/wiki/HDMI#Connectors Micro HDMI (type D)] connector, not Mini or full size because they are different (see [https://upload.wikimedia.org/wikipedia/commons/a/a5/HDMI_Connector.jpg here]).&lt;br /&gt;
&lt;br /&gt;
* Signal In: Micro HDMI Pin 2 (usually denoted as Utility or Reserved on pinouts)&lt;br /&gt;
* Signal Gnd: Micro HDMI Pin 4 (TMDS Data2 Shield, or any other shield pin; even the connector&#039;s case works)&lt;br /&gt;
&lt;br /&gt;
:[[File:Git2 Micro HDMI Pinout.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The Git2 uses its Mini USB port for both Video Out and Power In to charge or power the camera. While Gitup also provides this cable, FPV cables for the GoPro works as well. Gitup also provides a combo board/cable, which contains both the HDMI and USB connectors.}}&lt;br /&gt;
&lt;br /&gt;
=== Cable and Camera Function Test ===&lt;br /&gt;
&lt;br /&gt;
Once you have your cable and transmitter configured as above, connect your receiver or flight controller, and test it out. It should work before moving to the next step.&lt;br /&gt;
&lt;br /&gt;
=== CC3D NT IMU, STorM32 and Git2 Camera Integration ===&lt;br /&gt;
&lt;br /&gt;
This section is based on using the Mini CC3D Atom. Other NT IMU modules which expose the EXT pins should work equally well however. The following is only one of the several possible configuration options available with the STorM32.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT| Your STorM32 and NT IMU need to communicate correctly, it is however not mandatory that the gimbal has been configured or tuned.}}&lt;br /&gt;
&lt;br /&gt;
Wire up as follows:&lt;br /&gt;
&lt;br /&gt;
* Connect your receiver, or flight controller, to one of the seven STorM32 RC ports (RC-0 through RC2-3), or use any other input channel (see [[Inputs and Functions]]).&lt;br /&gt;
&lt;br /&gt;
* Connect the Git2 Remote Shutter cable to the EXT-3 and GND pins on the NT IMU (see [[NT_Camera#NT_Camera Support_by_NT_IMU_Modules|NT Camera Support by NT IMU Modules]]).&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab use the column for {{PARAMNAME|Camera Control}} and set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you wish to use&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Git2 Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
== Foxeer Legend 1 ==&lt;br /&gt;
&lt;br /&gt;
This should work as for the Gitup Git2, with identical settings. This has not yet been tested though.&lt;br /&gt;
&lt;br /&gt;
* http://foxeer.com/XAT800-Effio-V-Camera-a-10.html&lt;br /&gt;
* http://data.foxeer.com/Manual_LEGEND1_FOXEER.pdf&lt;br /&gt;
&lt;br /&gt;
== Mapir Survey ==&lt;br /&gt;
&lt;br /&gt;
The Mapir Survey is in many regards similar to the Gitup Git2. For instance, it also can receive a PWM signal on its Micro HDMI port for control. However, the PWM signal required by the Mapir is quite different to that for the Git2. Furthermore, only photos can be triggered, but video recording cannot be started/stopped. Thus, the Git2 camera model cannot be used for the Mapir.&lt;br /&gt;
&lt;br /&gt;
The electrical connections and setup are largely identical to the Git2, so please look up there. These differences might be noteworthy:&lt;br /&gt;
&lt;br /&gt;
In general, a 2 position switch will be used on your transmitter: The middle position should be set to 1500 µs and will do nothing. High position, &amp;gt; 1800 µs, will take a photo when switched.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab use the column for {{PARAMNAME|Camera Control}} and set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you desire&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Mapir Survey Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|To avoid misunderstanding, please note that the transmitter switch PWM values mentioned for transmitter setup are not those which are send to the camera. The STorM32 will translate the received input PWM values into those required by the camera.}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.rcgroups.com/forums/showthread.php?2055844-STorM32-BGC-32-bit-3-axis-brushless-gimbal-controller/page232&amp;amp;perpage=50#post42713367&lt;br /&gt;
* https://www.mapir.camera/pages/survey3-cameras&lt;br /&gt;
* https://cdn.shopify.com/s/files/1/0878/4732/files/MAPIR_Survey3_Manual_v1.pdf&lt;br /&gt;
&lt;br /&gt;
== Serial API ==&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|Serial Api}} is a special camera model, designed to inter-operate with an external computing device, such as a Raspberry Pi, Arduino, and alike, via a serial data line (in the following the example of a Raspberry Pi, denoted as RPi, is chosen). The prototypical application example would be to integrate [http://www.gphoto.org/ gphoto]-controlled cameras into the STorM32 system.&lt;br /&gt;
&lt;br /&gt;
The RPi is connected to the UART on the STorM32 controller which is selected in the parameter {{PARAMNAME|Camera ComPort}}. The serial API camera model then provides a set of commands to exchange information between the STorM32&#039;s NT Camera functionality and the RPi. On the RPi a script is running which handles the communication, i.e., translates the commands of the serial API into the corresponding actions needed for the specific camera which shall be operated, and vice versa.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Serial Api}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Select the UART ({{PARAMVALUE|default}} is currently not supported)&lt;br /&gt;
&lt;br /&gt;
The serial API currently consists of the following:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;shutter\n&amp;quot;, &amp;quot;videoon\n&amp;quot;, &amp;quot;videooff\n&amp;quot;: These commands correspond to the STorM32&#039;s internal SHUTTER, VIDEOON and VIDEOOFF states, and are send whenever the respective state is assumed. This can be via an input as selected in the parameter {{PARAMNAME|Camera Control}}, a serial command, a MAVLink command, or via the MAVLink Camera microservice.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;cntrl2high\n&amp;quot;, &amp;quot;cntrl2low\n&amp;quot;, &amp;quot;cntrl2stop\n&amp;quot;: These commands are send according to the state of the input selected in the parameter {{PARAMNAME|Camera Control2}}.&lt;br /&gt;
&lt;br /&gt;
* SENDCAMTEXT: This [[STorM32_Scripts|script]] command sends a user-defined string to the RPi (the string is appended by a &#039;\n&#039; character). This allows us to use the potential of scripts for controlling the camera handled by the RPi.&lt;br /&gt;
&lt;br /&gt;
An example Python script which can be run on a RPi is available in the firmware .zip file.&lt;br /&gt;
&lt;br /&gt;
== UartX Configuration ==&lt;br /&gt;
&lt;br /&gt;
The number of available UART ports on STorM32 boards is limited, especially on v1.3 boards, and it can thus happen that one is running out of them.&lt;br /&gt;
&lt;br /&gt;
In such cases, the RC-0 and RC-1 input pins can be reconfigured to work as a further UART port, then named UARTX. This comes at the obvious cost that these inputs cannot be used anymore as PWM, Spektrum, SBus, and alike inputs.&lt;br /&gt;
&lt;br /&gt;
For this, set:&lt;br /&gt;
* {{PARAMNAME|UartX Configuration}} = {{PARAMVALUE|uartX @ 115200}} (the parameter is located in the {{GUI|Setup}} tab)&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|uartX}}&lt;br /&gt;
&lt;br /&gt;
The physical assignment is&lt;br /&gt;
* RC-0 = UARTX Rx&lt;br /&gt;
* RC-1 = UARTX Tx&lt;br /&gt;
&lt;br /&gt;
For the location of the RC-0, RC-1 pins on your board please refer to [[Pins and Connectors]].&lt;br /&gt;
&lt;br /&gt;
== Stand-alone Use ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can also be used stand-alone, without a gimbal. This effectively allows us to convert any of the supported cameras into a MAVLink camera. &lt;br /&gt;
&lt;br /&gt;
This mode of operation can be especially useful for those camera models which provide features beyond the basic SHUTTER, VIDEOON, and VIDEOFF operations, such as the Runcam Split Mini2 or the GoPro Hero models.&lt;br /&gt;
&lt;br /&gt;
The camera and MAVLink settings are as described in the above for the respective camera model. Typically, the UART port would be used for the MAVLink connection to a flight controller, and the UART2 port for connecting to the camera.&lt;br /&gt;
&lt;br /&gt;
The main difference in setup would be to also disable the motors, by setting in the {{GUI|Setup}} tab:&lt;br /&gt;
* {{PARAMNAME|Pitch Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
* {{PARAMNAME|Roll Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
* {{PARAMNAME|Yaw Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
&lt;br /&gt;
=== Wiring ===&lt;br /&gt;
&lt;br /&gt;
For a v3.x STorM32 board the connection scheme could be as this, here shown for the example of the GoPro Hero model:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-standalone-goprohero.jpg|680px]]&lt;br /&gt;
&lt;br /&gt;
For a v1.x STorM32 board the UARTX configuration capability can come in handy. The setup for a Runcam Split Mini2could look like this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-standalone-runcamsplitmini2-v13board.jpg|680px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.rcgroups.com/forums/showthread.php?3422673-Mavlink-Camera-Conversions-%28using-STorM32%29&lt;/div&gt;</summary>
		<author><name>Seb</name></author>
	</entry>
	<entry>
		<id>http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=NT_Camera&amp;diff=9945</id>
		<title>NT Camera</title>
		<link rel="alternate" type="text/html" href="http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=NT_Camera&amp;diff=9945"/>
		<updated>2021-04-11T11:48:49Z</updated>

		<summary type="html">&lt;p&gt;Seb: /* Firefly Split 4K */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;The information on this page refers to firmware v2.58e and higher.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The NT Camera module allows us to remote control a camera. &lt;br /&gt;
&lt;br /&gt;
It thus serves a similar purpose as the various RC camera remote control modules, such as [http://vp-systems.eu/camremote.html CAMremote], [https://www.seagulluav.com/ Seagull], [https://www.gentles.ltd.uk/gentwire/multi.htm Gentles], [https://www.rcshutter.com/index.php?route=product/category&amp;amp;path=20 RcShutter], [http://wiki.mikrokopter.de/en/CamCtrl CamCntrl], [https://hobbyking.com/en_us/infrared-remote-shutter-controller-for-nikon-cameras.html IR Remote Shutter Controller], and all the other commercial and DIY solutions. &lt;br /&gt;
&lt;br /&gt;
However, instead of listening to e.g. a servo PWM signal, the NT Camera module listens to the data on the NT bus. It is thus usually connected to the NT bus near the camera NT IMU module, which results in extremely clean wiring schemes (see [[What is STorM32 NT about?|here]]). Separate NT Camera modules have in fact not emerged, but the NT Camera function is integrated into the NT IMU firmware. That is, the NT IMU module is also a NT Camera module (if it exposes the related pins to the user, which many of the available NT IMU modules do). For many camera models it is also possible to connect the camera, or a module operating it, directly to the STorM32 controller board, i.e., the STorM32 controller is then also a NT Camera module.&lt;br /&gt;
&lt;br /&gt;
In addition, the NT Camera module also serves as a &amp;quot;PWM Out&amp;quot; module. That is, it outputs a servo PWM signal, which is an exact mirror of the PWM output signal available on the main STorM32 board, when the {{PARAMNAME|Pwm Out Control}} parameter is enabled. This additional PWM signal can come in very handy and allows us doing all sorts of fancy things (e.g. motor zoom). It will not be further discussed in this article however.&lt;br /&gt;
&lt;br /&gt;
Historically, the STorM32&#039;s remote camera control started with an IR LED controller on the v1.3x main STorM32 board, and many of the camera models supported by the STorM32, such as the Sony Nex, are related to this. The NT Camera concept was introduced later, and extended to also provide PWM and serial UART signals to control cameras such as the Gitup Git2, RunCam Split, or GoPro Hero. The subsequent introduction of the [[MAVLink_Communication#MAVLink_Camera|MAVLink Camera component]] and the serial API has brought unprecedented cool camera control features to the user. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Concept and Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
The NT Camera is related to a number of parameters, which are located in two places in the GUI, the {{GUI|Functions}} tab and the {{GUI|Interfaces Tool}} dialog.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab we see:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Enables the function and selects the primary input.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Selects a secondary input, which is used by some camera models.&lt;br /&gt;
* {{PARAMNAME|Camera Model}}: Selects the camera model.&lt;br /&gt;
* {{PARAMNAME|Camera Control Mode}}: Functions executed then the primary input value is High or Low. The default is {{PARAMVALUE|video - off - shutter}} (usually does not need to be changed).&lt;br /&gt;
* {{PARAMNAME|Camera Time Interval}}: Setting this to 0 (off) will result in one photo being taken. If set to other than 0 photos will be taken continuously. The time period is from the start of the first photo to the start of the second photo, and so on. This parameter is functional for all camera models, and not further discussed below.&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Selects the UART port for camera models which use a serial interface. &lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Interfaces Tool}} dialog, accessible via the {{GUI|Experts Only}} menu, one finds further relevant parameters, which are associated with the [[MAVLink_Communication#MAVLink_Gimbal|MAVLink Gimbal]] and [[MAVLink_Communication#MAVLink_Camera|MAVLink Camera]] components:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Gimbal}}: Enables the MAVLink Gimbal component and sets its component ID.&lt;br /&gt;
* {{PARAMNAME|Mavlink ComPort}}: Selects the com port used for the MAVLink communication.&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: Sets the system ID for both the MAVLink Gimbal and Camera components. A value of {{PARAMVALUE|0}} enables autodetection.&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}}: Enables the MAVLink Camera component and sets its component ID.&lt;br /&gt;
&lt;br /&gt;
=== Camera Control Mode ===&lt;br /&gt;
&lt;br /&gt;
The {{PARAMNAME|Camera Control Mode}} parameter determines if and when the shutter is released and the video is started or stopped.&lt;br /&gt;
&lt;br /&gt;
The setting {{PARAMVALUE|video - off - shutter}} means that the shutter is released when the primary input value switches from neutral to High, and that the video is started when it switches from neutral to Low and stopped when it switches from Low to neutral. The setting {{PARAMVALUE|shutter - off - video}} does the same, except that High and Low are swapped.&lt;br /&gt;
&lt;br /&gt;
The setting {{PARAMVALUE|off - shutter}} means that the shutter is released when the primary input value switches from neutral (or Low) to High, and that the video cannot be started or stopped. In contrast, {{PARAMVALUE|off - video}} means that the video is started when the primary input value switches from neutral (or Low) to High, and stopped when it switches from High to neutral (or Low), and that the shutter cannot be released. The settings {{PARAMVALUE|shutter - off}} and {{PARAMVALUE|video - off}} do the same, except that High and Low are swapped.&lt;br /&gt;
&lt;br /&gt;
=== Camera Connection ===&lt;br /&gt;
&lt;br /&gt;
For some camera models the STorM32 checks if the camera is connected and up and running. Examples are the GoPro models since here not only a physical connection is needed but also a Wifi connection must be established, but this also applies to other models such as the {{PARAMVALUE|Runcam Split Mini2}}.&lt;br /&gt;
&lt;br /&gt;
For these models the GUI shows a &amp;quot;CAMERA&amp;quot; field in the {{GUI|Dashboard}} tab, with info such as &amp;quot;connected&amp;quot; or &amp;quot;not connected&amp;quot; which reveal the current state.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The general rule is that if a bi-directional communication is involved, then the STorM32 checks connection for that camera model.}}&lt;br /&gt;
&lt;br /&gt;
=== Processing Scheme ===&lt;br /&gt;
&lt;br /&gt;
The STorM32 camera remote control is based on three elementary operations: SHUTTER, VIDEOON and VIDEOOFF. These are supported by all camera models, and can be triggered by various sources: a signal on any of the STorM32&#039;s inputs, a script, a serial command, a MAVLink message to the MAVLink Gimbal component, or a MAVLink message to the MAVLink Camera component. The NT Camera module translates these elementary operations into the corresponding output signals as required for the specified camera model. The output signals can be PWM, low-high-low pulses, UART Tx and Rx, or whatever is required.&lt;br /&gt;
&lt;br /&gt;
In addition, some camera models (such as the {{PARAMVALUE|Runcam Split Mini2}} and {{PARAMVALUE|GoPro Hero7}}) provide a much richer set of features and functions, which the STorM32 makes accessible to the user via the [https://mavlink.io/en/services/camera.html MAVLink Camera Protocol microservice] provided by the MAVLink Camera component. This &amp;quot;richer set of features and functions&amp;quot; is in fact most cool and not easily explained in one sentence. It for instance allows the user to access many if not all camera settings from ground control stations such as QGroundControl, like it is known for DJI drones or the 3DR Solo. &lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-processing.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
== NT Camera Support by NT IMU Modules ==&lt;br /&gt;
&lt;br /&gt;
As mentioned in the introduction, the NT Camera is integrated into the NT IMU firmware. The NT IMU module provides these three signals on its EXT port pins:&lt;br /&gt;
&lt;br /&gt;
* EXT-3: Camera PWM signal, or Uart Tx, or other&lt;br /&gt;
* EXT-2: Camera pulse signal, or Uart Rx, or other&lt;br /&gt;
* EXT-1: Pwm Out servo PWM signal (with ca. 60 Hz frequency)&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Pwm Out&amp;quot; signal on pin EXT-1 is related to the {{PARAMNAME|Pwm Out Control}} function and is not further discussed here. See [[Advanced_Functions#Pwm_Out|Advanced Functions: Pwm Out]].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Camera&amp;quot; signals on EXT-3 and EXT-2 are related to the {{PARAMNAME|Camera Control}} and {{PARAMNAME|Pwm Out Control2}} functions, and depend on the {{PARAMNAME|Camera Model}} setting. For many camera models they are configured to output a PWM servo signal on EXT-3 and a pulse signal on EXT-2:&lt;br /&gt;
&lt;br /&gt;
* The PWM signal can directly feed cameras which can be triggered by such signals, such as the Gitup Git2 or Foxeer Legend, or can be connected to common RC camera remote control modules, such as those mentioned in the introduction. The frequency of the PWM signal is ca. 60 Hz.&lt;br /&gt;
&lt;br /&gt;
* The pulse signal consists of a 50 ms low/high/low pulse and can be used for all sorts of purposes. For instance, it could be connected to a [http://www.rcgroups.com/forums/showpost.php?p=30034371&amp;amp;postcount=2437 semiconductor relais] to drive an IR LED or shorten some pins on a USB remote.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 pins can also assume other functions however. For instance, for the RunCam camera they are configured to operate as Tx and Rx UART signals.&lt;br /&gt;
&lt;br /&gt;
The function matrix looks as this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!camera model&lt;br /&gt;
!EXT-3&lt;br /&gt;
!EXT-2&lt;br /&gt;
|-&lt;br /&gt;
| Sony Nex, Canon, Panasonic, Nikon,&amp;lt;/br&amp;gt;Git2 Rc, Mapir Survey Rc || PWM || pulse&lt;br /&gt;
|-&lt;br /&gt;
| CAMremote Rc || PWM || PWM2 passthrough&lt;br /&gt;
|-&lt;br /&gt;
| Firefly Split 4K Rc || pulse || pulse&lt;br /&gt;
|-&lt;br /&gt;
| Pwm || PWM passthrough || PWM2 passthrough&lt;br /&gt;
|-&lt;br /&gt;
| Runcam Generic || Tx || special purpose&lt;br /&gt;
|-&lt;br /&gt;
| CAMremote UART,&amp;lt;/br&amp;gt;Visca || Tx || pulse&lt;br /&gt;
|-&lt;br /&gt;
| Runcam Split Mini2,&amp;lt;/br&amp;gt;GoPro Hero7, GoPro Hero5, GoPro Generic,&amp;lt;/br&amp;gt; Serial Api || Tx || Rx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|For hardware reasons the NT IMU modules cannot drive IR LEDs, and the IR LED remote control option is thus not available with them.}}&lt;br /&gt;
&lt;br /&gt;
=== Pin Assignment on the v1.x and v2.x NT IMU Modules ===&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The v2.x and the &amp;quot;big&amp;quot; v1.x NT IMU modules expose the additional EXT port pins:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-v21-docu.jpg|510px]] [[File:Storm32-nt-imu-v10-docu-02.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Pin Assignment for the CC3D Atom and Atom Mini ===&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
Both the CC3D Atom and Atom Mini have six servo outputs labeled PWM1 to PWM6. They are assigned as follows to the EXT port pins:&lt;br /&gt;
&lt;br /&gt;
* PWM2 = EXT-1 = Pwm Out servo PWM signal&lt;br /&gt;
* PWM3 = EXT-3 = Camera servo PWM signal&lt;br /&gt;
* PWM4 = EXT-2 = Camera pulse signal&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-cc3datom-docu-03.jpg|480px]] [[File:CC3D_Case_Label.jpg|280px]]&lt;br /&gt;
&lt;br /&gt;
== RunCam ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can control a RunCam Split Mini2 by communicating to it via the camera&#039;s serial port. It has been confirmed to work also for a RunCam Split 2S and a RunCam Split Micro V3. It probably works for other similar cameras, but this is untested.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|nGszTJCzSMk|480}}&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger photos or start/stop videos. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Set to the desired input to access OSD. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Runcam Generic}} or {{PARAMVALUE|Runcam Split Mini2}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|default}}&lt;br /&gt;
&lt;br /&gt;
If you also want the MAVLink Camera features, then in addition set these parameters in the {{GUI|Interfaces}} menu:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}} = {{PARAMVALUE|Camera1}} or higher&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: usually can be {{PARAMVALUE|0}} &lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Some RunCam cameras such as the RunCam Split 2S provide video and photo modes. The RunCam protocol however does not allow us to reliably switch between video and photo mode, and the STorM32 therefore only supports the video mode. The implication is that the camera must be in video mode at startup.}}&lt;br /&gt;
&lt;br /&gt;
=== Camera Models ===&lt;br /&gt;
&lt;br /&gt;
Currently two camera models are available, {{PARAMVALUE|Runcam Generic}} and {{PARAMVALUE|Runcam Split Mini2}}.&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|Runcam Generic}} model allows us to start and stop recording a video. The underlying UART commands should be supported by all RunCam models with UART interface, so that this model is expected to work for them all.&lt;br /&gt;
&lt;br /&gt;
=== Wiring ===&lt;br /&gt;
&lt;br /&gt;
The connection diagram for a NT Imu v2.x looks like this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-runcamsplitmini2.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
== GoPro Hero ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can control a GoPro camera by communicating with it via Wifi.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|width=370|{{#ev:youtube|kT4zbvChs2g|420}}&lt;br /&gt;
|{{#ev:youtube|rhzkxKO-40c|420}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Here one thus requires an additional Wifi module, such as an ESP8266, Arduino MKR1000, or ESP32. The MKR1000 is quite pricey and very large, the ESP8266 works a bit dodgy, so I currently use a ESP32, which to me is the best deal. The Wifi module needs to be loaded with a particular firmware, and an Arduino sketch is available in my github repo (see link below)(currently only the ESP32 is supported, but you are of course welcome to adapt the sketch to also support e.g. the ESP8266).&lt;br /&gt;
&lt;br /&gt;
If you want to know more details about the technical inside, you may read [https://www.rcgroups.com/forums/showpost.php?p=42481889&amp;amp;postcount=2295 this post]. &lt;br /&gt;
&lt;br /&gt;
The Arduino sketches and C files (and other relevant material) are open source (GLP-v3) and available here: https://github.com/olliw42/goprohero.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;{{WARNING|WARNING: Both Wifi and most radio control systems work in the 2.4 GHz range, and interferences may thus happen and compromise your remote control signal quality}}&#039;&#039;. Unfortunately I could not find a single competent report or analysis of this topic on the web; all reports I found which say that it works are based on purely anecdotal evidence. So, please, be warned! In order to avoid issues as much as possible I have at least set the Wifi module&#039;s transmit power to the lowest possible level.&lt;br /&gt;
&lt;br /&gt;
The Wifi module (loaded with the Arduino sketch) is connected via its serial port to the NT Camera module, i.e. the EXT-3 and EXT-2 pins on your NT IMU module (see [[NT_Camera#NT_Camera_Support_by_NT_IMU_Modules | NT Camera Support by NT IMU Modules]]). Alternatively, the Wifi module can be connected to the UART or UART2 port on the main STorM32 controller, which often can be the more convenient setup, as it much simplifies wiring.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Wifi modules generally need to be powered from a strong, stable power source, since current draw can be high (not on average, but in the spikes). So, do not use the NT bus 5 V power line, unless you have ensured that it is of sufficient high power or understand what you&#039;re doing.}}&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger photos or start/stop videos. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|GoPro Hero7}}, {{PARAMVALUE|GoPro Hero5}} or {{PARAMVALUE|GoPro Generic}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Set to {{PARAMVALUE|default}} if the Wifi module is connected to the NT IMU module, or chose the UART or UART2 port.&lt;br /&gt;
&lt;br /&gt;
If you also want the MAVLink Camera features, then in addition set these parameters in the {{GUI|Interfaces}} menu:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}} = {{PARAMVALUE|Camera1}} or higher&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: usually can be {{PARAMVALUE|0}} &lt;br /&gt;
&lt;br /&gt;
=== Camera Models ===&lt;br /&gt;
&lt;br /&gt;
Currently three GoPro camera models are available, {{PARAMVALUE|GoPro Hero7}}, {{PARAMVALUE|GoPro Hero5}} and {{PARAMVALUE|GoPro Generic}}. However, other GoPro cameras probably will work too.&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|GoPro Generic}} model only provides basic support, i.e., only allows us to start and stop recording a video and taking pictures. It does so by using a Wifi command which is expected to be supported by &#039;&#039;&#039;&#039;&#039;all&#039;&#039;&#039;&#039;&#039; GoPro models with a Wifi interface. Accordingly, this model should work for all GoPro cameras. &lt;br /&gt;
&lt;br /&gt;
The other camera models use Wifi settings which can be specific to the particular model, and if a model works also for other GoPro cameras thus depends on the compatibility details.&lt;br /&gt;
&lt;br /&gt;
=== Huzzah32-ESP32 Breakout Board ===&lt;br /&gt;
&lt;br /&gt;
The connection diagram for a NT Imu v2.x and an [https://www.adafruit.com/product/4172 Adafruit HUZZAH32–ESP32 Breakout Board] can look as this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-huzzah-esp32.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The HUZZAH32–ESP32 breakout board was the best option I found price and size wise, and that&#039;s why I use it. The connection diagram should be similar for other ESP32 boards.}}&amp;lt;!--{{COMMENT|The HUZZAH32–ESP32 breakout board was the best option I found price and size wise. It&#039;s a cute board, with however a nasty flaw: see [[https://forums.adafruit.com/viewtopic.php?f=57&amp;amp;t=153553 here]], where also solutions are provided.}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CAMremote ==&lt;br /&gt;
&lt;br /&gt;
The CAMremote from VP-Systems is a highly functional and versatile camera remote controller. The STorM32 supports it by two camera models, called {{PARAMVALUE|CAMremote Rc}} and {{PARAMVALUE|CAMremote UART}}.&lt;br /&gt;
&lt;br /&gt;
=== CAMremote RC ===&lt;br /&gt;
&lt;br /&gt;
The CAMremote provides several settings where the shutter and video on/off can be controlled via a PWM signal on the CAMremote&#039;s CH0 input. In combination with the NT Camera module, several configurations are possible, the most generic one would be to use either of these:&lt;br /&gt;
&lt;br /&gt;
* CH0 = Record/AF/Shoot&lt;br /&gt;
* CH0 = Record/Shoot&lt;br /&gt;
&lt;br /&gt;
The EXT-3 pin on the NT IMU module should then be connected to the CH0 input on the CAMremote. &lt;br /&gt;
&lt;br /&gt;
The PWM2 passthrough output on the NT IMU module, or pin EXT-2, can then be connected to the CAMremote&#039;s CH1 to invoke additional features, such a manual focus, zoom in/out, and so on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Comment&#039;&#039;&#039;: This has been tested using NT IMU firmware v0.28 and &amp;quot;RC receiver (CH0=Record/AF/Shoot, CH1=SmoothZoom, CH2=Alt)-mode&amp;quot; on CAMremote 3.0.9. In case the shutter does not trigger a photo on the camera it might be necessary to increase the focus time to give the camera time to focus.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The disadvantage of using the CAMremote with PWM input signals is that one only can toggle between VIDEOON and VIDEOOFF, and not directly set VIDEOON or VIDEOOFF, so that the actual recording state might be lost by the user.&lt;br /&gt;
&lt;br /&gt;
=== CAMremote UART ===&lt;br /&gt;
&lt;br /&gt;
The CAMremote also provides a serial UART interface, which provides access to a much richer set of features and functions than with the control via PWM signals. &lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 pins on the NT IMU module should be connected to the Tx/Rx inputs on the CAMremote, respectively. &lt;br /&gt;
&lt;br /&gt;
Currently, the STorM32 supports the &#039;shoot&#039;, &#039;recon&#039; and &#039;recoff&#039; commands.&lt;br /&gt;
&lt;br /&gt;
This brings the great advantage that VIDEOON and VIDEOOFF are now set directly, and not only toggled as with the PWM input, so that the actual recording state is always known to the user.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://vp-systems.eu/camremote.html&lt;br /&gt;
* http://vp-systems.eu/manual_cr.html&lt;br /&gt;
* https://vp-systems.eu/cr_uart.html&lt;br /&gt;
&lt;br /&gt;
== Visca PTZ ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera supports PTZ cameras using the VISCA protocol at 9600 baud.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 pin on the NT IMU module should be connected to the Rx input on the PTZ camera (not RS232 or RS422, but UART-TTL input). &lt;br /&gt;
&lt;br /&gt;
Currently, the STorM32 supports the &#039;CAM_Power On&#039;, &#039;CAM_Power Off&#039;, &#039;CAM_Zoom Stop&#039;, &#039;CAM_Zoom Tele(Variable)&#039; and &#039;CAM_Zoom Wide(Variable)&#039; VISCA commands. The power on/off commands are mapped to the video on/off function, available with the {{PARAMNAME|Camera Control}} input. The zoom commands are attached to the {{PARAMNAME|Camera Control2}} input.&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger power on/off. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Set to the desired input to zoom in or out. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Visca}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|default}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.epiphan.com/userguides/LUMiO12x/Content/UserGuides/PTZ/3-operation/VISCAcommands.htm&lt;br /&gt;
* https://www.snapav.com/wcsstore/ExtendedSitesCatalogAssetStore/attachments/documents/USBProducts/ManualsAndGuides/Visca%20Protocol2.pdf&lt;br /&gt;
&lt;br /&gt;
== Firefly Split 4K ==&lt;br /&gt;
&lt;br /&gt;
The Firefly Split 4K can be controlled by two HIGH-LOW-HIGH pulses for triggering shutter and starting/stoping video recording.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 port pins on the NT IMU module are assigned as follows:&lt;br /&gt;
&lt;br /&gt;
* EXT-3: HIGH-LOW-HIGH pulse of 100 ms duration for shutter control&lt;br /&gt;
* EXT-2: HIGH-LOW-HIGH pulse of 100 ms duration for starting/stoping video recording&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you wish to use&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Firefly Split 4K Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
=== Cabling information ===&lt;br /&gt;
&lt;br /&gt;
Connect the trigger input pins of the Firefly 4K Split Cam to the [[Pins_and_Connectors_of_NT_Modules|IMU]]:&lt;br /&gt;
&lt;br /&gt;
* green cable, rightmost pin -&amp;gt; EXT-2&lt;br /&gt;
* blue cable -&amp;gt; EXT-3&lt;br /&gt;
&lt;br /&gt;
The pcb is conformal coated, if you want to solder directly on the connector pins, it&#039;s easier to solder if you remove it with a glass fiber pencil. &lt;br /&gt;
&lt;br /&gt;
The board provides 3.3V on solder tags next to the connector and 5V on a capacitor pin (as shown on Hawkeye&#039;s official web site), this can be used to power the IMU and to save one cable. Select voltage depending on your IMU.&lt;br /&gt;
&lt;br /&gt;
As the IMU outputs max. 3.3V, you can disregard the manual&#039;s warning to not connect any power to the trigger pins.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Official How to connect Hawkeye Firefly 4K Split Cam information: http://www.cnfpv.com/portal.php?mod=view&amp;amp;aid=158&lt;br /&gt;
&lt;br /&gt;
== Gitup Git2 ==&lt;br /&gt;
&lt;br /&gt;
The Gitup Git2 can receive a PWM signal on its Micro HDMI port to control video recording and photo triggering. The details can be found on the Gitup site. In general, a 3 position switch will be used on your transmitter: The middle position should be set to 1500 µs and will do nothing. Low position, &amp;lt; 1250 µs, will start recording video when switched. High position, &amp;gt; 1800 µs, will take a photo when switched. If your transmitter channel is setup as 0%, 50%, 100% (or -100, 0, 100) for Low, Mid, and High, then you should be fine.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|To avoid misunderstanding, please note that the transmitter switch PWM values mentioned for transmitter setup are not those which are send to the camera. The STorM32 will translate the received input PWM values into those required by the camera.}}&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* http://www.rcgroups.com/forums/showpost.php?p=34538383&amp;amp;postcount=3443&lt;br /&gt;
* https://www.gitup.com/cameras/73-gitup-git2p-standard-packing-170-degree-lens.html&lt;br /&gt;
&lt;br /&gt;
=== Cable Information ===&lt;br /&gt;
&lt;br /&gt;
Gitup provides a Remote Shutter cable. If you choose to make your own, then please follow the pinouts for the [https://en.wikipedia.org/wiki/HDMI#Connectors Micro HDMI (type D)] connector, not Mini or full size because they are different (see [https://upload.wikimedia.org/wikipedia/commons/a/a5/HDMI_Connector.jpg here]).&lt;br /&gt;
&lt;br /&gt;
* Signal In: Micro HDMI Pin 2 (usually denoted as Utility or Reserved on pinouts)&lt;br /&gt;
* Signal Gnd: Micro HDMI Pin 4 (TMDS Data2 Shield, or any other shield pin; even the connector&#039;s case works)&lt;br /&gt;
&lt;br /&gt;
:[[File:Git2 Micro HDMI Pinout.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The Git2 uses its Mini USB port for both Video Out and Power In to charge or power the camera. While Gitup also provides this cable, FPV cables for the GoPro works as well. Gitup also provides a combo board/cable, which contains both the HDMI and USB connectors.}}&lt;br /&gt;
&lt;br /&gt;
=== Cable and Camera Function Test ===&lt;br /&gt;
&lt;br /&gt;
Once you have your cable and transmitter configured as above, connect your receiver or flight controller, and test it out. It should work before moving to the next step.&lt;br /&gt;
&lt;br /&gt;
=== CC3D NT IMU, STorM32 and Git2 Camera Integration ===&lt;br /&gt;
&lt;br /&gt;
This section is based on using the Mini CC3D Atom. Other NT IMU modules which expose the EXT pins should work equally well however. The following is only one of the several possible configuration options available with the STorM32.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT| Your STorM32 and NT IMU need to communicate correctly, it is however not mandatory that the gimbal has been configured or tuned.}}&lt;br /&gt;
&lt;br /&gt;
Wire up as follows:&lt;br /&gt;
&lt;br /&gt;
* Connect your receiver, or flight controller, to one of the seven STorM32 RC ports (RC-0 through RC2-3), or use any other input channel (see [[Inputs and Functions]]).&lt;br /&gt;
&lt;br /&gt;
* Connect the Git2 Remote Shutter cable to the EXT-3 and GND pins on the NT IMU (see [[NT_Camera#NT_Camera Support_by_NT_IMU_Modules|NT Camera Support by NT IMU Modules]]).&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab use the column for {{PARAMNAME|Camera Control}} and set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you wish to use&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Git2 Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
== Foxeer Legend 1 ==&lt;br /&gt;
&lt;br /&gt;
This should work as for the Gitup Git2, with identical settings. This has not yet been tested though.&lt;br /&gt;
&lt;br /&gt;
* http://foxeer.com/XAT800-Effio-V-Camera-a-10.html&lt;br /&gt;
* http://data.foxeer.com/Manual_LEGEND1_FOXEER.pdf&lt;br /&gt;
&lt;br /&gt;
== Mapir Survey ==&lt;br /&gt;
&lt;br /&gt;
The Mapir Survey is in many regards similar to the Gitup Git2. For instance, it also can receive a PWM signal on its Micro HDMI port for control. However, the PWM signal required by the Mapir is quite different to that for the Git2. Furthermore, only photos can be triggered, but video recording cannot be started/stopped. Thus, the Git2 camera model cannot be used for the Mapir.&lt;br /&gt;
&lt;br /&gt;
The electrical connections and setup are largely identical to the Git2, so please look up there. These differences might be noteworthy:&lt;br /&gt;
&lt;br /&gt;
In general, a 2 position switch will be used on your transmitter: The middle position should be set to 1500 µs and will do nothing. High position, &amp;gt; 1800 µs, will take a photo when switched.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab use the column for {{PARAMNAME|Camera Control}} and set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you desire&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Mapir Survey Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|To avoid misunderstanding, please note that the transmitter switch PWM values mentioned for transmitter setup are not those which are send to the camera. The STorM32 will translate the received input PWM values into those required by the camera.}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.rcgroups.com/forums/showthread.php?2055844-STorM32-BGC-32-bit-3-axis-brushless-gimbal-controller/page232&amp;amp;perpage=50#post42713367&lt;br /&gt;
* https://www.mapir.camera/pages/survey3-cameras&lt;br /&gt;
* https://cdn.shopify.com/s/files/1/0878/4732/files/MAPIR_Survey3_Manual_v1.pdf&lt;br /&gt;
&lt;br /&gt;
== Serial API ==&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|Serial Api}} is a special camera model, designed to inter-operate with an external computing device, such as a Raspberry Pi, Arduino, and alike, via a serial data line (in the following the example of a Raspberry Pi, denoted as RPi, is chosen). The prototypical application example would be to integrate [http://www.gphoto.org/ gphoto]-controlled cameras into the STorM32 system.&lt;br /&gt;
&lt;br /&gt;
The RPi is connected to the UART on the STorM32 controller which is selected in the parameter {{PARAMNAME|Camera ComPort}}. The serial API camera model then provides a set of commands to exchange information between the STorM32&#039;s NT Camera functionality and the RPi. On the RPi a script is running which handles the communication, i.e., translates the commands of the serial API into the corresponding actions needed for the specific camera which shall be operated, and vice versa.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Serial Api}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Select the UART ({{PARAMVALUE|default}} is currently not supported)&lt;br /&gt;
&lt;br /&gt;
The serial API currently consists of the following:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;shutter\n&amp;quot;, &amp;quot;videoon\n&amp;quot;, &amp;quot;videooff\n&amp;quot;: These commands correspond to the STorM32&#039;s internal SHUTTER, VIDEOON and VIDEOOFF states, and are send whenever the respective state is assumed. This can be via an input as selected in the parameter {{PARAMNAME|Camera Control}}, a serial command, a MAVLink command, or via the MAVLink Camera microservice.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;cntrl2high\n&amp;quot;, &amp;quot;cntrl2low\n&amp;quot;, &amp;quot;cntrl2stop\n&amp;quot;: These commands are send according to the state of the input selected in the parameter {{PARAMNAME|Camera Control2}}.&lt;br /&gt;
&lt;br /&gt;
* SENDCAMTEXT: This [[STorM32_Scripts|script]] command sends a user-defined string to the RPi (the string is appended by a &#039;\n&#039; character). This allows us to use the potential of scripts for controlling the camera handled by the RPi.&lt;br /&gt;
&lt;br /&gt;
An example Python script which can be run on a RPi is available in the firmware .zip file.&lt;br /&gt;
&lt;br /&gt;
== UartX Configuration ==&lt;br /&gt;
&lt;br /&gt;
The number of available UART ports on STorM32 boards is limited, especially on v1.3 boards, and it can thus happen that one is running out of them.&lt;br /&gt;
&lt;br /&gt;
In such cases, the RC-0 and RC-1 input pins can be reconfigured to work as a further UART port, then named UARTX. This comes at the obvious cost that these inputs cannot be used anymore as PWM, Spektrum, SBus, and alike inputs.&lt;br /&gt;
&lt;br /&gt;
For this, set:&lt;br /&gt;
* {{PARAMNAME|UartX Configuration}} = {{PARAMVALUE|uartX @ 115200}} (the parameter is located in the {{GUI|Setup}} tab)&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|uartX}}&lt;br /&gt;
&lt;br /&gt;
The physical assignment is&lt;br /&gt;
* RC-0 = UARTX Rx&lt;br /&gt;
* RC-1 = UARTX Tx&lt;br /&gt;
&lt;br /&gt;
For the location of the RC-0, RC-1 pins on your board please refer to [[Pins and Connectors]].&lt;br /&gt;
&lt;br /&gt;
== Stand-alone Use ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can also be used stand-alone, without a gimbal. This effectively allows us to convert any of the supported cameras into a MAVLink camera. &lt;br /&gt;
&lt;br /&gt;
This mode of operation can be especially useful for those camera models which provide features beyond the basic SHUTTER, VIDEOON, and VIDEOFF operations, such as the Runcam Split Mini2 or the GoPro Hero models.&lt;br /&gt;
&lt;br /&gt;
The camera and MAVLink settings are as described in the above for the respective camera model. Typically, the UART port would be used for the MAVLink connection to a flight controller, and the UART2 port for connecting to the camera.&lt;br /&gt;
&lt;br /&gt;
The main difference in setup would be to also disable the motors, by setting in the {{GUI|Setup}} tab:&lt;br /&gt;
* {{PARAMNAME|Pitch Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
* {{PARAMNAME|Roll Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
* {{PARAMNAME|Yaw Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
&lt;br /&gt;
=== Wiring ===&lt;br /&gt;
&lt;br /&gt;
For a v3.x STorM32 board the connection scheme could be as this, here shown for the example of the GoPro Hero model:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-standalone-goprohero.jpg|680px]]&lt;br /&gt;
&lt;br /&gt;
For a v1.x STorM32 board the UARTX configuration capability can come in handy. The setup for a Runcam Split Mini2could look like this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-standalone-runcamsplitmini2-v13board.jpg|680px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.rcgroups.com/forums/showthread.php?3422673-Mavlink-Camera-Conversions-%28using-STorM32%29&lt;/div&gt;</summary>
		<author><name>Seb</name></author>
	</entry>
	<entry>
		<id>http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=NT_Camera&amp;diff=9944</id>
		<title>NT Camera</title>
		<link rel="alternate" type="text/html" href="http://www.olliw.eu/storm32bgc-v2-wiki/index.php?title=NT_Camera&amp;diff=9944"/>
		<updated>2021-04-11T11:46:21Z</updated>

		<summary type="html">&lt;p&gt;Seb: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;The information on this page refers to firmware v2.58e and higher.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The NT Camera module allows us to remote control a camera. &lt;br /&gt;
&lt;br /&gt;
It thus serves a similar purpose as the various RC camera remote control modules, such as [http://vp-systems.eu/camremote.html CAMremote], [https://www.seagulluav.com/ Seagull], [https://www.gentles.ltd.uk/gentwire/multi.htm Gentles], [https://www.rcshutter.com/index.php?route=product/category&amp;amp;path=20 RcShutter], [http://wiki.mikrokopter.de/en/CamCtrl CamCntrl], [https://hobbyking.com/en_us/infrared-remote-shutter-controller-for-nikon-cameras.html IR Remote Shutter Controller], and all the other commercial and DIY solutions. &lt;br /&gt;
&lt;br /&gt;
However, instead of listening to e.g. a servo PWM signal, the NT Camera module listens to the data on the NT bus. It is thus usually connected to the NT bus near the camera NT IMU module, which results in extremely clean wiring schemes (see [[What is STorM32 NT about?|here]]). Separate NT Camera modules have in fact not emerged, but the NT Camera function is integrated into the NT IMU firmware. That is, the NT IMU module is also a NT Camera module (if it exposes the related pins to the user, which many of the available NT IMU modules do). For many camera models it is also possible to connect the camera, or a module operating it, directly to the STorM32 controller board, i.e., the STorM32 controller is then also a NT Camera module.&lt;br /&gt;
&lt;br /&gt;
In addition, the NT Camera module also serves as a &amp;quot;PWM Out&amp;quot; module. That is, it outputs a servo PWM signal, which is an exact mirror of the PWM output signal available on the main STorM32 board, when the {{PARAMNAME|Pwm Out Control}} parameter is enabled. This additional PWM signal can come in very handy and allows us doing all sorts of fancy things (e.g. motor zoom). It will not be further discussed in this article however.&lt;br /&gt;
&lt;br /&gt;
Historically, the STorM32&#039;s remote camera control started with an IR LED controller on the v1.3x main STorM32 board, and many of the camera models supported by the STorM32, such as the Sony Nex, are related to this. The NT Camera concept was introduced later, and extended to also provide PWM and serial UART signals to control cameras such as the Gitup Git2, RunCam Split, or GoPro Hero. The subsequent introduction of the [[MAVLink_Communication#MAVLink_Camera|MAVLink Camera component]] and the serial API has brought unprecedented cool camera control features to the user. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toclimit-2&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Concept and Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
The NT Camera is related to a number of parameters, which are located in two places in the GUI, the {{GUI|Functions}} tab and the {{GUI|Interfaces Tool}} dialog.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab we see:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Enables the function and selects the primary input.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Selects a secondary input, which is used by some camera models.&lt;br /&gt;
* {{PARAMNAME|Camera Model}}: Selects the camera model.&lt;br /&gt;
* {{PARAMNAME|Camera Control Mode}}: Functions executed then the primary input value is High or Low. The default is {{PARAMVALUE|video - off - shutter}} (usually does not need to be changed).&lt;br /&gt;
* {{PARAMNAME|Camera Time Interval}}: Setting this to 0 (off) will result in one photo being taken. If set to other than 0 photos will be taken continuously. The time period is from the start of the first photo to the start of the second photo, and so on. This parameter is functional for all camera models, and not further discussed below.&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Selects the UART port for camera models which use a serial interface. &lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Interfaces Tool}} dialog, accessible via the {{GUI|Experts Only}} menu, one finds further relevant parameters, which are associated with the [[MAVLink_Communication#MAVLink_Gimbal|MAVLink Gimbal]] and [[MAVLink_Communication#MAVLink_Camera|MAVLink Camera]] components:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Gimbal}}: Enables the MAVLink Gimbal component and sets its component ID.&lt;br /&gt;
* {{PARAMNAME|Mavlink ComPort}}: Selects the com port used for the MAVLink communication.&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: Sets the system ID for both the MAVLink Gimbal and Camera components. A value of {{PARAMVALUE|0}} enables autodetection.&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}}: Enables the MAVLink Camera component and sets its component ID.&lt;br /&gt;
&lt;br /&gt;
=== Camera Control Mode ===&lt;br /&gt;
&lt;br /&gt;
The {{PARAMNAME|Camera Control Mode}} parameter determines if and when the shutter is released and the video is started or stopped.&lt;br /&gt;
&lt;br /&gt;
The setting {{PARAMVALUE|video - off - shutter}} means that the shutter is released when the primary input value switches from neutral to High, and that the video is started when it switches from neutral to Low and stopped when it switches from Low to neutral. The setting {{PARAMVALUE|shutter - off - video}} does the same, except that High and Low are swapped.&lt;br /&gt;
&lt;br /&gt;
The setting {{PARAMVALUE|off - shutter}} means that the shutter is released when the primary input value switches from neutral (or Low) to High, and that the video cannot be started or stopped. In contrast, {{PARAMVALUE|off - video}} means that the video is started when the primary input value switches from neutral (or Low) to High, and stopped when it switches from High to neutral (or Low), and that the shutter cannot be released. The settings {{PARAMVALUE|shutter - off}} and {{PARAMVALUE|video - off}} do the same, except that High and Low are swapped.&lt;br /&gt;
&lt;br /&gt;
=== Camera Connection ===&lt;br /&gt;
&lt;br /&gt;
For some camera models the STorM32 checks if the camera is connected and up and running. Examples are the GoPro models since here not only a physical connection is needed but also a Wifi connection must be established, but this also applies to other models such as the {{PARAMVALUE|Runcam Split Mini2}}.&lt;br /&gt;
&lt;br /&gt;
For these models the GUI shows a &amp;quot;CAMERA&amp;quot; field in the {{GUI|Dashboard}} tab, with info such as &amp;quot;connected&amp;quot; or &amp;quot;not connected&amp;quot; which reveal the current state.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The general rule is that if a bi-directional communication is involved, then the STorM32 checks connection for that camera model.}}&lt;br /&gt;
&lt;br /&gt;
=== Processing Scheme ===&lt;br /&gt;
&lt;br /&gt;
The STorM32 camera remote control is based on three elementary operations: SHUTTER, VIDEOON and VIDEOOFF. These are supported by all camera models, and can be triggered by various sources: a signal on any of the STorM32&#039;s inputs, a script, a serial command, a MAVLink message to the MAVLink Gimbal component, or a MAVLink message to the MAVLink Camera component. The NT Camera module translates these elementary operations into the corresponding output signals as required for the specified camera model. The output signals can be PWM, low-high-low pulses, UART Tx and Rx, or whatever is required.&lt;br /&gt;
&lt;br /&gt;
In addition, some camera models (such as the {{PARAMVALUE|Runcam Split Mini2}} and {{PARAMVALUE|GoPro Hero7}}) provide a much richer set of features and functions, which the STorM32 makes accessible to the user via the [https://mavlink.io/en/services/camera.html MAVLink Camera Protocol microservice] provided by the MAVLink Camera component. This &amp;quot;richer set of features and functions&amp;quot; is in fact most cool and not easily explained in one sentence. It for instance allows the user to access many if not all camera settings from ground control stations such as QGroundControl, like it is known for DJI drones or the 3DR Solo. &lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-processing.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
== NT Camera Support by NT IMU Modules ==&lt;br /&gt;
&lt;br /&gt;
As mentioned in the introduction, the NT Camera is integrated into the NT IMU firmware. The NT IMU module provides these three signals on its EXT port pins:&lt;br /&gt;
&lt;br /&gt;
* EXT-3: Camera PWM signal, or Uart Tx, or other&lt;br /&gt;
* EXT-2: Camera pulse signal, or Uart Rx, or other&lt;br /&gt;
* EXT-1: Pwm Out servo PWM signal (with ca. 60 Hz frequency)&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Pwm Out&amp;quot; signal on pin EXT-1 is related to the {{PARAMNAME|Pwm Out Control}} function and is not further discussed here. See [[Advanced_Functions#Pwm_Out|Advanced Functions: Pwm Out]].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Camera&amp;quot; signals on EXT-3 and EXT-2 are related to the {{PARAMNAME|Camera Control}} and {{PARAMNAME|Pwm Out Control2}} functions, and depend on the {{PARAMNAME|Camera Model}} setting. For many camera models they are configured to output a PWM servo signal on EXT-3 and a pulse signal on EXT-2:&lt;br /&gt;
&lt;br /&gt;
* The PWM signal can directly feed cameras which can be triggered by such signals, such as the Gitup Git2 or Foxeer Legend, or can be connected to common RC camera remote control modules, such as those mentioned in the introduction. The frequency of the PWM signal is ca. 60 Hz.&lt;br /&gt;
&lt;br /&gt;
* The pulse signal consists of a 50 ms low/high/low pulse and can be used for all sorts of purposes. For instance, it could be connected to a [http://www.rcgroups.com/forums/showpost.php?p=30034371&amp;amp;postcount=2437 semiconductor relais] to drive an IR LED or shorten some pins on a USB remote.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 pins can also assume other functions however. For instance, for the RunCam camera they are configured to operate as Tx and Rx UART signals.&lt;br /&gt;
&lt;br /&gt;
The function matrix looks as this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!camera model&lt;br /&gt;
!EXT-3&lt;br /&gt;
!EXT-2&lt;br /&gt;
|-&lt;br /&gt;
| Sony Nex, Canon, Panasonic, Nikon,&amp;lt;/br&amp;gt;Git2 Rc, Mapir Survey Rc || PWM || pulse&lt;br /&gt;
|-&lt;br /&gt;
| CAMremote Rc || PWM || PWM2 passthrough&lt;br /&gt;
|-&lt;br /&gt;
| Firefly Split 4K Rc || pulse || pulse&lt;br /&gt;
|-&lt;br /&gt;
| Pwm || PWM passthrough || PWM2 passthrough&lt;br /&gt;
|-&lt;br /&gt;
| Runcam Generic || Tx || special purpose&lt;br /&gt;
|-&lt;br /&gt;
| CAMremote UART,&amp;lt;/br&amp;gt;Visca || Tx || pulse&lt;br /&gt;
|-&lt;br /&gt;
| Runcam Split Mini2,&amp;lt;/br&amp;gt;GoPro Hero7, GoPro Hero5, GoPro Generic,&amp;lt;/br&amp;gt; Serial Api || Tx || Rx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|For hardware reasons the NT IMU modules cannot drive IR LEDs, and the IR LED remote control option is thus not available with them.}}&lt;br /&gt;
&lt;br /&gt;
=== Pin Assignment on the v1.x and v2.x NT IMU Modules ===&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The v2.x and the &amp;quot;big&amp;quot; v1.x NT IMU modules expose the additional EXT port pins:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-v21-docu.jpg|510px]] [[File:Storm32-nt-imu-v10-docu-02.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Pin Assignment for the CC3D Atom and Atom Mini ===&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
Both the CC3D Atom and Atom Mini have six servo outputs labeled PWM1 to PWM6. They are assigned as follows to the EXT port pins:&lt;br /&gt;
&lt;br /&gt;
* PWM2 = EXT-1 = Pwm Out servo PWM signal&lt;br /&gt;
* PWM3 = EXT-3 = Camera servo PWM signal&lt;br /&gt;
* PWM4 = EXT-2 = Camera pulse signal&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-imu-cc3datom-docu-03.jpg|480px]] [[File:CC3D_Case_Label.jpg|280px]]&lt;br /&gt;
&lt;br /&gt;
== RunCam ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can control a RunCam Split Mini2 by communicating to it via the camera&#039;s serial port. It has been confirmed to work also for a RunCam Split 2S and a RunCam Split Micro V3. It probably works for other similar cameras, but this is untested.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|nGszTJCzSMk|480}}&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger photos or start/stop videos. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Set to the desired input to access OSD. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Runcam Generic}} or {{PARAMVALUE|Runcam Split Mini2}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|default}}&lt;br /&gt;
&lt;br /&gt;
If you also want the MAVLink Camera features, then in addition set these parameters in the {{GUI|Interfaces}} menu:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}} = {{PARAMVALUE|Camera1}} or higher&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: usually can be {{PARAMVALUE|0}} &lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Some RunCam cameras such as the RunCam Split 2S provide video and photo modes. The RunCam protocol however does not allow us to reliably switch between video and photo mode, and the STorM32 therefore only supports the video mode. The implication is that the camera must be in video mode at startup.}}&lt;br /&gt;
&lt;br /&gt;
=== Camera Models ===&lt;br /&gt;
&lt;br /&gt;
Currently two camera models are available, {{PARAMVALUE|Runcam Generic}} and {{PARAMVALUE|Runcam Split Mini2}}.&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|Runcam Generic}} model allows us to start and stop recording a video. The underlying UART commands should be supported by all RunCam models with UART interface, so that this model is expected to work for them all.&lt;br /&gt;
&lt;br /&gt;
=== Wiring ===&lt;br /&gt;
&lt;br /&gt;
The connection diagram for a NT Imu v2.x looks like this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-runcamsplitmini2.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
== GoPro Hero ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can control a GoPro camera by communicating with it via Wifi.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|width=370|{{#ev:youtube|kT4zbvChs2g|420}}&lt;br /&gt;
|{{#ev:youtube|rhzkxKO-40c|420}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Here one thus requires an additional Wifi module, such as an ESP8266, Arduino MKR1000, or ESP32. The MKR1000 is quite pricey and very large, the ESP8266 works a bit dodgy, so I currently use a ESP32, which to me is the best deal. The Wifi module needs to be loaded with a particular firmware, and an Arduino sketch is available in my github repo (see link below)(currently only the ESP32 is supported, but you are of course welcome to adapt the sketch to also support e.g. the ESP8266).&lt;br /&gt;
&lt;br /&gt;
If you want to know more details about the technical inside, you may read [https://www.rcgroups.com/forums/showpost.php?p=42481889&amp;amp;postcount=2295 this post]. &lt;br /&gt;
&lt;br /&gt;
The Arduino sketches and C files (and other relevant material) are open source (GLP-v3) and available here: https://github.com/olliw42/goprohero.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;{{WARNING|WARNING: Both Wifi and most radio control systems work in the 2.4 GHz range, and interferences may thus happen and compromise your remote control signal quality}}&#039;&#039;. Unfortunately I could not find a single competent report or analysis of this topic on the web; all reports I found which say that it works are based on purely anecdotal evidence. So, please, be warned! In order to avoid issues as much as possible I have at least set the Wifi module&#039;s transmit power to the lowest possible level.&lt;br /&gt;
&lt;br /&gt;
The Wifi module (loaded with the Arduino sketch) is connected via its serial port to the NT Camera module, i.e. the EXT-3 and EXT-2 pins on your NT IMU module (see [[NT_Camera#NT_Camera_Support_by_NT_IMU_Modules | NT Camera Support by NT IMU Modules]]). Alternatively, the Wifi module can be connected to the UART or UART2 port on the main STorM32 controller, which often can be the more convenient setup, as it much simplifies wiring.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Wifi modules generally need to be powered from a strong, stable power source, since current draw can be high (not on average, but in the spikes). So, do not use the NT bus 5 V power line, unless you have ensured that it is of sufficient high power or understand what you&#039;re doing.}}&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger photos or start/stop videos. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|GoPro Hero7}}, {{PARAMVALUE|GoPro Hero5}} or {{PARAMVALUE|GoPro Generic}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Set to {{PARAMVALUE|default}} if the Wifi module is connected to the NT IMU module, or chose the UART or UART2 port.&lt;br /&gt;
&lt;br /&gt;
If you also want the MAVLink Camera features, then in addition set these parameters in the {{GUI|Interfaces}} menu:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Mavlink Camera}} = {{PARAMVALUE|Camera1}} or higher&lt;br /&gt;
* {{PARAMNAME|Mavlink System ID}}: usually can be {{PARAMVALUE|0}} &lt;br /&gt;
&lt;br /&gt;
=== Camera Models ===&lt;br /&gt;
&lt;br /&gt;
Currently three GoPro camera models are available, {{PARAMVALUE|GoPro Hero7}}, {{PARAMVALUE|GoPro Hero5}} and {{PARAMVALUE|GoPro Generic}}. However, other GoPro cameras probably will work too.&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|GoPro Generic}} model only provides basic support, i.e., only allows us to start and stop recording a video and taking pictures. It does so by using a Wifi command which is expected to be supported by &#039;&#039;&#039;&#039;&#039;all&#039;&#039;&#039;&#039;&#039; GoPro models with a Wifi interface. Accordingly, this model should work for all GoPro cameras. &lt;br /&gt;
&lt;br /&gt;
The other camera models use Wifi settings which can be specific to the particular model, and if a model works also for other GoPro cameras thus depends on the compatibility details.&lt;br /&gt;
&lt;br /&gt;
=== Huzzah32-ESP32 Breakout Board ===&lt;br /&gt;
&lt;br /&gt;
The connection diagram for a NT Imu v2.x and an [https://www.adafruit.com/product/4172 Adafruit HUZZAH32–ESP32 Breakout Board] can look as this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-huzzah-esp32.jpg|none|680px|center]]&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The HUZZAH32–ESP32 breakout board was the best option I found price and size wise, and that&#039;s why I use it. The connection diagram should be similar for other ESP32 boards.}}&amp;lt;!--{{COMMENT|The HUZZAH32–ESP32 breakout board was the best option I found price and size wise. It&#039;s a cute board, with however a nasty flaw: see [[https://forums.adafruit.com/viewtopic.php?f=57&amp;amp;t=153553 here]], where also solutions are provided.}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CAMremote ==&lt;br /&gt;
&lt;br /&gt;
The CAMremote from VP-Systems is a highly functional and versatile camera remote controller. The STorM32 supports it by two camera models, called {{PARAMVALUE|CAMremote Rc}} and {{PARAMVALUE|CAMremote UART}}.&lt;br /&gt;
&lt;br /&gt;
=== CAMremote RC ===&lt;br /&gt;
&lt;br /&gt;
The CAMremote provides several settings where the shutter and video on/off can be controlled via a PWM signal on the CAMremote&#039;s CH0 input. In combination with the NT Camera module, several configurations are possible, the most generic one would be to use either of these:&lt;br /&gt;
&lt;br /&gt;
* CH0 = Record/AF/Shoot&lt;br /&gt;
* CH0 = Record/Shoot&lt;br /&gt;
&lt;br /&gt;
The EXT-3 pin on the NT IMU module should then be connected to the CH0 input on the CAMremote. &lt;br /&gt;
&lt;br /&gt;
The PWM2 passthrough output on the NT IMU module, or pin EXT-2, can then be connected to the CAMremote&#039;s CH1 to invoke additional features, such a manual focus, zoom in/out, and so on.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Comment&#039;&#039;&#039;: This has been tested using NT IMU firmware v0.28 and &amp;quot;RC receiver (CH0=Record/AF/Shoot, CH1=SmoothZoom, CH2=Alt)-mode&amp;quot; on CAMremote 3.0.9. In case the shutter does not trigger a photo on the camera it might be necessary to increase the focus time to give the camera time to focus.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The disadvantage of using the CAMremote with PWM input signals is that one only can toggle between VIDEOON and VIDEOOFF, and not directly set VIDEOON or VIDEOOFF, so that the actual recording state might be lost by the user.&lt;br /&gt;
&lt;br /&gt;
=== CAMremote UART ===&lt;br /&gt;
&lt;br /&gt;
The CAMremote also provides a serial UART interface, which provides access to a much richer set of features and functions than with the control via PWM signals. &lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 pins on the NT IMU module should be connected to the Tx/Rx inputs on the CAMremote, respectively. &lt;br /&gt;
&lt;br /&gt;
Currently, the STorM32 supports the &#039;shoot&#039;, &#039;recon&#039; and &#039;recoff&#039; commands.&lt;br /&gt;
&lt;br /&gt;
This brings the great advantage that VIDEOON and VIDEOOFF are now set directly, and not only toggled as with the PWM input, so that the actual recording state is always known to the user.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://vp-systems.eu/camremote.html&lt;br /&gt;
* http://vp-systems.eu/manual_cr.html&lt;br /&gt;
* https://vp-systems.eu/cr_uart.html&lt;br /&gt;
&lt;br /&gt;
== Visca PTZ ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera supports PTZ cameras using the VISCA protocol at 9600 baud.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 pin on the NT IMU module should be connected to the Rx input on the PTZ camera (not RS232 or RS422, but UART-TTL input). &lt;br /&gt;
&lt;br /&gt;
Currently, the STorM32 supports the &#039;CAM_Power On&#039;, &#039;CAM_Power Off&#039;, &#039;CAM_Zoom Stop&#039;, &#039;CAM_Zoom Tele(Variable)&#039; and &#039;CAM_Zoom Wide(Variable)&#039; VISCA commands. The power on/off commands are mapped to the video on/off function, available with the {{PARAMNAME|Camera Control}} input. The zoom commands are attached to the {{PARAMNAME|Camera Control2}} input.&lt;br /&gt;
&lt;br /&gt;
Set these parameters in the {{GUI|Functions}} tab:&lt;br /&gt;
&lt;br /&gt;
* {{PARAMNAME|Camera Control}}: Set to the desired input to trigger power on/off. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Control2}}: Set to the desired input to zoom in or out. Can also be {{PARAMVALUE|off}}.&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Visca}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|default}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.epiphan.com/userguides/LUMiO12x/Content/UserGuides/PTZ/3-operation/VISCAcommands.htm&lt;br /&gt;
* https://www.snapav.com/wcsstore/ExtendedSitesCatalogAssetStore/attachments/documents/USBProducts/ManualsAndGuides/Visca%20Protocol2.pdf&lt;br /&gt;
&lt;br /&gt;
== Firefly Split 4K ==&lt;br /&gt;
&lt;br /&gt;
The Firefly Split 4K can be controlled by two HIGH-LOW-HIGH pulses for triggering shutter and starting/stoping video recording.&lt;br /&gt;
&lt;br /&gt;
The EXT-3 and EXT-2 port pins on the NT IMU module are assigned as follows:&lt;br /&gt;
&lt;br /&gt;
* EXT-3: HIGH-LOW-HIGH pulse of 100 ms duration for shutter control&lt;br /&gt;
* EXT-2: HIGH-LOW-HIGH pulse of 100 ms duration for starting/stoping video recording&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you wish to use&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Firefly Split 4K Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* Official How to connect Hawkeye Firefly 4K Split Cam information: http://www.cnfpv.com/portal.php?mod=view&amp;amp;aid=158&lt;br /&gt;
&lt;br /&gt;
== Gitup Git2 ==&lt;br /&gt;
&lt;br /&gt;
The Gitup Git2 can receive a PWM signal on its Micro HDMI port to control video recording and photo triggering. The details can be found on the Gitup site. In general, a 3 position switch will be used on your transmitter: The middle position should be set to 1500 µs and will do nothing. Low position, &amp;lt; 1250 µs, will start recording video when switched. High position, &amp;gt; 1800 µs, will take a photo when switched. If your transmitter channel is setup as 0%, 50%, 100% (or -100, 0, 100) for Low, Mid, and High, then you should be fine.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|To avoid misunderstanding, please note that the transmitter switch PWM values mentioned for transmitter setup are not those which are send to the camera. The STorM32 will translate the received input PWM values into those required by the camera.}}&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
* http://www.rcgroups.com/forums/showpost.php?p=34538383&amp;amp;postcount=3443&lt;br /&gt;
* https://www.gitup.com/cameras/73-gitup-git2p-standard-packing-170-degree-lens.html&lt;br /&gt;
&lt;br /&gt;
=== Cable Information ===&lt;br /&gt;
&lt;br /&gt;
Gitup provides a Remote Shutter cable. If you choose to make your own, then please follow the pinouts for the [https://en.wikipedia.org/wiki/HDMI#Connectors Micro HDMI (type D)] connector, not Mini or full size because they are different (see [https://upload.wikimedia.org/wikipedia/commons/a/a5/HDMI_Connector.jpg here]).&lt;br /&gt;
&lt;br /&gt;
* Signal In: Micro HDMI Pin 2 (usually denoted as Utility or Reserved on pinouts)&lt;br /&gt;
* Signal Gnd: Micro HDMI Pin 4 (TMDS Data2 Shield, or any other shield pin; even the connector&#039;s case works)&lt;br /&gt;
&lt;br /&gt;
:[[File:Git2 Micro HDMI Pinout.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The Git2 uses its Mini USB port for both Video Out and Power In to charge or power the camera. While Gitup also provides this cable, FPV cables for the GoPro works as well. Gitup also provides a combo board/cable, which contains both the HDMI and USB connectors.}}&lt;br /&gt;
&lt;br /&gt;
=== Cable and Camera Function Test ===&lt;br /&gt;
&lt;br /&gt;
Once you have your cable and transmitter configured as above, connect your receiver or flight controller, and test it out. It should work before moving to the next step.&lt;br /&gt;
&lt;br /&gt;
=== CC3D NT IMU, STorM32 and Git2 Camera Integration ===&lt;br /&gt;
&lt;br /&gt;
This section is based on using the Mini CC3D Atom. Other NT IMU modules which expose the EXT pins should work equally well however. The following is only one of the several possible configuration options available with the STorM32.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT| Your STorM32 and NT IMU need to communicate correctly, it is however not mandatory that the gimbal has been configured or tuned.}}&lt;br /&gt;
&lt;br /&gt;
Wire up as follows:&lt;br /&gt;
&lt;br /&gt;
* Connect your receiver, or flight controller, to one of the seven STorM32 RC ports (RC-0 through RC2-3), or use any other input channel (see [[Inputs and Functions]]).&lt;br /&gt;
&lt;br /&gt;
* Connect the Git2 Remote Shutter cable to the EXT-3 and GND pins on the NT IMU (see [[NT_Camera#NT_Camera Support_by_NT_IMU_Modules|NT Camera Support by NT IMU Modules]]).&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab use the column for {{PARAMNAME|Camera Control}} and set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you wish to use&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Git2 Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
== Foxeer Legend 1 ==&lt;br /&gt;
&lt;br /&gt;
This should work as for the Gitup Git2, with identical settings. This has not yet been tested though.&lt;br /&gt;
&lt;br /&gt;
* http://foxeer.com/XAT800-Effio-V-Camera-a-10.html&lt;br /&gt;
* http://data.foxeer.com/Manual_LEGEND1_FOXEER.pdf&lt;br /&gt;
&lt;br /&gt;
== Mapir Survey ==&lt;br /&gt;
&lt;br /&gt;
The Mapir Survey is in many regards similar to the Gitup Git2. For instance, it also can receive a PWM signal on its Micro HDMI port for control. However, the PWM signal required by the Mapir is quite different to that for the Git2. Furthermore, only photos can be triggered, but video recording cannot be started/stopped. Thus, the Git2 camera model cannot be used for the Mapir.&lt;br /&gt;
&lt;br /&gt;
The electrical connections and setup are largely identical to the Git2, so please look up there. These differences might be noteworthy:&lt;br /&gt;
&lt;br /&gt;
In general, a 2 position switch will be used on your transmitter: The middle position should be set to 1500 µs and will do nothing. High position, &amp;gt; 1800 µs, will take a photo when switched.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab use the column for {{PARAMNAME|Camera Control}} and set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Control}} = {{PARAMVALUE|Rc-0}}, or whatever input port you desire&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Mapir Survey Rc}}&lt;br /&gt;
&lt;br /&gt;
The parameters {{PARAMNAME|Camera Control2}} and {{PARAMNAME|Camera ComPort}} are irrelevant, and the remaining parameters have their usual meaning.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|To avoid misunderstanding, please note that the transmitter switch PWM values mentioned for transmitter setup are not those which are send to the camera. The STorM32 will translate the received input PWM values into those required by the camera.}}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.rcgroups.com/forums/showthread.php?2055844-STorM32-BGC-32-bit-3-axis-brushless-gimbal-controller/page232&amp;amp;perpage=50#post42713367&lt;br /&gt;
* https://www.mapir.camera/pages/survey3-cameras&lt;br /&gt;
* https://cdn.shopify.com/s/files/1/0878/4732/files/MAPIR_Survey3_Manual_v1.pdf&lt;br /&gt;
&lt;br /&gt;
== Serial API ==&lt;br /&gt;
&lt;br /&gt;
The {{PARAMVALUE|Serial Api}} is a special camera model, designed to inter-operate with an external computing device, such as a Raspberry Pi, Arduino, and alike, via a serial data line (in the following the example of a Raspberry Pi, denoted as RPi, is chosen). The prototypical application example would be to integrate [http://www.gphoto.org/ gphoto]-controlled cameras into the STorM32 system.&lt;br /&gt;
&lt;br /&gt;
The RPi is connected to the UART on the STorM32 controller which is selected in the parameter {{PARAMNAME|Camera ComPort}}. The serial API camera model then provides a set of commands to exchange information between the STorM32&#039;s NT Camera functionality and the RPi. On the RPi a script is running which handles the communication, i.e., translates the commands of the serial API into the corresponding actions needed for the specific camera which shall be operated, and vice versa.&lt;br /&gt;
&lt;br /&gt;
In the {{GUI|Functions}} tab set as follows:&lt;br /&gt;
* {{PARAMNAME|Camera Model}} = {{PARAMVALUE|Serial Api}}&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}}: Select the UART ({{PARAMVALUE|default}} is currently not supported)&lt;br /&gt;
&lt;br /&gt;
The serial API currently consists of the following:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;shutter\n&amp;quot;, &amp;quot;videoon\n&amp;quot;, &amp;quot;videooff\n&amp;quot;: These commands correspond to the STorM32&#039;s internal SHUTTER, VIDEOON and VIDEOOFF states, and are send whenever the respective state is assumed. This can be via an input as selected in the parameter {{PARAMNAME|Camera Control}}, a serial command, a MAVLink command, or via the MAVLink Camera microservice.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;cntrl2high\n&amp;quot;, &amp;quot;cntrl2low\n&amp;quot;, &amp;quot;cntrl2stop\n&amp;quot;: These commands are send according to the state of the input selected in the parameter {{PARAMNAME|Camera Control2}}.&lt;br /&gt;
&lt;br /&gt;
* SENDCAMTEXT: This [[STorM32_Scripts|script]] command sends a user-defined string to the RPi (the string is appended by a &#039;\n&#039; character). This allows us to use the potential of scripts for controlling the camera handled by the RPi.&lt;br /&gt;
&lt;br /&gt;
An example Python script which can be run on a RPi is available in the firmware .zip file.&lt;br /&gt;
&lt;br /&gt;
== UartX Configuration ==&lt;br /&gt;
&lt;br /&gt;
The number of available UART ports on STorM32 boards is limited, especially on v1.3 boards, and it can thus happen that one is running out of them.&lt;br /&gt;
&lt;br /&gt;
In such cases, the RC-0 and RC-1 input pins can be reconfigured to work as a further UART port, then named UARTX. This comes at the obvious cost that these inputs cannot be used anymore as PWM, Spektrum, SBus, and alike inputs.&lt;br /&gt;
&lt;br /&gt;
For this, set:&lt;br /&gt;
* {{PARAMNAME|UartX Configuration}} = {{PARAMVALUE|uartX @ 115200}} (the parameter is located in the {{GUI|Setup}} tab)&lt;br /&gt;
* {{PARAMNAME|Camera ComPort}} = {{PARAMVALUE|uartX}}&lt;br /&gt;
&lt;br /&gt;
The physical assignment is&lt;br /&gt;
* RC-0 = UARTX Rx&lt;br /&gt;
* RC-1 = UARTX Tx&lt;br /&gt;
&lt;br /&gt;
For the location of the RC-0, RC-1 pins on your board please refer to [[Pins and Connectors]].&lt;br /&gt;
&lt;br /&gt;
== Stand-alone Use ==&lt;br /&gt;
&lt;br /&gt;
The NT Camera can also be used stand-alone, without a gimbal. This effectively allows us to convert any of the supported cameras into a MAVLink camera. &lt;br /&gt;
&lt;br /&gt;
This mode of operation can be especially useful for those camera models which provide features beyond the basic SHUTTER, VIDEOON, and VIDEOFF operations, such as the Runcam Split Mini2 or the GoPro Hero models.&lt;br /&gt;
&lt;br /&gt;
The camera and MAVLink settings are as described in the above for the respective camera model. Typically, the UART port would be used for the MAVLink connection to a flight controller, and the UART2 port for connecting to the camera.&lt;br /&gt;
&lt;br /&gt;
The main difference in setup would be to also disable the motors, by setting in the {{GUI|Setup}} tab:&lt;br /&gt;
* {{PARAMNAME|Pitch Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
* {{PARAMNAME|Roll Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
* {{PARAMNAME|Yaw Motor Usage}} = {{PARAMVALUE|disabled}}&lt;br /&gt;
&lt;br /&gt;
=== Wiring ===&lt;br /&gt;
&lt;br /&gt;
For a v3.x STorM32 board the connection scheme could be as this, here shown for the example of the GoPro Hero model:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-standalone-goprohero.jpg|680px]]&lt;br /&gt;
&lt;br /&gt;
For a v1.x STorM32 board the UARTX configuration capability can come in handy. The setup for a Runcam Split Mini2could look like this:&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-nt-ntcamera-standalone-runcamsplitmini2-v13board.jpg|680px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* https://www.rcgroups.com/forums/showthread.php?3422673-Mavlink-Camera-Conversions-%28using-STorM32%29&lt;/div&gt;</summary>
		<author><name>Seb</name></author>
	</entry>
</feed>