I purchased a STM32F429 Discovery Board about a year ago. I finally got around to unboxing it today. I want to see if I can figure out how to use the TouchGFX tool with this board. I want to have 6 buttons and a textbox on the display.
The board has a program loaded on it from the factory. Apparently something is not right with the software. The screen has Video player, Image browser, Clock/Calendar, Performance, Game, and System Info images on the screen. I assume you are supposed to touch these to see a demonstration of these items.
However, none of them work properly. If I touch Clock/Calendar the display will sometimes pull the calendar and clock up. At other times the screen changes to "MJPEG Player". If I touch the System Info "button" it pulls up Image Browser and says "No File Found". Regardless of what comes up, NONE of the buttons respond to being touched. The only thing I can do is press the reset button. This restarts the board and it returns to the default startup screen.
Did anyone test this software before shipping the boards to the distributors?
Are there any tutorials online that can help me program this board to something that works? Everything I have found so far uses STM32F7xx CPU's. Is there anything that can be done to make the factory installed program work?
Solved! Go to Solution.
Thank you for all you comments. They give insight into why there are not examples available for the F4x9 parts.
My application is fairly simple. I am building a HF receiver as an update to one I built several years ago. I have been a amateur radio operator since the early 60's. The previous radio used buttons and rotary switches to select various functions, such as band, USB, LSB, selectivity, etc. For the new radio I want to use touch screen buttons. That will save a lot of hole drilling, hardware, and the associated wiring.
My first thought was to use a 3.5 inch Nextion TFT display with a built in driver/CPU and their graphics generation tool. But I thought about it and decided I could purchase a less costly screen without the driver/CPU built in. Since I needed a CPU to control the radio I figured the 429 with the LCD driver engine would be the approach to take. The cost of the 429 + the non-driver TFT was about the same as the display with the driver built in. And I would also have more capability with the 429 vs a smaller CPU. The cost of a F7 part + driverless TFT far exceeds the Nextion with driver part.
I will stick with the 429 part as I know it is more than capable of doing what I need. I am watching a couple of ST videos now on how to use TouchGFX. If I can create a couple of buttons and have them light LEDs on the Discovery board I will then design my custom board around the 429 part. The 180 MHz clock is overkill for the radio as CPU in the old radio runs on a 32 MHz clock.
Again, thanks for you comments. It really helps.
The clarification of your app answers my questions. If I move the stylus very slow it does draw a solid line. Also, holding the User button down and touching the center of the X and moving it to the opposite diagonal corner, the line then follows the stylus.
Maybe the younger generation likes to play with mirrored drawing but the age of my brain probably cannot handle that very well. 🙂
If I have questions about TouchGFX I will create a new topic. I will go back to the other forum and add a link to this post.
Thank you for you help.
The software could be VERY old (2013?)
Did it say TouchGFX on the initial splash screen?
Did you remove the protective film?
The media files likely need to be on a USB Flash drive connected via the Micro-AB connector at the south-end of the board.
There should be other code examples on the CubeF4 directories
No, it did not say TouchGFX on the initial screen.
Than you for the reply.
I downloaded the latest firmware this evening. It says I need to run the calibration routine. I did that and now I get different "buttons". But none of them work.
I did remove the protective film.
Is there a compiled hex file I can download to test the board to confirm the touch screen works? Something with maybe a single button that toggles a LED on the board? I don't need the source code. I just want to confirm the touch screen works. If it does I will then start down the path of creating my own app.
The board is labeled STM32F429I-DISC1.
> The board is labeled STM32F429I-DISC1.
There is a revision mark somewhere, too; a smaller one, e.g. my rather old specimen is MB1075B. Which one do you have?
The original touch controller (which was incidentally ST-produced) was discontinued long ago, and the newest revisions are said to come with a different controller. If this is the case with your piece, I'm not sure how the software exactly copes with this.
The more involved demos such as image browser and MP3 player expect you to have a USB memory stick with appropriate files connected to the microAB connector (through appropriate OTG cable). The readme to the original STEmWin demo says this, the TouchGFX ("Draupner", shows its age) one does not.
Here is a hex which on the older version helps you to see the raw precision of touchscreen (press USER button to switch between 3 modes of "smoothing" including none). I don't have the new one to adopt (and don't have the time for that either).
I will install TouchGFX and try some of the examples.
My board is labeled Rev MB1075E. The doodle file seems to confirm the touch screen is working. The line that is drawn is not a solid line. It is a broken line made up of dots and some solid segments.The User button seems to have no affect on the line being drawn. Even in HYST mode the line remains broken.
As I scroll across the screen, the X and Y numbers change as the stylus moves. However, the line being drawn does not follow the stylus. If I scroll from the upper right corner to the lower left corner the line is drawn for the upper left corner to the lower right corner. If I scroll from the center left to the center right, the line is drawn from the center right to the center left. Maybe the program was written to do this?
I installed TouchGFX but there is only one example (TouchGFX Demo 3) that is compatible with the STN32F429 Discovery board. I loaded that demo to the board but it doesn't appear to do anything. There are just a bunch of bubbles floating around the screen. Touching the screen and moving around doesn't do anything.
I would like to find a hex file somewhere that works with the STM32F429 Discovery board. The doodle program sort of confirms the touch screen work. But something with a button I can click and get a response would be better.
Since everything I find online and on ST's site seems to use the STM32F7xx chips does that mean ST discourages using the STM32F4x9 parts for display purposes? Are the STM32F4x9 not really capable of handling graphics?
>>Since everything I find online and on ST's site seems to use the STM32F7xx chips does that mean ST discourages using the STM32F4x9 parts for display purposes? Are the STM32F4x9 not really capable of handling graphics?
Means its a decade old part, and the party has moved on to newer more sparkly things.
The F429, F439, F469, and F479 continue to be capable of what they've always been, the later pair supporting DSI using a handful of pins, but generally don't having enough internal memory to truly carry the day.
The F429I-DISCO is a bit of an unloved step-child, not least because it's one of the least helpfully designed board out there, the LCD+SDRAM eat all the available pins to the point of precluding SDIO, CAN, ETHERNET being viable, and having perhaps 3x ADC pins usable. Perhaps also the last DISCO board designed without the Arduino shield connectivity. Several of the parts on it are obsolete or discontinued. Things like the touch sensor, and the screens on the F469I-DISCO
If you want to be where the current mind-share and focus is, then yes, probably want to look at the F7, or frankly the H7, perhaps the 280 MHz one with large internal SRAM and video, that as I recall Nintendo picked.
That said, while I can render sprites and raster displays like most 80's kids, most of my equipment work these days is designed to be head-less, and run 24-7-365 without human interaction.
The L4+, F7 and H7, also have the advantage of being able to connect to and run code out of cheap QuadSPI NOR Flash devices, with large capacities and low pin counts.
The Cortex-M7 have real caching architected in via ARM, are super-scalar, and depending on the build a full 64-bit double Floating Point Unit, capable of some real math work, not the weak DSP stuff the M4F offers. At 400-550 MHz might give the mid-2000's PC's a run for their money, without all the heat and size.
> My board is labeled Rev MB1075E. The doodle file seems to confirm the touch screen is working.
Yes, what you describe means that everything is working just fine. Would there be the newer touch controller chip there, it wouldn't work at all.
> The line that is drawn is not a solid line. It is a broken line made up of dots and some solid segments.
It is not supposed to be a line. It simply puts a black dot wherever it senses the touch. If you move the stylus very slowly, you may be able to draw a continuous line but whenever you move faster it will become dotted.
> The User button seems to have no affect on the line being drawn.
No, but it impacts the precision of the touch sensing. You can see the effect if you hold the stylus as firmly at one place as possible. For some reason on my board (and on board of my friend who took this picture, but he probably has a relatively old revision too) it tends to have bigger noise in one direction. AVER takes it out. HYST was probably a dead end. This was just a simple testing program.
> If I scroll from the upper right corner to the lower left corner the line is drawn for the upper left corner to the lower right corner.
OK so it's flipped horizontally compared to my board - either the digitizer or the LCD itself (if letters are readable, do you have the edge of PCB on the left as on that photo?). The LCD/digitizer combo's supplier has been changed between the B and F revisions. You can take that flip out by calibration - press the blue button for some 2 seconds and then touch center of the crosses.
> I installed TouchGFX but there is only one example (TouchGFX Demo 3) that is compatible with the STM32F429 Discovery board. I loaded that demo to the board but it doesn't appear to do anything.
I don't know about TouchGFX, sorry. If you want to use it, it's your journey. The TouchGFX support here is pretty responsive, you just have to start a new thread in that "subcategory" (I can try to add a "Topic" but I'm not sure how much visibility it gets).
> Since everything I find online and on ST's site seems to use the STM32F7xx chips does that mean ST discourages using the STM32F4x9 parts for display purposes?
> Are the STM32F4x9 not really capable of handling graphics?
ST is surely happy to sell you the more expensive chip, but I don't think they'd actively discourage anybody from using anything. The 'F4 has its limitations, QVGA (320x240) as is on the 'F429 Disco is probably as much as it can handle without running to limitations too soon. And I don't think there's much demand for 2.4" QVGA displays with resistive touch these days.
PS. Please add links to the other forum when you cross-post. Others may want to know what's been already discussed, too.