how to program btt octopus V 1.1 stm32f446zet6(not standard supported)

Post here first, or if you can't find a relevant section!
Post Reply
Joost
Posts: 1
Joined: Thu May 12, 2022 10:53 pm

how to program btt octopus V 1.1 stm32f446zet6(not standard supported)

Post by Joost »

I am working on a school project, we are using the btt octopus v1.1 (stm32f446zet6) mainboard as the controller.

We want to use arduino to program our board with our own program for the machine we are building,
however the board is not supported and I cant for the life of me figure out what to do or try now.
I am not new to arduino but this is way above my knowledge.
I have tried to follow this guide to get everything up and running but keeps throwing errors:
https://github.com/stm32duino/wiki/wiki ... 28board%29

now, the thing is that BTT has this board on their github with a working version of marlin, so as far as i know everything should be there but i have no idea how to get it working propperly.
https://github.com/bigtreetech/BIGTREETECH-OCTOPUS-V1.0

I have also just read this topic that has a few pieces of great info but i just can't piece it together.
viewtopic.php?f=7&t=1554

So my question now is, that I was hoping for someone to help me getting this running or maybe even sending me the config files or whatever i need.
ag123
Posts: 1653
Joined: Thu Dec 19, 2019 5:30 am
Answers: 24

Re: how to program btt octopus V 1.1 stm32f446zet6(not standard supported)

Post by ag123 »

among the things you can try, you can look at this
viewtopic.php?p=9868#p9868
post in the thread

or alternatively, you can try the FYSETC_S6 variant
https://github.com/stm32duino/Arduino_C ... ETC_S6.cpp

the main thing about that variant is that, that board has a SystemClock_Config(void)
https://github.com/stm32duino/Arduino_C ... 6.cpp#L139
for a 12 Mhz crystal, which apparently is the same frequency as your board.

you would also need the schematics to your board, figure out which pin (the PAxx) is the on board led and write a sketch to blink that led.
you would also need to test usb-serial, e.g. Serial.print("hello world"); and it should appear in your serial monitor.
This is just to assure yourself that it is 'alive'.

after that you can make a variant for your board as suggested in the first link above.
to make a new variant, it is mainly
- copy the files (e.g. from generic) to your board and name them similar to the convention
edit the various symbols / macros to distinguish that for your board
e,g ARDUINO_(your board)
(this is normally done within the same folder)
- update the SystemClock_Config(void) in your copy / variant
- update boards.txt copy that same section across and edit the copy of your board's entry.

if everything works well, after your tests, you may like to make a pull request in github for your new variant.
if that's gets included in the core, the next time you have the convenience of just selecting your board in the standard core.
Post Reply

Return to “General discussion”