Go Down

Topic: Future of Arduino (better IDE, debugger) (Read 2052 times) previous topic - next topic

tprochazka

I think that Arduino stucked on the same place from the programmer perspective.
I don't understand why the only official way is stupid Arduino IDE.
There are so many much better platforms like IntelliJ IDEA, Netbeans or Eclipse.
All of them are much better options than current way.
Also possibility of full debugger are missing a lot.

Arduino brings the real boom to the world of micro computers, because they brings simple and easy to understand world, but comfortable IDE and debugging is still big issue.

I know exist great Visual Micro plugin which allow you to use Vistul Studio (Atmel studio) for the Arduino development, which allows a little bit tools for debugging, but still not real debugging like JTAG.

Only one cheep options that I currently know is
Atmel Xplained development board
http://www.atmel.com/tools/ATSAMD10-XMINI.aspx?tab=overview

Robin2

I don't understand why the only official way is stupid Arduino IDE.
There are so many much better platforms like IntelliJ IDEA, Netbeans or Eclipse.
All of them are much better options than current way.
Also possibility of full debugger are missing a lot.

Arduino brings the real boom to the world of micro computers, because they brings simple and easy to understand world, but comfortable IDE and debugging is still big issue.
I disagree.

If you are sufficiently competent to be able to use a debugger just use one of the products you mentioned.

Beginners find it hard enough to figure out the limited features of the IDE without adding more complexity.

Personally I use Geany as my editor (I gave up on NetBeans and Eclipse years ago) and just use the IDE to upload programs

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

nickgammon

#2
Nov 08, 2015, 11:07 am Last Edit: Nov 08, 2015, 11:08 am by Nick Gammon
Quote
Also possibility of full debugger are missing a lot.
I'm sorry to have to break this to you, but this is Complete Nonsense.

A microcontroller is not like a program running under Windows where you can set breakpoints and trace through your app to find some obscure problem.

Most of the issues on Arduino (and similar) are related to timing, voltage levels, noise on inputs, and so on and so forth, which a debugger cannot replicate.
Please post technical questions on the forum, not by personal message. Thanks!

More info: http://www.gammon.com.au/electronics

BenKissBox

@tprochazka
I don't understand why the only official way is stupid Arduino IDE.
I would like you to explain what is a "stupid" IDE...
My first reaction would be to say "if you find it stupid, then why don't you make a better one yourself ?"

I remind you that it's perfectly possible to program Arduino using Eclipse...

Now, I would recommend you to remember the reason Arduino was created first... and why it is now successful.

I am a professional programmer (read : that's my engineer job), I started to work on embedded computers in 1991 (and still working on them), and I can tell you that if I have had something like the Arduino at this time, I would have been the happiest guy on earth.

I learned programming at university and during my engineer cursus, I know how hard it is to learn to code properly, and I don't even want to imagine the learning curve for people who did not study this and want to discover the embedded computing world.

Sorry to say that, but if you think that Arduino IDE is "stupid", it's probably because you did not understand how to use it properly. There are thousands of hidden capabilities, and you can create serious projects with that.

Now, I have a suggestion for you : take the time to make a good tutorial to explain to beginners how to use Eclipse (of course, you have to make something cross platform... so forget "VS only" stuff). Then deal with all questions from beginners... and explain them that VS or Eclipse are much better than the "stupid" Arduino

(Oh by the way, I know very well Eclipse, I use it *every day*, so I think I know pretty well how to compare Arduino IDE and Eclipse)

68tjs

#4
Nov 23, 2015, 09:45 pm Last Edit: Nov 23, 2015, 09:46 pm by 68tjs
New UNO with atmega328pb ?

I had a dream :
- Respect of Atmel AVR 042: AVR Hardware Design Considerations, ie inductor between Vcc and AVCC and not direct connexion.

- Best decoupling of Aref :
Aref track is too long, so it is noisy inside in the board.  Add a  decoupling capacitor as near as possible to ATmega328 case . Perhaps also an inductor in series on the track.

-Remove  the stub effect on A4 / A5 and SDA / SCL: (two lines in parallel)
The I / O corresponding to A4 (PC4) and A5(PC5) will be connected only to SDA / SCL.
The two new I / O pin will be connected to the old A4 and A5 board pins. --> pinout is preserved.
And please as there will be more space available add ground points near of analog I / O pins.
One gnd point per I/O will be the best to have good analog measurements.

The last point :
If the contracts you have with Atmel not prohibit it, you could cut costs by using a CH340G instead of atmega16U2.

CrossRoads

I agree Aref all the way across the board is not the best.
There are already plenty of clone/derivative boards out there with CH340, and also plenty that have signal/power/gnd at each header location.
A4/A5 ARE the I2C pins, they need to be connected together for those who want 6 analog inputs. On other chips they are separate pins and do not need to be connected together.
At mouser.com, ch430g is 1.95, atmega16U2 is $2.12.  Hardly a savings. And you lose the flexibility of having the 2nd processor.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

68tjs

#6
Nov 24, 2015, 11:17 pm Last Edit: Nov 24, 2015, 11:37 pm by 68tjs
I explain better my proposal :
Note that is not easy for me to do this in english,( do you speak French a little ?)

To prepare for the arrival of the Zero with ARM micro, two additional pins were added, nothing to say on the principle it was a good idea.
The previous connections PC0 to PC5 has  been all maintained on the A0-A5 board edge connector.
Doing this, whatever the pin pairs on which we connect, a stub exists and it is not good for analog measurements.

What I propose :
Old Digital/Analog pins belong to Port C
New two Additional Digital/Analog pins belong to Port E.
- On the board edge connector will be connected: PC0, PC1, PC2, PC3, and PE2 and PE3 in place of PC4 and PC5
- PC4 and PC5, which are the I2C pins, would only be connected to the SDA and SCL.
Thus on the board edge connector there is always 6 entries that are able to make analog measurements.

Advantage :
Note what is written in the 328PE datasheets about powering :
- PC0, PC1, PC2; PC3, PC4, PE2 and PE3 are powered by AVCC
- PC4 and PC5 are powered by digital VDC. It is due to the I2C function
The 6 inputs will be now all  powered by the AVCC. That is an advantage for analog measurement accuracy.

It should be easy in the board definition files to make it transparent to the end user.

Quote
At mouser.com, ch430g is 1.95, atmega16U2 is $2.12.
Before being retired I work in a large corporation and I could see that as soon as you announced an amount of about 10,000 pieces / year for a duration of 4 or 5 years the actual prices were well below the prices distributors.
 
For you Mouser is probably representative but I am convinced that for a Chinese subcontractor or even Adafruit they are excessive in relation to the prices actually charged.

Adrafuit buys perhaps its micro-controllers at Mouser, but Mouser applies rate negotiated directly between Atmel and Adafruit.

Go Up