<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.olliw.eu/storm32bgc-v1-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Robca</id>
	<title>STorM32-BGC Wiki V1 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.olliw.eu/storm32bgc-v1-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Robca"/>
	<link rel="alternate" type="text/html" href="http://www.olliw.eu/storm32bgc-v1-wiki/Special:Contributions/Robca"/>
	<updated>2026-04-28T19:32:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://www.olliw.eu/storm32bgc-v1-wiki/index.php?title=How_to_flash_firmware&amp;diff=2954</id>
		<title>How to flash firmware</title>
		<link rel="alternate" type="text/html" href="http://www.olliw.eu/storm32bgc-v1-wiki/index.php?title=How_to_flash_firmware&amp;diff=2954"/>
		<updated>2015-11-06T14:24:25Z</updated>

		<summary type="html">&lt;p&gt;Robca: /* Flashing Firmware using a USB-TTL Adapter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following describes the process of flashing firmware onto v1.1/v1.2/v1.3/v1.31 boards.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Flashing Firmware using a USB-TTL Adapter ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; You need a standard usb-ttl adapter (CH340, CP2102, ..., {{WARNING|&#039;&#039;&#039;not&#039;&#039;&#039;}} PL2303. FTDI chips can also create problems, since many are fake. Only FTDI driver 2.10 or older works on those). Ensure that it is working (drivers installed, etc.).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; You don&#039;t have to worry if it is a 5 V adapter or not, the pins on the STorM32-BGC board we are going to connect the adapter to are 5 V tolerant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; The adapter has to be connected to UART1, which is {{WARNING|&#039;&#039;&#039;not&#039;&#039;&#039;}} the port labelled UART on the board, the correct pins are found on the port labelled RC! Namely:&lt;br /&gt;
&lt;br /&gt;
:RC-GND = GND -&amp;gt; connect it to GND of the usb-ttl adapter&lt;br /&gt;
&lt;br /&gt;
:RC-0 = Uart1-Rx -&amp;gt; connect it to Tx of the usb-ttl adapter&lt;br /&gt;
&lt;br /&gt;
:RC-1 = Uart1-Tx -&amp;gt; connect it to Rx of the usb-ttl adapter&lt;br /&gt;
&lt;br /&gt;
The connections between adapter and board are shown for v1.2/v1.3/v1.31 and v1.1 boards in the scheme below.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Neither a 5 V nor a 3.3 V nor any other power pin on the usb-ttl adapter is used... only three wires running from adapter to board.}}&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:[[File:Stom32-bgc-flashing-w-usbttladapter-connections-02.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; The board should be powered via the USB plug or through a battery/power supply connected to the &amp;quot;+&amp;quot; and &amp;quot;-&amp;quot; pads.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|If the board has already a firmware installed and this is the first-time it is connected via USB to a PC, then Win 7 will start installing the USB driver. {{WARNING|&#039;&#039;&#039;Do NOT interrupt the install process&#039;&#039;&#039;}}. See also the comments under point &#039;&#039;&#039;12&#039;&#039;&#039; below.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039; Run the GUI and go to the {{GUI|Flash Firmware}} tab (see the screenshot).&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|In principle you can use any GUI version to flash any version of the firmware. However, a GUI which is of the same or higher version than the firmware provides easy access to the firmware via the selector fields on the {{GUI|Flash Firmware}} window.}}&lt;br /&gt;
&lt;br /&gt;
:[[File:Stom32-wiki-flash-firmware-01.jpg|640px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6.&#039;&#039;&#039; Select the correct board and desired firmware version from the selectors.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|With these two selectors the correct firmware .hex file is chosen in the {{GUI|Selected Firmware Hex File}} field.}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{COMMENT|It is {{WARNING|&#039;&#039;&#039;important&#039;&#039;&#039;}} to choose the correct board version; otherwise the board will not functions correctly.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7.&#039;&#039;&#039; Select {{GUIPARAM|System Bootloader @ UART1}} in the {{GUI|STM32 Programmer}} field.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8.&#039;&#039;&#039; In the {{GUI|Com Port}} field select the COM port which your usb-ttl adapter is connected to.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|We are talking here about the {{GUI|Com Port}} field in the {{GUI|Flash Firmware}} tab, not the {{GUI|Port}} field in the lower left of the main window.}}&amp;lt;br/&amp;gt;&lt;br /&gt;
{{COMMENT|If you are not sure which the correct COM port is, then disconnect the usb-ttl adapter from the PC, inspect the drop-down list and memorize the available COM ports, connect your adapter and wait until its enumerated by Win, and finally inspect the drop-down list and chose the newly added COM port.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9.&#039;&#039;&#039; If required or desired check the {{GUI|Perform full chip erase}} check button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10.&#039;&#039;&#039; This is now {{WARNING|&#039;&#039;&#039;important&#039;&#039;&#039;}}: Before hitting the {{GUI|Flash Firmware}} button one has to ready the board for being flashed. For that, with the board connected to power, one has to&lt;br /&gt;
* press and hold down both the Reset and Boot0 buttons (the exact sequence of when which button is pressed is irrelevant, as long as they&#039;re both hold down)&lt;br /&gt;
* then, release the Reset button while still holding down the Boot0 button&lt;br /&gt;
* then, release also the Boot0 button&lt;br /&gt;
This may sound complicated, but one will quickly realize that this can be done by &amp;quot;rolling&amp;quot; the finger tip from the left to right.&lt;br /&gt;
&lt;br /&gt;
{{COMMENT|Both LEDs will go off; they should appear &amp;quot;dead&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
:[[File:Storm32-wiki-flash-firmware-key-sequence-01.jpg|640px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11.&#039;&#039;&#039; Finally, hit the {{GUI|Flash Firmware}} button.&lt;br /&gt;
&lt;br /&gt;
Now a black window (DOS console) should open and run the flash loader program, as shown in the screenshot. Wait until it&#039;s finished (takes some seconds). If the program doesn&#039;t proceed and asks to &amp;quot;Press any key to continue&amp;quot; the board is write protected. See &amp;quot;Removing Write Protection&amp;quot; below.&lt;br /&gt;
&lt;br /&gt;
:[[File:flash.png|640px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12.&#039;&#039;&#039; The STorM32 board will be reset and start running. If this is the first-time flash of the firmware and if the board is connected via USB to a PC, then Win 7 will immediately start with installing the appropriate USB driver. This takes quite a while (several minutes). Please, be patient and wait until Win 7 reports that the device is ready for use. {{WARNING|&#039;&#039;&#039;Do not disconnect the board from the PC or otherwise interrupt the driver installation process before it is completed&#039;&#039;&#039;}}. This can mess up things quite considerably, and installing the driver later can be a challenge.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the Micro STorM32 Board ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The Micro STorM32 board doesn&#039;t provide BOOT0 and RESET buttons. Here, BOOT0 must be shortcut to 3.3 V by e.g. soldering a wire as shown in the picture below, and powering up the board to bring it into bootloader mode.&lt;br /&gt;
 &lt;br /&gt;
:[[File:MicroStorm32.png|387px]]&lt;br /&gt;
&lt;br /&gt;
=== Flashing Procedure for Win XP ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Download and install the Flash Loader Demonstrator from [http://www.st.com/web/en/catalog/tools/PF257525].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Do step 1 to 4 under [[#Flashing Firmware using a USB-TTL Adapter|Flashing Firmware using a USB-TTL Adapter]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Start the Flash Loader Demonstrator, choose the correct COM port and then press the Boot0 and Reset buttons on the controller as described in step 10 under [[#Flashing Firmware using a USB-TTL Adapter|Flashing Firmware using a USB-TTL Adapter]]. Click next. &lt;br /&gt;
&lt;br /&gt;
{{COMMENT|The usb-ttl adapter needs to be connected to the PC before the Flash Loader Demonstrator is started}}.&lt;br /&gt;
&lt;br /&gt;
:[[File:XPFirmware1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; If you have connected the usb-ttl adapter correctly and pressed the buttons you should see a green light and it should say that the target is readable. Click next.&lt;br /&gt;
&lt;br /&gt;
:[[File:XPFirmware2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039; The target on the next page should be correct, otherwise you will have to choose the controller and click next.&lt;br /&gt;
&lt;br /&gt;
:[[File:XPFirmware3.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6.&#039;&#039;&#039; Browse to the correct firmware file and click next. The upgrade will start.&lt;br /&gt;
&lt;br /&gt;
:[[File:XPFirmware4.jpg]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7.&#039;&#039;&#039; After the firmware is downloaded to the controller you must restart it and it is now ready for use.&lt;br /&gt;
&lt;br /&gt;
:[[File:ready.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Removing Read&amp;amp;Write Protections ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Some boards are unfortunately shipped with a read/write protection on the flash. As a result, storing parameters permanently in the board and flashing new firmware will fail. To remove the protections do the following:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Follow steps 1-3 of [[#Flashing Procedure for Win XP|Flashing Procedure for Win XP]] for downloading, installing and starting the Flash Loader Demonstrator of STMicroelectronics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Do also step 4, you will now however see the message &#039;&#039;&#039;WARNING: When you click &amp;quot;Remove Protection&amp;quot; the flash will be mass erased and all data will be lost.&#039;&#039;&#039;. Click on &#039;&#039;&#039;Remove Protection&#039;&#039;&#039;. This will remove the protections, as well as fully erase the flash memory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; Close the Flash Loader Demonstrator after it has completed and restart the STorM32 board. The LEDs are not operational since also any firmware got erased in the previous step. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; Go back to the [[#Flashing Firmware using a USB-TTL Adapter|Flashing Firmware using a USB-TTL Adapter]] section in the above and flash the firmware anew.&lt;br /&gt;
&lt;br /&gt;
=== Trouble Shooting ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* In order to test if the usb-ttl adapter is working properly, you can connect its Rx and Tx pins with each other, and use a terminal program, such as Hterm. When you send characters they should be immediately received.&lt;br /&gt;
* If the USB is not working, please double-check that you&#039;ve selected the correct board version in the {{GUI|STorM32-BGC board}} field.&lt;br /&gt;
* In case you have troubles with the USB driver, see the [[STorM32_FAQ#Which_drivers_are_needed_for_the_USB.3F|FAQ: Which drivers are needed for the USB?]].&lt;br /&gt;
* In case the black DOS box doesn&#039;t show up, check if the firmware .zip file was extracted.&lt;br /&gt;
* In case the black DOS box shows the [OK] messages, but the downloading and verifying message lines are not present, go to [[#Removing Read&amp;amp;Write Protections|Removing Read&amp;amp;Write Protections]].&lt;br /&gt;
* On Win XP flashing via the GUI using the usb-ttl adapter will fail (the compiled .exe version of the flashloader doesn&#039;t work on XP, sorry for that). See the next sub section [[#Flashing Procedure for Win XP|Flashing Procedure for Win XP]].&lt;br /&gt;
* If the verify fails then first check that you are not using an outdated GUI version. Otherwise, check the {{GUI|Perform full chip erase}} check button and repeat. This will however also erase any setting which you might have stored before. In that case save the settings to a file beforehand using the option in the &amp;quot;Setting&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
== Flashing Firmware using a STLink/V2 (SWD) Programmer ==&lt;br /&gt;
&lt;br /&gt;
PLEASE ADD&lt;/div&gt;</summary>
		<author><name>Robca</name></author>
	</entry>
	<entry>
		<id>http://www.olliw.eu/storm32bgc-v1-wiki/index.php?title=STorM32_FAQ&amp;diff=1547</id>
		<title>STorM32 FAQ</title>
		<link rel="alternate" type="text/html" href="http://www.olliw.eu/storm32bgc-v1-wiki/index.php?title=STorM32_FAQ&amp;diff=1547"/>
		<updated>2014-11-25T13:48:23Z</updated>

		<summary type="html">&lt;p&gt;Robca: /* Where should the main board be mounted for correct use of the second IMU? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Electronics ==&lt;br /&gt;
&lt;br /&gt;
==== What connectors are used for connecting the MPU modules to the board? ====&lt;br /&gt;
&lt;br /&gt;
The connectors for the MPU modules on the STorM32bgc board are [http://www.molex.com/molex/products/family?key=picoblade&amp;amp;channel=products&amp;amp;chanName=family&amp;amp;pageTitle=Introduction Molex picoblade] types with 1.25 mm pitch (for a comparison of various connectors see [http://www.rcgroups.com/forums/showthread.php?t=1493712 here]). They are also known as micro JST 1.25 mm, and it is in fact best to search for this, e.g. on ebay: [http://www.ebay.com/sch/i.html?_trksid=p2050601.m570.l1313.TR0.TRC0.H0.Xmicro+jst+1.25&amp;amp;_nkw=micro+jst+1.25&amp;amp;_sacat=0&amp;amp;_from=R40 micro jst 1.25].&lt;br /&gt;
&lt;br /&gt;
==== What about the magnetometer support? ====&lt;br /&gt;
&lt;br /&gt;
In version 0.51.2e magnetometer is not jet supported: http://www.rcgroups.com/forums/showpost.php?p=29756073&amp;amp;postcount=2062&lt;br /&gt;
If a mag-imu is connected as main imu on the camera, mag will not be detected:&lt;br /&gt;
&lt;br /&gt;
v... v0.51&lt;br /&gt;
&lt;br /&gt;
s... ok&lt;br /&gt;
&lt;br /&gt;
IMU is PRESENT @ LOW ADR&lt;br /&gt;
&lt;br /&gt;
IMU2 is PRESENT @ LOW ADR = external IMU&lt;br /&gt;
&lt;br /&gt;
MAG is not available&lt;br /&gt;
&lt;br /&gt;
STATE is NORMAL&lt;br /&gt;
&lt;br /&gt;
== Software and GUI ==&lt;br /&gt;
&lt;br /&gt;
==== Storing the parameter values to the EEPROM doesn&#039;t seem to work ====&lt;br /&gt;
&lt;br /&gt;
Please double-check that the correct firmware for your board has been flashed. The problem typically happens then e.g. the firmware for a F103RB is flashed onto a board with a F103RC.&lt;br /&gt;
&lt;br /&gt;
==== Which drivers are needed for the USB? ====&lt;br /&gt;
&lt;br /&gt;
On Win7 the driver is usually installed automatically (this may take few minutes, be patient). The driver, usable also for WinXP, can also be obtained from [http://www.st.com/web/en/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168 here].&lt;br /&gt;
&lt;br /&gt;
==== Flashing with the usb-ttl adapter produces Windows error messages ====&lt;br /&gt;
&lt;br /&gt;
If upon flashing you get Windows errors such as mfc110.dll is missing, msvcr110.dll is missing, or application was unable to start correctly (0xc000007b), then first check that you&#039;re not using an outdated GUI version. Otherwise, you need to install the VC++ runtime libraries. Download vcredist_x64.exe or vcredist_x86.exe depending on your Win system from [//www.microsoft.com/en-us/download/details.aspx?id=30679 here], and run the exe file.&lt;br /&gt;
&lt;br /&gt;
== Gimbal Construction ==&lt;br /&gt;
&lt;br /&gt;
==== Does it matter where to install the camera IMU sensor? ====&lt;br /&gt;
&lt;br /&gt;
In principle no, one can mount it wherever it is most convenient (of course as long as it tracks the camera motion). Some folks have however reported that the performance can depend on where the IMU sensor is mounted, depending on the specific gimbal some places seem to be better, i.e. allow e.g high PID values, than others. So, it may need experimenting.&lt;br /&gt;
&lt;br /&gt;
==== Where should the main board be mounted for correct use of the second IMU? ====&lt;br /&gt;
&lt;br /&gt;
The second imu must be mounted on the &amp;quot;gimbal support&amp;quot; above the yaw motor so it is not moved by any of the motors. It must not be mounted on one of the axis&#039;s. So you can either mount the gimbal mainboard above the yaw motor using the onboard imu, or put the mainboard somewhere else (on yaw axis for example) and mount an external imu2 above the yaw motor.&lt;br /&gt;
&lt;br /&gt;
The onboard mpu6050 imu is connected to the imu2 connector internally and is set to a non default i2c adress. If you connect an external imu to imu2 connector it can be recognised by its default i2c adress. So you don&#039;t have to change anything in gui, external imu is used automatically when connected.&lt;br /&gt;
&lt;br /&gt;
Activate imu2 in Gimbal Setup -&amp;gt; Imu2 configuration:&lt;br /&gt;
* &amp;quot;gimbal support&amp;quot;: activate imu2 above the yaw motor.&lt;br /&gt;
* &amp;quot;gimbal support xy&amp;quot;: activate imu2 above the yaw motor rotated by 45°.&lt;br /&gt;
* &amp;quot;yaw bracket&amp;quot;, &amp;quot;yaw bracket xy&amp;quot;: do not use it, it iy buggy. (not availible in 0.51.2e)&lt;br /&gt;
&lt;br /&gt;
The calibration of imu2 works similar to the main imu. But for imu2 it&#039;s not critical to get the most accurate calibration, and a good 1-point calibration is enough.&lt;br /&gt;
&lt;br /&gt;
http://static.rcgroups.net/forums/attachments/1/4/2/1/a7119019-20-stom32-bgc-2nd-imu-configurations-01.jpg&lt;/div&gt;</summary>
		<author><name>Robca</name></author>
	</entry>
</feed>