0.1.0 Portenta "Wonders" IDE Released

To All:

New version of IDE posted:

Releases · arduino/arduino-pro-ide · GitHub :

Version 0.1.0 Portenta IDE Posted For Download

Watch out for WS.Reputation.1 issues when installing since this is so new - I got several of those.

Best Regards,
John W.

The first big glitch on the Mac version of the 0.1.0 Pro IDE to be aware of is that if under Preferences you have the Confirm Exit option as 'always' the IDE won't close; you have to force quit 'Arduino Pro IDE' on the Activity Monitor (the Mac equivalent to Task Manager).

This on its own is still insufficient, because if you reopen the Pro IDE, you cannot select a board or port at all and the software says that it is offline in the yellow bar at the bottom of the program.

A way around this for now is to make sure to force quit the Arduino Pro IDE as well as ALL instances of 'Arduino Pro IDE helper'; for some reason I have several of these open at any given time and they do not all close when the IDE is forced to close.

The second glitch is that if I have a sketch open and I want to save a copy of it under a different name, a pop up box asks me 'would you like to quit?' and of course the program does not quit, but freezes.

All the best,
Ryan

Hello Ryan,

Those are good comments regarding the Mac - do you mind posting over here:

That way it'll for sure get into the queue - this forum isn't monitored by the folks doing the development that much - so, please post over on github - that will be appreciated.

There's also nightly builds available now for the Pro IDE - look here in about the middle of the page:

Pro IDE Nightly Builds Are Available Now

Regards.
John W.

@thejerseychemist's bug report in the arduino/arduino-pro-ide issue tracker:

Thanks!

I got the Portenta H7 and the new 0.1.0 IDE release on macOS.

I didn't download anything specifically for the new edition of the CLI tools yet, I wasn't clear on whether those are included in the IDE package, it seemed like a sane assumption that they are.

Good news: I can build and flash "blinky" demo on the H7.

Issues:

When I first attached the device, my external hub was powered off. I mistakenly believed the device was at /dev/cu.serial1. It did not light up at all which should have been a good clue. At one point I tried to flash it from the IDE, having selected the wrong port, and of course that did not work.

Once I resolved the hub power, the board started blinking, and I could see that it was actually at /dev/cu.usbmodem149441. Cool, I am now able to flash the device and the demo runs.

However, now I have two entries in the menu, and it keeps aggressively re-selecting the old, wrong, port.

Imgur

So I think there are two things here:

a) I don't know how to clear that menu and get rid of the bogus port (which was my fault).
b) I don't know why, once I have selected the correct port, it keeps switching back to the wrong one.

This program should have short blips of "on" and long pauses of "off", but what is observed if the other way around. Is the LED pin actually an active-low (open drain) type pin and the comments are wrong ?

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(50);

digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000);
}

aha: confirmed by the next step in the tutorial series:
"Please note that, opposed to other Arduino boards, on the Portenta H7 the built-in RGB led pins need to be pulled to ground to make the LED light up. This means that a voltage level of LOW will turn the LED on, a voltage level of HIGH will turn it off."

In working through the simple dual-core LED blink example, should I expect to be able to have two sketches open at once, one targeting the M7 and the other one targeting the M4?

I am able to build these and get them both onto the board and run, but it seems in this arrangement, the IDE windows commonly wind up reporting “not connected” in the lower right status bar.

I’m completely new to this IDE so I am curious if I should have the expectation that the connection status should be live whether the target sketch is running or not…

I also noticed that the second session I opened for the M4 sketch, I had to tell it over and over which board and port to target. I got the impression that having both sketches open might be causing a fight for the link.

https://www.arduino.cc/pro/tutorials/portenta-h7/por-ard-dcp

rbarris:
I didn't download anything specifically for the new edition of the CLI tools yet, I wasn't clear on whether those are included in the IDE package, it seemed like a sane assumption that they are.

What do you mean by "CLI tools"?

rbarris:
Good news: I can build and flash "blinky" demo on the H7.

It all begins with a blink!

rbarris:
the IDE windows commonly wind up reporting "not connected" in the lower right status bar.

This is an unfortunate bug caused by the Pro IDE's automatic board detection mechanism not correctly handling the unique situation the dual core nature Portenta presents, where it's essentially two Arduino boards combined into one. You may have noticed that the Portenta is always detected as "Portenta H7 (M7 Core)" in the Pro IDE's board menu until you go into the "Select Other Board and Port" submenu and manually select the "Portenta H7 (M4 Core)" and the port. So that's the cause of the problem. During the upload, the port disappears and then appears again, and the Pro IDE's board detection mechanism gets confused because it has a "Portenta H7 (M4 Core)" board selected, but the port it sees appear is identified as the "Portenta H7 (M7 Core)", so it doesn't know that it should select that port again.

The Arduino Pro IDE is still in an alpha development phase and there is continuous work ongoing to improve it. For now, if this is a significant inconvenience to you, you can use the classic Arduino IDE. It doesn't have the advanced automatic board detection feature, so it isn't prone to this sort of problem. You can also use the Arduino Web Editor or Arduino CLI.

pert:
What do you mean by "CLI tools"?
It all begins with a blink!
This is an unfortunate bug caused by the Pro IDE's automatic board detection mechanism not correctly handling the unique situation the dual core nature Portenta presents, where it's essentially two Arduino boards combined into one. You may have noticed that the Portenta is always detected as "Portenta H7 (M7 Core)" in the Pro IDE's board menu until you go into the "Select Other Board and Port" submenu and manually select the "Portenta H7 (M4 Core)" and the port. So that's the cause of the problem. During the upload, the port disappears and then appears again, and the Pro IDE's board detection mechanism gets confused because it has a "Portenta H7 (M4 Core)" board selected, but the port it sees appear is identified as the "Portenta H7 (M7 Core)", so it doesn't know that it should select that port again.

The Arduino Pro IDE is still in an alpha development phase and there is continuous work ongoing to improve it. For now, if this is a significant inconvenience to you, you can use the classic Arduino IDE. It doesn't have the advanced automatic board detection feature, so it isn't prone to this sort of problem. You can also use the Arduino Web Editor or Arduino CLI.

It's a non-crisis now that I understand it ;). I will probably just camp out on the M7 for the time being. I appreciate the detail.

Question:

The Portenta product description lays out a few different ways to code for it: Arduino, and mbed native applications are two of the paths described

How do you make an mbed native app?

Is there support for Portenta on the way in mbed Studio or mbed CLI ?

Related question, can you use STM32CubeIDE and an STlink3 to program the Portenta ?

What do developers on the Portenta software support project use to bring it up ?

I don’t have any experience with the Mbed tools. I can tell you that Mbed OS, with the Arduino Portenta and Nano 33 BLE targets added is part of the Portenta’s core library:

There is some information about this in the platform’s readme, including instructions for use of the “mbed-os-to-arduino” script here:

Hopefully someone else with more knowledge on this subject will reply with a proper answer for you.

rbarris:
Related question, can you use STM32CubeIDE and an STlink3 to program the Portenta ?

Information on connectnig to the Portenta’s SWD interface here:

Hello rbarris, (in addition to what pert said)

You can look in a few places for some starting points of sorts - of course, you can go through the schematic and then build a project with STM32CubeMX and you should be able to build something that boots.

For some hints:

Look in the mbed-os repo here: (assuming you’ve downloaded the repository)
…\mbed\targets\TARGET_STM\TARGET_STM32H7

Look here also:

This file is probably good to look at:

Join the discussion here:

as others have also been asking several questions as well. Please note that ‘soon’ is used rather loosely.

I’m looking now at how to make the MKR-RGB board work as those pins didn’t exactly translate for the H7 (?) but the good news is that M3 and R2 on the H7 are GPIO’s - and a bit-bang solution is doable. (Edit - R2 is analog input ONLY - oops. M3 and M4 are possibilities.)

The other thing is that build instructions should be made available for libmbed.a :

So that’s it’s easy to roll our own ‘variants’ into the Arduino build chain making it easy for everyone to make their own ‘tweaks’ - like making the MKR-RGB board work.

Just my 2 cents - but get on github please.

Regards,
John W.

Thanks for the follow-up! Will have a look.

I've been bringing up proof-of-concepts on an ST Nucleo-H745 board using STM32CubeIDE in the meantime. That has been going a lot quicker than I expected, so I may stay in that groove for a while and then see how hard it is to bring over to Portenta later.

rbarris,

Sure - NP.

I’m looking at this now - I may post a ‘blinky’ project using the CubeMX since that’s usually pretty fast and easy.

What ever makes progress - that’s what you should stick with.

ST says the latest lower-level FW rev. is 1.80 now - FWIW.

Take a look at mbed-studio as well. I’ve been able to patch libmbed.a doing builds with that -
(mostly just to test some of the networking stuff…).

And - take a look here too of course:

Regards,
John W.