arduino

JWHassler

Joined Sep 25, 2013
306
The Arduino platform is not necessarily for programmers/EEs.
It's for someone who wants to ignore the smallest details of how a controller works, like most of us ignore the smallest details of how an automobile works.

Arduino also does a service in dismissing a few nerd-shibboleths like 'compiling the compiler', make-files, 'establishing communication with the programmer' and similar nightmarish crap.
If it makes Atmel a billion, so be it: the Arduino environment now supports ARM, too.
 

MCU88

Joined Mar 12, 2015
358
It sounds like you yourself may be a victim of those same misconceptions I was referring to.
To be quite honest with you I just use the compiler as an tool to get the bloody job done. I have memorized most of the syntax; I write code and burn it to the chip and it just works.

Yes it is not quite ANSI C as you say, but my point was that it is an industry standard language for the given platform.
 

MCU88

Joined Mar 12, 2015
358
Arduino also does a service in dismissing a few nerd-shibboleths like 'compiling the compiler', make-files, 'establishing communication with the programmer' and similar nightmarish crap.
Sounds perfect for the lay / kinetic person. Not everyone is an genius. The greater the genius the greater the holes in his socks.
 

mcgyvr

Joined Oct 15, 2009
5,394
Never known a "crutch" to open up thousands of possibilities that weren't there before and allow millions to get into something they couldn't before..
Virtually every DIY'er has one or has worked with one..
If we all had to "roll our own" and know how a compiler worked/assembly language/machine code,etc..... The world would be vastly different..

GREAT if you know how it works..
But 99% of us could care less..
Its the outcome that matters.. Not the direction we take to get there..
 

MrChips

Joined Oct 2, 2009
30,806
I may summarize as follows:

There are two types of characteristic traits, scientists and engineers.

The scientist wants to learn why and how something behaves the way it does.
The engineer wants to know what it can do and how to get there.

Which type are you?
 

tshuck

Joined Oct 18, 2012
3,534
Never known a "crutch" to open up thousands of possibilities that weren't there before and allow millions to get into something they couldn't before..
Virtually every DIY'er has one or has worked with one..
If we all had to "roll our own" and know how a compiler worked/assembly language/machine code,etc..... The world would be vastly different..

GREAT if you know how it works..
But 99% of us could care less..
Its the outcome that matters.. Not the direction we take to get there..
True to your username. ;)

This approach is fine in many cases, however, if a student was able to get by without ever learning how they work, they will be at a severe disadvantage in their ability to use a microcontroller effectively.

Never known a "crutch" to open up thousands of possibilities that weren't there before and allow millions to get into something they couldn't before..
Sure, just ask any amputee before the widespread use of prosthetics. ;)
 

MCU88

Joined Mar 12, 2015
358
I may summarize as follows:

There are two types of characteristic traits, scientists and engineers.

The scientist wants to learn why and how something behaves the way it does.
The engineer wants to know what it can do and how to get there.

Which type are you?
Rhetorical question there Mr.Chips, and I'll leave it up to others to brand me. All , some or none - but it is probably somewhere in between with me.
 

Thread Starter

kamarul amin

Joined Dec 2, 2014
62
I agree with these comments; while an Arduino can serve as an inexpensive, entry-level starting point for raw beginners, the goal for any engineering student should be to move beyond it as soon as possible and start designing, building and debugging your own hardware.
studying electrical and electronic engineering need a strong basic on calculus escpecially in circuit theory. hm :(
 

Thread Starter

kamarul amin

Joined Dec 2, 2014
62
True to your username. ;)

This approach is fine in many cases, however, if a student was able to get by without ever learning how they work, they will be at a severe disadvantage in their ability to use a microcontroller effectively.

Sure, just ask any amputee before the widespread use of prosthetics. ;)

hi :) this time is arduino. hehe
 

djsfantasi

Joined Apr 11, 2010
9,163
One fixes computers/networking issues (IT monkey).. one can build one from the ground up (real Engineer).. (or should be able to)...
An "IT monkey" is one who has an IT Technicial certificate from one of the education mills. An IT Engineering degree concentrates on the structure and algorithms of an IT system. It includes electrical engineering, software engineering, computer psychology, conputer structure and business classes. E.g, it is more software oriented, while a Computer Engineering degree is more hardware oriented. At least, IMHO.

If you don't believe that software is engineering, I ask you to take a look at this code:
http://www.instructables.com/id/Animatron-83-An-Animatronic-Controller/
 

sirch2

Joined Jan 21, 2013
1,037
For me it is about getting the job done. I do this as a hobby and don't have much time, I could (and have in the past) developed projects using for example PIC assembly but Arduino has tons of support and libraries for pretty much everything you want to do so it is much quicker to implement a project because probably more than half the code is already written.

Time is money and a guy I used to work for used to say "And engineer can do for 50p what anyone else can do for £1".

And and little tale: a scientist and an Engineer were given a joint of beef to cook, the scientist started cutting up his joint and cooking different parts for different lengths of time. The Engineer? He phoned his mother...
 

Col

Joined Apr 19, 2012
44
Can I jump in here... I am an electronic engineer, well technically a Research Scientist, with a focus on hardware and sensor interface systems, also radio science in my part time phd work. I have done projects in both assembly and C with 8052, ADuC SAM7, PIC16, PIC32, STM32, AVR. We never re-invent the wheel right... So usually I inherit over some code written for the processor by an engineer, of course long gone from the project. It's usually clear that he too inherited it, and mish-mashed in some extra libraries or 3rd party code. I cant tell you how many hours I have spent banging my head off the keyboard trying to understand this mish mashed code and the idiosyncrasies the new core I'm stuck with....I have seen the inside of the beast and I know enough to respect programming gurus and to know its not for me!

I have no experience with Arduino until I this summer I had a intern who used it. I compare his 200 lines of code with my 30,000 and have to say I am won. In research projects 2 euro for ATMEGA vs 50c for STM makes no difference, but 20 vs 500 hours spent trying to get it to work makes all the difference.

Programming micros is not my 'core business', and I have no intention of ever becoming an embedded programming guru....Is Arduino not the perfect solution here?
 
Last edited:

MikeML

Joined Oct 2, 2009
5,444
I may summarize as follows:

There are two types of characteristic traits, scientists and engineers.

The scientist wants to learn why and how something behaves the way it does.
The engineer wants to know what it can do and how to get there.

Which type are you?
Scientist who went bad and became an Engineer 'cause I like to get Shat done... I like to pass GO and collect $200, too...
 

tshuck

Joined Oct 18, 2012
3,534
If I may quote Mr. gates for a moment:
Bill Gates said:
"Measuring software productivity by lines of code is like measuring progress on an airplane by how much it weighs."
The Arduino abstracts away much of what you need to know to use a microcontroller - that, in and of itself, is not necessarily a bad thing. It becomes problematic when the user does not realize the limitations of this.

The Arduino sketch ends up as machine code either way, but how it gets there may be many steps and a single line of an Arduino sketch might correspond to dozens of machine instructions.

Your up front commitment is smaller at the cost of understanding what the result is. Sometimes that matters, sometimes it doesn't - it's important to know which is which.
 

DerStrom8

Joined Feb 20, 2011
2,390
I for one despise the Arduino, or at least the existing Arduino IDE/programming language. It is NOT C. It is a horribly butchered version that I am not even comfortable calling C.

The IDE is over-simplified and lacks the basic functionality of a real IDE. You may think this is good for a beginner, but it is quite the opposite. If you plan to learn how to use other microcontrollers in the future, DO NOT use the Arduino IDE! It is set up in a much different way than other IDEs and will make it more difficult to learn them when you're ready to migrate. Also, it is very slow, bulky, and inefficient. It is horribly laid out and is really only ok for very simple hobby projects. Nothing more.
 

mcgyvr

Joined Oct 15, 2009
5,394
I for one despise the Arduino, or at least the existing Arduino IDE/programming language. It is NOT C. It is a horribly butchered version that I am not even comfortable calling C.

The IDE is over-simplified and lacks the basic functionality of a real IDE. You may think this is good for a beginner, but it is quite the opposite. If you plan to learn how to use other microcontrollers in the future, DO NOT use the Arduino IDE! It is set up in a much different way than other IDEs and will make it more difficult to learn them when you're ready to migrate. Also, it is very slow, bulky, and inefficient. It is horribly laid out and is really only ok for very simple hobby projects. Nothing more.
As beginners.. We will really only notice the issues once we have progressed past Arduino and by that point I think we have enough groundwork under our feet that it should be fairly simply to adapt to the more complicated.

I'm currently writing a complex program for an automated test system as we speak.. 3 arduinos (master and 2 slaves), barcode scanner, ethernet, 8 color sensors, direct mySQL communication, power supply/hipot control, etc... EVERY single pin is being used on all 3 boards and it works great for me but again I wouldn't even know what I'm missing I guess..
I also find the Arduino language to be excellent/easy/very clear and super easy to pick up.. But again I don't know any better as a beginner.

The whole point of an Arduino IMO is to make it simple/easy.
Expansive IDE functions/buttons,etc... do not make it easy.

IMO a slow/simple (over-simplified) introduction is far better than being thrown into something so complicated that you get overwhelmed and burn out quickly..

Personally I've attempted PIC/MPLAB IDE in the past.. I wasn't able to pick it up/comprehend it nearly as well/fast as I did Arduino.
With Arduino I was up and running in minutes.. I spent hours just trying to get started with MPLAB and then gave up.
 

DerStrom8

Joined Feb 20, 2011
2,390
As beginners.. We will really only notice the issues once we have progressed past Arduino and by that point I think we have enough groundwork under our feet that it should be fairly simply to adapt to the more complicated.
That's exactly my point--Arduino pulls you in a direction completely opposite from real IDEs, so it actually makes it harder to learn the more complicated software than if you just started with that software to begin with. I have seen this happen many times, when I was working as a lab tech at a university in Boston. One professor had his students use an Arduino for the class, designing circuits that use certain sensors to do different things. Many of the students started there. Then during the next semester they were asked to use the TI Launchpad, with the MSP430. The students who took the class with the Arduinos struggled significantly just to get an LED to blink on the MSP430, whereas the students who didn't take the class with Arduino picked it up rather quickly.

Arduino is very misleading, and tends to make it even more difficult for beginners to learn how to use real uCs with real IDEs. Instead of working with the learning process, it actually works against it. That is exactly why I don't recommend anyone learn on an Arduino. It makes things far more difficult in the long run.
 

ian field

Joined Oct 27, 2012
6,536
can someone tell me what is arduino all about? is it just a hardware that suitable for beginner like me?? i did search the arduino in the internet but i actually not really understand about it. my lecturer told me that the arduino is a must have for every electrical and electronic engineering student. but i don't really know about this thing. can anybody xplain it to me?
Arduino is mainly oriented in the direction of process control - ideal for hobby robotics. You can get any number of shields that attach to the connector rows for expanding I/O etc.

It contrasts somewhat with the Raspberry Pi, which was developed mainly for introducing school students to computers/programming in a more general sense - The Pi is more media orientated, developing websites and browsers is a popular application.
 
Top