STM32CubeProg vs "native" Arduino

Hi all,

I’m evaluating Daisy for a college-level course on electronic music. The existing course has a strong Arduino component, so I’m only allowed to look at Arduino-compatible processors. So far, the Daisy seems a near-perfect fit, except that some of our beta students had trouble getting STM32CubeProg to download and run successfully. In a (possibly remote) class of 100 students, we need pretty much all of them to be able to get the tools working on their own.

Which brings me to Arduino’s Portenta. Not a contender for this class because of the price difference, BUT its downloader is built into Arduino, and so far, nobody I know has had trouble with it. Which makes me wonder. The Daisy’s STM32H750IBK6 and the Portenta’s STM32H747XIH6 are very similar. Since I’m allowed to mess with each Daisy before the student sees it, would it be possible for me to Frankenstein the Daisy – replace its boot code with Portenta’s? I doubt it’s trivial, what with the Portenta dealing with the M4, but before I blow too much time going down this path, I’d like some opinions about whether this has any chance of working.

1 Like

Absolutely not similar. You’re comparing an ARM M7 MCU to another one that has M4 + M7 cores, different MCU frequency, different amount flash and RAM. The bootloader sources have not been released, they’re only publishing prebuilt bin/elf files. And then there’s wifi chip that seems to be used by said bootloader. So I don’t see how it can work on Daisy even theoretically.

Agreed that relying on STM32CubeProg might not have been the wisest move (nothing that requires Chrome is !) but it isn’t that hard to get going. Apart from that Arduino on Daisy is quite straightforward and much easier than trying to clone Daisy into something it isn’t.

Thx all. I was mostly looking for short paths, and it sounds like spoofing a Portenta isn’t one of them. My job is to teach students how to teach computers how to sing. About half of those students are neither engineers nor musicians, and are looking for any excuse to decide that microcontrollers aren’t their cup of tea. Being unable to even get to a blinky light is usually enough to finish them off. And as an added bonus, some of them may well be 12 time zones away from me. So the plan will be to document STM32CubeProg’s diverse failure modes and be ready.

1 Like

From my experience in getting a tool chain going (and being a university lecturer in a different discipline) Daisy will be tough for this cohort!

Adrian, I agree. The course I work on is particularly nasty because it contains a mix of techies, musicians, sociology majors, what-have-you. The goal of the Arduino component of the class is literally to get them to blink a light. Primum lucernam micare. Once they’ve done that, they can move on to another topic if they want, but for maybe 10% of them, programming an Arduino is an empowering moment the likes of which they’ve never had. True, they don’t go on to code up a vocoder, but they do code MIDI sequencers and simple tone generators. And with Daisy, they could code a vocoder without being limited by the hardware.

But all of this requires a development environment with zero hiccups, which is, to me, the brilliance of the Arduino environment. Say what you will about it, and as a DSP coder, I used to sneer too, but watching these kids go from zero to blinking a light in one session is all the proof I need.

@Crufty, returning back to topic of Stm32CubeProg not working for some. Stm32duino uses only the CLI binaries that STM provides. They probably would work for everyone. Running the GUI that is also part of that download can be problematic (I think that would be some kind of Java-based monstrosity as usual for ST?), but it’s not used for flashing FW.

Getting an inanimate object to make something you can hear or see can be much more than empowering. It can be a life changing experience. It motivated me to a lifetime of learning and in return I was rewarded with a great career.

I agree that the Arduino environment is best suited for first time learners. I imagined myself as one of your students and if I had to deal with anything more than connecting a usb cable and selecting a board and blink program then click a button and have it run without errors or warnings… Well, I would probably not be very enthused with the experience.

It might be worthwhile to supply a cheap board (they all have Built-In leds) that uses the same usb cable as the Daisy just to deliver nearly instant satisfaction and that upfront feeling of empowerment to motivate your students to move forward with larger tasks.

I just thought that I would pass along my two cents worth on the subject in case you might be looking for a way to ease your students into a rather complex subject with hardware that is still a bit on the bleeding edge of technology.

For an introduction to programming, I think an online web-based simulator makes more sense, or maybe a BBC micro:bit.

In my day, beginners were taught BASIC, using punch cards or paper tape.