# Want to use openMV in STM32F429DISC

**URL:** <https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731>\
**Category:** OpenMV Boards\
**Created:** [May 31, 2018, 4:10am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731 "2018-05-31T04:10:55Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![LaxChen](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/laxchen/32/36_2.png) [@LaxChen](https://forums.openmv.io/u/LaxChen)\
**Post date:** [May 31, 2018, 4:10am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/1 "2018-05-31T04:10:55Z")

</div>

HI, guys !  
I have a STM32F429DISC board, and I found that:[https://hackaday.io/project/1313-openmv/details.So](https://hackaday.io/project/1313-openmv/details.So) that I want to port openMV in my board .

Then I change BOOTLOADER code: use USB\_HS\_IN\_FS make a VCP device , change STM32F427xx in STM32F429xx and some other F429 config.

after that , I cp omv/boards/OPENMV2 in omv/boards/STM32F429DISC, because I found that Mircopython support STM32F429DISC. Also I change something about FLASH , LD file.

I use cmd make a binary file

```python
make TARGET=STM32F429DISC

```

when I connected my board to PC , it just show UNKNOWN DEVICE.

I found that OPENMV2 are not support, but can you get some advices on porting openMV to STM32F429DISC.

OS: WINDOWS 10 pro  
VM: ubuntu 14.04  
arm-none-linux-gcc: 5.6.1  
and I also install openmv and st VCP driver

thanks!

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [May 31, 2018, 4:34am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/2 "2018-05-31T04:34:07Z")

</div>

Hi, figuring out the USB stuff is a complete nightmare. We can’t really help you with that. All we can tell you is that the top level application code will run on that board. As for the USB stuff, you have to figure that out yourself. The binary targets the STM32F427 directly and ST parts are usually binary comparable if only the peripherals change.

---

<div class="post-metadata">

**Author:** ![LaxChen](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/laxchen/32/36_2.png) [@LaxChen](https://forums.openmv.io/u/LaxChen)\
**Post date:** [May 31, 2018, 8:34am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/3 "2018-05-31T08:34:23Z")

</div>

> [@](#):
>
> Hi, figuring out the USB stuff is a complete nightmare. We can’t really help you with that. All we can tell you is that the top level application code will run on that board. As for the USB stuff, you have to figure that out yourself. The binary targets the STM32F427 directly and ST parts are usually binary comparable if only the peripherals change.

thank for your reply, and I have a question : it is bootloader code make USB only work in VCP or a composite device ?

thanks

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [May 31, 2018, 7:35pm UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/4 "2018-05-31T19:35:31Z")

</div>

The bootloader is just a VCP device.

---

<div class="post-metadata">

**Author:** ![LaxChen](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/laxchen/32/36_2.png) [@LaxChen](https://forums.openmv.io/u/LaxChen)\
**Post date:** [June 1, 2018, 2:09am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/5 "2018-06-01T02:09:29Z")

</div>

> [@](#):
>
> The bootloader is just a VCP device.

thanks for your answer,  
I try to make a MDK project with the same code and then USB work normally. So I think maybe I should figure out ld file and starup.s . 😃

---

<div class="post-metadata">

**Author:** ![LaxChen](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/laxchen/32/36_2.png) [@LaxChen](https://forums.openmv.io/u/LaxChen)\
**Post date:** [June 2, 2018, 3:24am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/6 "2018-06-02T03:24:10Z")

</div>

Today, I use cmd to make an assembly file

```python
 arm-none-linux-objdump -d bootloader.elf > boot.dis

```

AND I found a symbol name OTG\_FS\_IRQHandler, but I want is OTG\_HS\_IRQHandler ，so I change stm32fxxx\_it.c /.h .

after that PC can recognize USB and I can see OpenMV Cam USB COM Port 😃

but a new problem is emerging : when program jump to omv app , it allways run lable **soft\_reset** 😲

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [June 2, 2018, 3:33am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/7 "2018-06-02T03:33:49Z")

</div>

Yes, the OpenMV C main firmware is a different USB application. You need to fix the issue for both the bootloader and the application.

---

<div class="post-metadata">

**Author:** ![LaxChen](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/laxchen/32/36_2.png) [@LaxChen](https://forums.openmv.io/u/LaxChen)\
**Post date:** [June 2, 2018, 8:06am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/8 "2018-06-02T08:06:33Z")

</div>

> [@](#):
>
> Yes, the OpenMV C main firmware is a different USB application. You need to fix the issue for both the bootloader and the application.

I found that problem is uninit SENSOR and I have a 7670 which openMV did no support . but I can imitate other sensor driver.

---

<div class="post-metadata">

**Author:** ![LaxChen](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/laxchen/32/36_2.png) [@LaxChen](https://forums.openmv.io/u/LaxChen)\
**Post date:** [June 5, 2018, 2:37am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/9 "2018-06-05T02:37:25Z")

</div>

Hi guys,  
when program run in func sensor\_init(), it will allways keep in HAL\_I2C\_IsDeviceReady(). So I make DEBUG=1, however the file size overflow .  
so how can I to reduce the firmware.elf file size ? Remove some img module which not working well in F4 ？but i dont known which one.

thanks! 😃

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [June 5, 2018, 3:05am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/10 "2018-06-05T03:05:48Z")

</div>

Remove anything you don’t need. It is sufficient to just comment out the pymethod and the link in the c function pointer dictionary in py\_image.c

---

<div class="post-metadata">

**Author:** ![LaxChen](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/laxchen/32/36_2.png) [@LaxChen](https://forums.openmv.io/u/LaxChen)\
**Post date:** [June 7, 2018, 7:32am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/11 "2018-06-07T07:32:27Z")

</div>

> [@](#):
>
> Remove anything you don’t need. It is sufficient to just comment out the pymethod and the link in the c function pointer dictionary in py\_image.c

thanks!

Finally, I dont remove any.

I connect pins fllow the openmv sdr and try to use SCCB to read OV7670 ID via MDK project , but it does not work.

Today I try to fllow openmv2 pins . It is suprise that I can read the device ID . And now I can see a color bar in OPENMV IDE , just with 2.5 FPS , but thai is a good beginning.😃

---

<div class="post-metadata">

**Author:** ![victagayun](https://avatars.discourse-cdn.com/v4/letter/v/8797f3/32.png) [@victagayun](https://forums.openmv.io/u/victagayun)\
**Post date:** [February 9, 2019, 5:19am UTC](https://forums.openmv.io/t/want-to-use-openmv-in-stm32f429disc/731/12 "2019-02-09T05:19:09Z")

</div>

> [@](#):
>
> thanks!
> 
> Finally, I dont remove any.
> 
> I connect pins fllow the openmv sdr and try to use SCCB to read OV7670 ID via MDK project , but it does not work.
> 
> Today I try to fllow openmv2 pins . It is suprise that I can read the device ID . And now I can see a color bar in OPENMV IDE , just with 2.5 FPS , but thai is a good beginning.😃

Hello, how far were you able to do it? Were you able to make it work? Can you provide steps on how to do it? Or just maybe hex file be enough. I have OV7725, maybe it could have less or no error at all.
