Arduino IDE intimate they are opening up the Boards Manager

IOTrav
Mon Apr 27, 2015 6:36 pm
Hey Everyone. I am really happy to have a dedicated forum for this. I think the STM32 processors are a perfect fit for Arduino.

Apparently ST thought so also which must be why they made the STM32 Nucleo development boards. However interestingly enough they only did a hardware implementation of the Arduino footprint and just completely ignored the Arduino Wire language(makes perfect sense right) :lol:

Any who. A really nice step by step write up of the setup required to flash Arduino Wire applications to the ST Nucleo would be fantastic. I know there has been alot of work on the Maple Mini and knock offs but wouldn’t it be great to support the actual development board made by the company that makes the chips? I would be happy to do the write up but I cant seem to get anything working on my Nucleo boards. Not even control GPIOs. Just a small nudge in the right direction is all I really need. I get Jolly good in the Arduino IDE but this board is doing absolutely nothing. I know there is some weird stuff with the Serial port but that does not even bother me. If I can get my Wire code to turn an LED on Ill be happy. This is really just a continuation of the posts I made on the Arduino forum but thought it would be nice to have the write up here somewhere for people to follow. More of a thread just on the STM32 Nucleo and Arduino.


mrburnette
Mon Apr 27, 2015 7:33 pm
Some effort has already been done on the Nucleo;
http://forum.arduino.cc/index.php?topic=265904.1245
http://forum.arduino.cc/index.php?topic … msg2206190

Maybe madias will summarize the current state.

Ray


madias
Mon Apr 27, 2015 8:04 pm
Current state is here: http://forum.arduino.cc/index.php?topic=265904.new#new
So summarized: Use Serial2 instead of Serial for the moment.
Travis, we need more information, you PM me:
Tried moving your new nucleo_f103rb folder to my variants folder. Restarted Arduino IDE and tried to flash. I got an error compiling on the /wirish/boards.cpp in function void setup_nvic() says VECT_TAP_ADDR was not declared in this scope. Seems it cant find that variable.

This is pretty new to me, I even didn’t know this message. This appears to me, that there is something broken something badly.
We need much more information from you:
a) Which OS are you using?
b) Which Arduino IDE version?
c) Which version of STM32-arduino?
d) please choose another (STM32) board an compile any sketch (blink) Do you get the same message?

thank you
greets
Matthias


IOTrav
Mon Apr 27, 2015 8:20 pm
Hey @madias,

Fancy meeting you here at the new forum :)

I reverted back to the old variant files to get programming again. I do have an LED turning on and off whoo hoo.

a) I am running on MAC OSX 10.10.3
b) Arduino IDE: 1.6.3
c) Board is Nucleo STM32F103RB MB1136 C-01(modifications made as per your post).
d) As I said I reverted to old board variant files and am able to drive GPIOs. I will try your new variant file this afternoon to see if I can get it working.

On another note is I2C supported yet? I see references to SPI in the board.h but nothing on I2C. Does this have to be setup to work(pin muxing)?


madias
Mon Apr 27, 2015 8:27 pm
No, I2c isn’t working at the moment, don’t ask me why (even the stupid software mode wasn’t function…maybe I have some time the next weeks for it!)
Did you really installed my latest variant folder for the new repo and newest IDE? (with all the documents inside)
https://drive.google.com/file/d/0B3sgtw … sp=sharing
I’m on OSX 10.9.5 so this shouldn’t be a problem, we use the same IDE *.bin.

RogerClark
Mon Apr 27, 2015 8:56 pm
@all

Sorry I didn’t have time to upload Matthias’s Nucleo files to the repo last night.

I was building this forum ;-)

I was also investigating whether any small change code be made to the files to map “Serial” to hardware serial 2. But in the end there was not a quick solution.

So I will push the new files without changes to GitHub today.

Re:Wire

I wasn’t aware there was a problem with the Nucleo with the Wire library. It’s a software “bit banged” implementation, so should work on all boards.

However if someone can describe the problem perhaps we can come up with a solution


IOTrav
Mon Apr 27, 2015 8:58 pm
Hi @madias,

Yes. I downloaded your latest nucleo_f103rb variant file. Here are my detailed steps.

1. Closed Arduino 1.6.3 IDE.
2. Downloaded new folder from you google drive.
3. Opened Finder.
4. Open Applications(Where I have Arduino IDE).
5. Right click Arduino application.
6. Chose Show Package Contents.
7. Went into Contents/Java/hardware/Arduino_STM32-master/STM32F1/variants.
8. Deleted nucleo_f103rb.
9. Pasted your new nucleo_f103rb file in that same spot.
10. Opened Arduino and tried to flash my code.

The error I get when flashing is:
/Applications/Arduino.app/Contents/Java/hardware/Arduino_STM32-master/STM32F1/variants/nucleo_f103rb/wirish/boards.cpp: In function ‘void setup_nvic()’:
/Applications/Arduino.app/Contents/Java/hardware/Arduino_STM32-master/STM32F1/variants/nucleo_f103rb/wirish/boards.cpp:161:19: error: ‘VECT_TAB_ADDR’ was not declared in this scope
nvic_init((uint32)VECT_TAB_ADDR, 0);
^
Error compiling.

Not sure what thats all about. What did you change in your latest update? Was it just remapping of the Serial pins?


IOTrav
Mon Apr 27, 2015 9:03 pm
Hey @Roger,

Thank you so much for the new forum and for chiming in. I know I will get some use out of it and Im sure it will get some traction in the coming months. Arduino on the STM processors is already very popular, people just don’t know it. It is what the Spark Core module is based on. I have used it a lot but wanted to move on a little lower level so here I am.

I really need to access the I2C port but for some reason it just is not working yet. If there is nothing at the compiler level I need to worry about I will keep trying. @madias have you tried Wire for the I2C connections on the Nucleo personally? They are labeled right there on the board as SCL/D15 and SDA/D14 so I would think they would work.


RogerClark
Mon Apr 27, 2015 11:22 pm
I2C is working on most boards

I’ve personally used it on a generic STM32F103C8 board, and I know people have used it on Maple Mini boards which are STM32F103CB (note the B is better than the 8 (eight) as the B has 128k of Flash instead of 64k on the C8 (C eight)

Its bit banged, so it should be possible to run it on any pins.

I’m not sure if there are specific issues with Wire on the Nucleo

@madias is the only one on the forum with a F103 Nucleo board.


madias
Tue Apr 28, 2015 6:05 am
/Applications/Arduino.app/Contents/Java/hardware/Arduino_STM32-master/STM32F1/variants/
I would avoid this path at all costs!
With 1.5xx you have the possibility to use the User/sketch folder for extra hardware/libraries. So look at:
/youruser/Arduino/
You will find:
/hardware
/libraries
please read https://github.com/rogerclarkmelbourne/ … stallation again and move your STM32 folder into the user/ path!

about I2c: Maybe I have time this week so I try out my I2c OLED on the nucleo
BTW: Does the maple mini compile ok?


RogerClark
Wed Apr 29, 2015 7:08 am
Guys

According to the Arduino blog..

http://blog.arduino.cc/2015/04/28/openi … duino-ide/

They are going to allow cores to be contributed to the boards manager.

We want a more open Arduino development environment where the community contribution can be made available more easily to all the users alongside the officially supported code.

To do this we are adding new features in the next release of the Arduino IDE that will allow adding community contributed cores just by adding a line to the IDE configuration. This will allow these community contributions to be made available simply and quickly. In the future we’ll also make it possible for those contributions to be hosted on our servers for quicker deployment.

I’ve not actually seen anything on the IDE Developers mailing list about this, or any update to the issues I posted about it on GitHub, but this posting seems to imply that its definitely planned, and possibly will be released soon.

I’ve no idea what they mean by

just by adding a line to the IDE configuration

As ever, the IDE team still seem very secretive. They could easily contact me, as they know I have a core that will eventually have the option to be installed via the Board Manager.

So we will need to wait and see, how this new feature is integrated once they formally release the IDE that supports it.


madias
Wed Apr 29, 2015 7:27 am
don’t call mother russia, mother russia will call you! :)
but anyway: good news at all!

RogerClark
Wed Apr 29, 2015 7:57 am
Just got this from the Developers mailing list


Hi everyone

as you may read on the blog, we finally made up our minds about listing additional boards in Boards Manager

Here is a quick spec list of how it will work

1) following Brian Cook’s suggestion, files named package_SOMETHING_index.json will be paired with main package_index.json file. Their content will be merged and listed in Boards Manager.
BTW this will also ease testing a core in development: 1) place your (for example) package_STM32_index.json file, 2) open Boards Manager, 3) test it, 4) fix it, 5) release it on the web

2) Additional URLs will be specified adding a key in user’s preferences.txt file. When Boards Manager is opened, each url is downloaded.
We are postponing making a GUI for now, in order to save time and ship the feature sooner. A GUI will come in the next next release.

2) While I think we all agree Todd Trecce’s hack is simple and clever, with this feature in place we can do what we already do with the Yun:
GPG sign package_index.json and verify the signature as soon as the main package_index.json file is downloaded.
This will break Todd’s hack but again, you’ll just have to add a URL to a text file and you’ll get the very same result.

As soon as I have code to share, I’ll make a pull request for everyone to see and test

Comments are appreciated

Regards

Federico


mrbwa1
Wed Apr 29, 2015 3:42 pm
I say something similar on the Arduino twitter feed this morning. I really think Adafruit has been pushing them hard and/or the Adafruit tutorials about using proxies really got to the team.

That said, I think that the esp8266 implementation and this STM32 implementation has probably caught the eye of the developers. The fact that stm32duino went to it’s own board definitely did not go unnoticed as that thread in the arduino.cc forums was one of the most active.

This is a very positive development from the Arduino.cc team and is a bit of a shift in strategy. Then again, with pre-established manufacturing of the STM32F103 and ESP8266 boards and highly active development communities, it would make for and interesting outcome if the Arduino.cc guys developed some official boards off these user projects.

Almost forgot about the Adafruit Gemma as well. Another board (ATTiny85) sold by Adafruit. It seems to be a licensed Arduino.cc board: https://blog.adafruit.com/2015/04/18/th … uit-video/ yet the price is pretty reasonable.

It would be good to get people on these supercheap platforms into the development community and perhaps able to support Arduino.cc though donations or even cheap official Arduino.cc boards like an STM32F103 series.

BTW, roger, maybe you should trademark stm32duino just in case. 8-)


RogerClark
Wed Apr 29, 2015 9:58 pm
I will see if I can contact Federico directly for more information

I agree, I think they have realised that the future of the Arduino IDE is not exclusively linked to the Arduino Trademarked boards.

Especially with the ongoing legal battles which are basically the IDE people vs the board manufacturer

I did briefly look at what would need to be changed to support the Boards Manager, in order for the download packages that the Boards Manager needs, to be downloaded directly from GitHub, but then as there was no official way to add 3rd party boards, I put that work on hold.

BTW. I don’t know if you noticed, but STM32 was the core that Federico mentioned in his post to the Developers group, which is very encouraging for us !


mrbwa1
Thu Apr 30, 2015 3:08 am
I didn’t notice the specific mention of STM32, but it makes sense. It appears the Zero has essentially been taken by the SRI team, leaving Arduino.cc without a follow up.

Frankly, a smaller, Cortex M3 board is more appealing than the zero and with Maple going away, there is a ready supply for a board and this community has worked out most of the software side.

I can see Adafruit especially being interested in a 128k Maple Mini setup, especially with onboard DACs for the artist community to have a portable solution with good horsepower.

As an aside, have you seen the Adafruit ESP8266 HUZZAH board?
http://www.adafruit.com/product/2471

It’s ready for Arduino IDE programming and has some nice features for potential battery power.


RogerClark
Thu Apr 30, 2015 3:44 am
@mrbwa1

There is definatly mention of STM32 on the Developers mailing list

1) following Brian Cook’s suggestion, files named package_SOMETHING_index.json will be paired with main package_index.json file. Their content will be merged and listed in Boards Manager.
BTW this will also ease testing a core in development: 1) place your (for example) package_STM32_index.json file, 2) open Boards Manager, 3) test it, 4) fix it, 5) release it on the web

I will email Federico when I get chance

Re: Zero

Its hard to know whats going on with Zero. I know Arduino SRC of whatever they are called, has launched the “Zero Pro” , and their clone of the IDE has a board setting for that board. But thats probably not that hard for them to do if its a similar architecture to the Due e.g SAM
and made claims of in-circuit debugging,

But if Arduino.cc are not going to be producing that board, then the Maple is a good option instead.
I have an iTeadMaple and its a lovely board, albeit they put the F103RBT chip on it , not the RET

But it would be quite easy for them to swap it over to the RET as its the same forum factor etc.

I’d not seen that Adafruit esp8266 board.

Definitely very good value for money if you are in the U.S. Shipping costs to the rest of the world often make stuff from Adafruit and Sparkfun uneconomic for me personally.
I have something similar that breaks is a self contained pcb version a bit like a Maple mini but not quite as long, but it doesnt use the FCC approved module, its just the ESP8266 chip.

Re: FCC compliance, If I was using that Adafruit part commercially, I think that technically, the whole board has to be FCC approved, even though the module on it is FCC approved, and if you plug the adafruit module into another board (which you almost certainly would) that board would need to be FCC tested as well, as I’m pretty sure that FCC approval needs to be for a whole product.

But having the core part of the device FCC approved, means that normally FCC approval is just an expensive formality ;-)


mrbwa1
Thu Apr 30, 2015 2:03 pm
The good thing about dev boards is that someone in China will start cloning the Adafruit board. there are already quite a few “LUA Development” boards with ESP8266s on them.

Following to see what the devs come back to you with. It looks like someone has been either playing around with your request or the actual STM32 code. I do hope the Arduino.CC team designs a Maple-ish type board (and naturally, they would likely get input from the community here to do so).

It would be an interesting story to see the SRI folks stuck with the old standard form factor UNO and the CC guys move on to the stuff people are using (ATTiny85, ESP8266, STM32) anlong with some of the smaller boards that folks like Sparkfun have come up with (Pro Micro is the latest to catch my attention with the 32u4 instead of a 328p).


RogerClark
Thu Apr 30, 2015 9:37 pm
Esp8266 on Arduino will really fly, there is loads of interest

I have some Pro Micros, but they had issues with USB enumeration over and over and the virtual com post changing on every upload. They may have fixed this in more recent bootloaders, but the ones I have are a pain..

I tended just to use the pro mini and USB to serial.

However the other benefit of the Pro Micro is it has an additional timer, and also hardware serial at the same time as USB serial.

I think what would also be a game changer is in circuit debugging via stlink.
I know some people have GDB running in a basic text mode, but if there was support for break points and variable inspection in the IDE it would be mind blowing ;-)


Rick Kimball
Thu Apr 30, 2015 10:21 pm
RogerClark wrote:I think what would also be a game changer is in circuit debugging via stlink.
I know some people have GDB running in a basic text mode, but if there was support for break points and variable inspection in the IDE it would be mind blowing ;-)

RogerClark
Thu Apr 30, 2015 10:31 pm
Rick,

Thanks.

That looks ultra cool !

I did take a quick look for GUI’s for GDB but didnt notice that one, perhaps because I ignored it as I thought it was a just a complete copy of Eclipse rather than a standalone debugger GUI for GDB

I know @ahull is interested in this, and already has GDB CLI working, so I’ll PM him now.

I’m not sure I’ll get time to look at this until the weekend, as my day job is busy at the moment, and also there are other things that I need to sort out in the repo and the forum and the Bootloader 2.0 (no rest for the wicked , as they say)


RogerClark
Thu Apr 30, 2015 11:38 pm
Guys,

The IDE team have a beta version (well pull request version) that has the new feature

http://downloads.arduino.cc/javaide/pul … x32.tar.xz
http://downloads.arduino.cc/javaide/pul … x64.tar.xz
http://downloads.arduino.cc/javaide/pul … indows.zip
http://downloads.arduino.cc/javaide/pul … macosx.zip

I’ll grab the windows version and take a look.

Docs however seem to a bit thin on the ground however about how precisely this works.


zoomx
Thu May 07, 2015 1:17 pm
New page on Arduino Github

Have you added support for a non Arduino board to the Arduino IDE? Please let everyone know by publishing your package_YOUR-NAME_PACKAGE-NAME_index.json url.

https://github.com/arduino/Arduino/wiki … pport-urls


RogerClark
Thu May 07, 2015 9:24 pm
Yes. I’d seen that.

I will need to build a package file and the zip file of the repo ( repackaged), but its going to take a few hours to test, so it will need to wait until the weekend


Leave a Reply

Your email address will not be published. Required fields are marked *