2022-08-13 05:51 AM
Hey Guys,
So I have this Board and I have a couple of questions:
1 - Last week I wanted to connect a sensor to the board, to learn some communication protocol stuff. I noticed that the board PINs (in green) are too close to each other, so, the usual RPi/Arduino Wiring Cables don't really work. I did some research and it turns out that pin configuration was designed to be used with a daughterboard, which I couldn't find, so, I bought 2 connectors - one for the IOs (marked in red) and another one (not shown in the picture) for the Memory PINs (the 2 40-pin columns in between the 60-pin ones for the IOs)
The documentation says: Each pin on CN6 and CN7 can be used by a daughterboard after disconnecting it from the corresponding function block on STM32H7x7I-EVAL. They do show a mapping from the controller to the Connectors (CN6 and CN7), but what do they mean when they say: Remove Rxx, close SB xx, Add Rxx, Remove SBxx (see the magenta marked ones). How on earth would I do that?
For example: Say I want to connect 2 wires to PB6 and PB7(in orange; CN7; on the right), how would I do that?
Page 26 of UM2525 (the PDF link above) says[*]:
PIN Desc: PB7 | AF: I2C_1_SDA | How to disconnect w/ fnc block on the eval. board: Remove R160, R181, R209, Disconnect CN4, CN15
PIN Desc: PB6 | AF: I2C_1_SCL | How to disconnect w/ fnc block on the eval. board: Remove R155, R180, R212, Disconnect CN4, CN15
What the heck do they mean here?
My question is basically: How can I use IOs of my board? I mean, if I want to toggle LED1, then it's fine. I know it is connected to PK3, so, I can toggle that PIN using software. But, say I want to externally toggle, say, PIN PF7, randomly chosen, meaning: pull a wire from the connector (in red) and send it to a breadboard, for example. Imagine I have a push button there, that I am using as an input pin; an EXTI, maybe? In the CubeMX I could set that as input pin and do all the setup, etc...,, but how do I tell the board that I am using that pin like this, not in the usual default settings - according to page 38 of the document, this pin's default function is (QSPI_BK1_IO2); page 24 of the UM2525 states that to use it after disconnecting from the eval. board, I'd have to remove R36. Again, the same question: how? Because if it was: remove JP9 (blue, upper) or connect JP13 (blue, lower), then I'd know how to do that. But how to mess up with the resistors and/or bridges in order to use an external breakout?
I mean, as long as I am working internally, it is fine. I could use the tamper/key button (B3) as my button, no need for an external button. That was just to make my point.
Some PINs have a dash, like PJ13 (Table 23 and 24 of the document). Does that mean I could you it just like that, without removing/adding/closing... stuff? If that is the case, then awesome. At least I would have a couple of PINs available.
2 - I already searched everywhere and I find no shield for this board. It seems like one has to design his own? I must be missing something.
PS: Yes, I should buy another board. A board to which you can directly connect pins from a breadboard. I was told that already. But man, I wish I could at least do some basic stuff with this one, since I won't get to do cool stuff with it, since I don't even know how this pinout setup works :/
I appreciate any help.
Thanks.
Solved! Go to Solution.
2022-08-13 06:47 AM
Yes would need to design daughter board yourself and then need to deconflict pins and reroute signals via resistors and solder bridges, and perhaps pay attention to stub traces you end up creating.
Its an expensive board, fiddly work and a PITA, you'd need to decide if that's easier or simpler that creating a custom board or finding a more willing donor board.
The EVAL boards tend to have all pins of the MCU committed to things, perhaps consider I2C IO Expanders to do GPIO type activities.
Look at WaveShare boards, or other boards with more popular expansion connectors.
2022-08-13 06:47 AM
Yes would need to design daughter board yourself and then need to deconflict pins and reroute signals via resistors and solder bridges, and perhaps pay attention to stub traces you end up creating.
Its an expensive board, fiddly work and a PITA, you'd need to decide if that's easier or simpler that creating a custom board or finding a more willing donor board.
The EVAL boards tend to have all pins of the MCU committed to things, perhaps consider I2C IO Expanders to do GPIO type activities.
Look at WaveShare boards, or other boards with more popular expansion connectors.
2022-08-13 07:53 AM
So, the connectors I bought won't help, right? It's very bad that we don't have, say, 10 IO PINs available, just to say that we have something haha. So I could use this connector.
But yeah, it seems like I will have to buy another board. A Discovery Kit, maybe.
You say most of the Eval Boards have almost all their PINs assigned to something. Ok, right. But if we can't access them, then it doesn't really help. I'd always need an intermediate step. For example, connect my board to another board/computer/***, using, say, USB or something else, and theeeen transmit the signals.
Like: ok, we have, say, 10 ADCs but you can't really access them. The signals would have to be passed to something else and that something would communicate with my Eval Board.
Anyways...
Thank you SO MUCH for clearing that up.
2022-08-13 09:41 AM
I'm not looking to deep-dive on the connectors, these designs carry over from much older ones, and I think there's one board for motor, and another for external memory prototyping.
The overall kitchen sink design, and pin consumption for memories, and screens, makes them mostly unsuitable for the stuff I work on. They are nice as-is to build and test code.
I tend to prefer stuff with less dense 0.1" (100mil) spaced headers I can wire-wrap or fab simple boards.
The DISCO and NUCLEO boards with Arduino headers tend to be the easiest to escape signals. The DISCO's can be a bit limited in that regard, but do have screens and memories that the NUCLEO's lack.
Depends a lot on what you want to achieve, most of my stuff is head-less, and a simple I2C OLED display can be used if I need debug/diagnostic output to support partners/colleagues. If you want high resolution graphics you'll need boards with screens and memories.
For ADC's I'd probably look for external devices I could interface and do a good job
2022-08-13 09:54 AM
No wonder you lead the 'beloved ones' board here on the Community haha. Your answers are really helpful. At first, I thought you were an ST Expert. Your answers are EVERYWHERE HAHA.
Anyways...
Again, thank you so much for the support. I'll keep doing what I can with this board and probably get another one, with some more accessible IO PINs.
In any case, I am sure I will have other questions and that you'll probably be the one answering them.
Greetings from .
2022-08-15 01:38 AM
Hi Kelv,
Teslas answer is correct. Just one thing to add. As you assumed the "dashes" in the tables means that the pin is not routed to component on the board. Assuming it is routed to a pin header it is free to use without conflicts. That said, if you are looking for connectivitiy peripherals they may or may not be muxed to those free pins.
So for the use case you are looking for a NUCLEO could have been a better fit.
Kind regards, Mattias
2022-08-15 02:13 AM
Mattias, first of all, thanks for adding this comment on the "dashes" haha. I may check if some of them are made accessible, as a usual GPIO, without any default/internal connection in the MCU. There are 25 dashed PINs, so, it's worth it a try. I will check the schematics and see what I find out. If I got, say, 10 PINs out of the 25, then that would be amazing. And then I would just need to find them on this extra connector I bought and that would be it
Regarding the board type, I was reading through the documentation and I came to understand that most of what I want is already somehow available, internally, so, if I am really good at understanding the board, I can some of the stuff I want without needing extra PINs. For example, the Potentiometer is already mapped to an ADC, there is already headset and speaker ports, the USART1 is accessible by changing some of the jumpers (making them
Tx/Rx with ST Link), the JTAG connector also makes some stuff available, and so on. So, I don't won't to loose all of this, but maybe, at some time, I do need to wire something up to try x thing. That means, the H747 Disco could be the it(though I couldn't find it in stock). With it, I don't lose all the functionality of the 757I-Eval and get some PINs to experiment with. Not really many, as you mentioned, but that's some progress haha.
Again, thank you very much.