STM32h743IIT6 #532
Replies: 17 comments 19 replies
-
|
Hi, do you have a pinout / board map you can share? Will try and check it over (though I only have up to 144 pin H7 boards to test on). One thing off the top of my head, the current driver only enables GPIO clocks for GPIOA - GPIOG, so you will probably need to add GPIOH there also. |
Beta Was this translation helpful? Give feedback.
-
|
Here is the board map. I've made the chances directly to the btt_skr_v3.0_map.h. I've added the my_machine as well incase it is needed. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks, don't notice anything obviously wrong there.. I see there are GPIOI outputs as well, so same comment as above for those - you'll want to add the extra lines in driver.c to enable the clocks for additional GPIOs. I also notice you've commented out the SAFETY_DOOR port and pin definitions, but I think that would just result in a compile time error if SAFETY_DOOR_ENABLE was defined and they weren't? Aside from that, as the original SKR3 map file works for comms at least, I would maybe just add your changes back bit by bit until you find what breaks it? |
Beta Was this translation helpful? Give feedback.
-
|
If I change auxiliary port pin mappings to same as in BTT SKR 3 H743 mapping file then the USB communication works. I have no idea why but atleast I can make some testing now. I've added the missing clock configuration for GPIOH and GPIOI. I'm using TMC5160 as stepper controller. I can't move any of the axes and there is no any activity on step / dir pins. And it looks like the SPI is not transferring any data. Any suggestions what might cause that? |
Beta Was this translation helpful? Give feedback.
-
|
Ok now I have SPI activity and step/dir signal seems to function. If I try to move X, Y or Z-axis nothing happens. Drivers will get control signals but TMC5160 is not reacting to control signals. There is hardware fault in Y-axis. One of the high side mosfet is having low gate voltage, I'll have to figure out why. If there is fault (s2gb) in Y-axis will it prevent moving of X and Z axis too? Here is the status of all TMC5160 drivers: Driver TMC5160 TMC5160 TMC5160 |
Beta Was this translation helpful? Give feedback.
-
|
I can confirm that STM32H743IIT6 functions ok with grblHAL. I had finally time to assemble partly a new PCBA. Now it works perfectly and I can control up to 3 axes. Hardware suppports up to 10 axes but using all of those is different story. Thank you dresco for your help! Now I can fully assemble the PCBA and continue hardware build. |
Beta Was this translation helpful? Give feedback.
-
|
I don't have a webpage, blog or github yet which shares information about this controller. I havent decided what to publish (and when) once this is ready. I am stil at proof of concept phase and I need to make sure everything works as designed before publishing too much information. This started as 6 axis controller but I've made already made a new revision which has 10-axis support. I started make this because I had new idea for feeders and I needed conveyor. I have two additional machines which are supported by this controller: Vapor phase reflow oven and robot soldering machine for TH-components. I decided to go with the modular stepper controllers. It makes the whole platform much more versatile. First stepper controller module is based on the TMC5160. What I really would like to do in the future is module which has TMC4671 for closed loop stepper control. Here is shortly the main details of the controller PCBA:
Here is the picture of partially assembled main PCBA and three stepper modules. I hope the picture shows ok. Please let me know if there is something specific you would like to know. |
Beta Was this translation helpful? Give feedback.
-
|
That's pretty cool! Are you discussing this on OpenPNP? I've been following a nucleo project there. Also, did you make the 5160 drivers or are they sourced from somewhere else? |
Beta Was this translation helpful? Give feedback.
-
|
Thanks! No I haven't yet participate on OpenPNP discussion. This is first time I share information about this motion controller board online. Yes I made the TMC5160 driver modules. |
Beta Was this translation helpful? Give feedback.
-
|
I have been using my custom board with the OpenPNP and so far it has been working extremely well. There is only one problem which is ralated to the STM32H743IIT6 internal ADC. I have installed laser distance sensor in the PnP machine. The sensor has analog output which is connected to GPIOF pin 14 (ADC2, ADC_CHANNEL_6). I have added three AD ports and pins for the analog inputs in the board map. I would be happy if one of the AD-channels would work, as the two remaining AD-channels are for the future use. #define AUXINPUT0_ANALOG_PORT GPIOF #define AUXINPUT1_ANALOG_PORT GPIOF #define AUXINPUT2_ANALOG_PORT GPIOF These pins are not claimed anywhere else. With the OpenPNP plugin enabled, I can't read the ADC value with M-code: M143 E0 It gives this error: I noticed that with the $pins command there isn't definition for the analog ports E0,E1 and E2: [PIN:PF14,Aux analog in 0] What am I missing here, or have done wrong? I was only able to find information about the external ADC MCP3221, but nothing regarding the internal ADC of STM32H7XX with grblHAL. |
Beta Was this translation helpful? Give feedback.
-
|
I've used build 20250910 so far and I decided to try slightly newer, which is 20251111. Now the error message has slightly changed. For M-code M143 E0 I get this error: M66E0L0 gives this: $#=5399 gives this: |
Beta Was this translation helpful? Give feedback.
-
|
Have just tried on a bare Nucleo144 dev board, no code changes except for un-commenting the aux inputs in the reference map. I don't get an error, but the values returned don't appear to reflect the actual voltage applied to the pin(s). I'll try to have a look into this next week.. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for testing the analog input. This means I should have working analog inputs too, but there is something else wrong with my configuration, which causes missing of the E0, E2 and E3. Maybe it's best if I compare my changes to the unmodifed grblHAL and look if I have accidentally made changes which should not be there. |
Beta Was this translation helpful? Give feedback.
-
|
fyi, have just pushed some updates to the H7 branch, which include the ADC fixes. Have bench tested on a Nucleo here with 3 analog inputs, one channel each on ADC1/ADC2/ADC3, and also with multiple channels on a single ADC. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the update, I'll test this with my setup. |
Beta Was this translation helpful? Give feedback.
-
|
That problem sounds familiar. So the issue has been now fixed? |
Beta Was this translation helpful? Give feedback.
-
|
Good! I'll have to test it too. |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
I have made 6-axis motion controller board which is using STM32h743IIT6 MCU. This will be motion controller for my own Pick and place machine with OpenPNP.
I've managed to make the MCU communicate with OpenPnP and ioSender by using BTT SKR 3 H743 configuration in the STM32CubeIDE. But the problem is that as soon as I start to change pin mappings according my own motion controller the things start to go wrong. If I do the pin mappings according my own motion controller board with STM32H743IIT6 it won't communicate with Openpnp/ioSender and it won't be regognized by OS anymore.
So the question is that what needs to be changed to support the STM32H743IIT6?
I assume that because the STM32H743IIT6 has more ports/pins than STM32H743VIT6 it will cause some sort of conflict. Especially if I use pins which are not available in the STM32H743VIT6.
Beta Was this translation helpful? Give feedback.
All reactions