Why I don't like Arduino ! - Page 1
Forum section: electronics / general

author: ggchab
author_rank: Frequent Contributor
timestamp: March 17, 2018, 10:04:22 am
content: First, I was impressed by the availability of cheap modules that can do almost everything.As a first Arduino experience and for a quick and dirty project, I believed I would just have to select the right pins for my modules, install the libraries and inform them how the devices are connected.But then comes the nightmare. If you test the examples code, everything works pretty well as long as you follow exactly the instructions. But when you start having to mix modules, sharing, for example, the SPI bus, this is something else. On several forums, I even read that I should use software SPI for the second module, ... and all sort of horrible thingsAnd most of the time, documentation of the libraries is only made of examples. I would prefer a strict documentation of the offered functions, parameters, actions and returned values.My conclusion, as a hobbyist, is that I really prefer learning devices datasheet and writing the drivers myself. This takes a lot of time but, at least, I have full control of my hardware and when something is not working, I know where to look at. And I learn a lot moreWhat do you think ?

author: fourtytwo42
author_rank: Super Contributor
timestamp: March 17, 2018, 10:21:54 am
content: I think you are absolutely right, grappling with the device data sheets often reveals improved ways of using them and as you say you learn lots. Many people come on here asking for help with library code that only works in a particular situation. Wherever possible I do not import code, or if I do to get something working I re-write it into something I consider sane. Same goes for many spice models!

author: llkiwi2006
author_rank: Regular Contributor
timestamp: March 17, 2018, 10:24:54 am
content: I don't like Arduino because it's "IDE" is more like a stripped down text editor that encourages you to write bad code. It forces (or at least highly encourages, idk I have used it much) you to put everything into one source file, which just teaches you to not make your code modular, readable, and maintainable. The standard library also sets a bad example with inconsistent capitalization and bad naming. Finally, come on, why would you take away the main function that all C programmers know and love?P.S. I also love writing low level code and poking the hardware registers myself. I feel like it gives me way more control than whatever HAL is provided. But I can imagine it being confusing and tedious for beginners. Also yeah I agree I often learn a lot from the reference manuals.P.P.S Why are people so obsessed with atmel avr (like in arduino)? These days arm microcontrollers are much better in pretty much all aspects and cheaper as well.

author: doobedoobedo
author_rank: Regular Contributor
timestamp: March 17, 2018, 01:18:16 pm
content: I'll come at this from a slightly different angle.Arduino is awesome for getting started with microcontrollers and for simple projects. People have put a lot of time in to writing libraries and providing example code, which is just what you need as a complete beginner. It flattens out the initial learning curve.Having said that, as soon as you start to step out of simple projects and want to do something a bit more complex, then it may well be that it's no longer for you. You can read datasheets and apply them within the arduino environment, but as stated by others the IDE is truly awful for managing anything complex.Would I be working on my current ARM project without arduino? - probably not.Would I consider arduino for a simple project? - definitely. It currently runs my toaster oven, unlocks my back gate and the complex thing that made me look for something else works - just - in it's initial version, but I ran out of program space and AVRs are too power hungry - hence the move to ARM.

author: sleemanj
author_rank: Super Contributor
timestamp: March 17, 2018, 01:36:46 pm
content: The Arduino IDE is great as a simple ready-to-go just-download-it toolchain.Certainly it has limitations, but frankly I am the sort of person who thinks the perfect IDE is a text editor. file tree and shell, so for me, it's really not bad (a file tree would be nice though). It's not for writing highly complex systems it's for writing a few kb of code. I do usually wind up writing library (or My work on ATTinycore and Optiboot) code in my favourite editor of choice (kate currently), but "sketch" code I write directly in the IDE.Libraries are of course highly variable, being as a lot of people who get involved in Arduino projects are not professional developers, or even experienced, the amount of bad code out there is high, but you can write good code. Certainly from time to time I have ended up heavily reworking or writing a library from scratch because I did not care for the existing ones. But this is hardly the fault of "arduino" if people write shitty code for it.As for AVR8 popularity, it's a simple easy to understand not-terribly-documented family with large similarity and a well supported official free open source readily available (especially on a decent linux distro - apt-get install avr-gcc) toolchain.

author: Galenbo
author_rank: Super Contributor
timestamp: March 17, 2018, 02:11:10 pm
content: Quote from: ggchab on March 17, 2018, 10:04:22 amI have exactly the same experiences withhttps://www.mikroe.com/After a quick test of the modules and their examples + closed libraries, you start an intregrated project.Ethernet-SPI comes together with port expander SPI, and you can start messing around.Another PIC with 2 SPI busses is not compatible with board X and compiler Y, or there are voltage conflicts on programmer Z.All of this undocumented, of course, you run into 1 of the many problems and when a solution is not explicitily mentioned, it is "normal"The same thing with LCD-over-expander. Both LCD and expander libraries were unusable.Even separate they were unusable, lacked a lot of options and had some bugs.

author: Red Squirrel
author_rank: Super Contributor
timestamp: March 17, 2018, 02:32:59 pm
content: Arduino is kinda what got me interested in electronics, and microcontrollers and I imagine it's the same for lot of people. I did not even know about the concept of them, like I kinda knew that there was "embedded computers" in devices but not more than that.I never really gotten into the modules (shields or hats or whatever you want to call them) as I think it's more fun to try to just connect stuff myself directly so I can know what's going on more than just a ready solution.One thing I do like about Arduino is that it's easier to find out how to do stuff, even if I don't plan to use Arduino. For example if I have some kind of sensor and I want to know how to use it, I'm going to get way more results if I search for " Arduino" than if I search for the name of a specific MCU or "bit bang" or other keywords. Arduino will also have libraries to do all that if I go with that route.I actually want to learn how to program MCUs without using Arduino code though, but I find it's hard to find resources on how. Like the names of all the variables and built in functions etc. The datasheets show small code snippets and explain what the ports do etc but you don't really get the whole picture. It's probably more good as a reference for once you already know how to code them. Googling "how to set a pin high" with the name of a specific MCU probably won't give you much, but with Arduino as a keyword it will, for example.I want to get into more automation projects and will probably go the AVR / Arduino route. Maybe Raspberry Pi for the central unit then all the sensors/expanders will connect to it.

author: cstratton
author_rank: Regular Contributor
timestamp: March 17, 2018, 02:50:03 pm
content: - The IDE is horrid. Basic edit, search, etc functionality has quirky issues, the utilized character set aliases different symbols, library integration is goofy, and it complains about version control tracking objects in the source tree. Once you have more files in a project than tabs that can fit across your screen, navigation becomes difficult.- There's not been any consistent-over-time way to do command line builds, which precludes adult software development practices like automated builds- The documentation is woeful imprecise. Compare any arduino method page, to the Unix manual page for comparable function. It's fine that the page starts out with beginner-friendly language, but it must also include key information for real programmers, like a function prototype with the return type, and it does not. Sometimes the text clarifies, often it does not and one is forced to grep the platform sources.Even apart from all the room for criticism in how Arduino may start beginners down a path of bad habits, these failures make it very hard to carry already established sound habits into the occasional Arduino project.Beginner friendly is a fine goal; but being so incompatible with professional use is a problem.

author: frozenfrogz
author_rank: Frequent Contributor
timestamp: March 17, 2018, 03:03:31 pm
content: Quote from: doobedoobedo on March 17, 2018, 01:18:16 pmExactly this!When I started trying to figure out my way into the glorious world of micro controllers, the Arduino approach helped me a lot. I remember that when I was a child back in the 1990s, I bought a "C-Control Unit" (Conrad here in Germany sold these) for quite a lot of my hard earned pocket money. I had bold plans of building an autonomous robot, but the hard reality was, that I barely just kind of figured out how to drive an old DC motor from a tape deck I found in the dumpster from a weak AA battery pack.Programming was done in Basic and since there was nothing like today's web forums (well technically there were news groups and all, but I did not know that then), I was left with some manuals and no knowledge of electronics. I never built that robot and I got frustrated because my Lego model would not even move with the low torque I got from the scrap motor.Today, the world is quite different. You can have all the expertise you want on internet forums, PDF manuals, example projects,... and because of free libraries and cheap hardware you can dive straight into creating awesome stuff! Learn as you go is the approach that makes it a lot of fun and keeps frustration at a level that makes you want to figure out stuff instead of throwing everything out the window.I do agree, that the point in time where you realize the Arduino environment now is more of a restriction than helping you is inevitable, but at that time you already learned all the basic stuff and you can evolve into another direction.I think, the Arduino project is awesome! If it is able to inspire lots of people to get together, learn about programming, ask questions, try to figure out how stuff works and make them create their own things, but that comes at the price of having a restrictive and simplified IDE: Be my guest!Edit: Besides that, there are of course lots of things to criticize, starting with the horrible documentation. However, you need to start somewhere

author: kerrsmith
author_rank: Regular Contributor
timestamp: March 17, 2018, 03:35:48 pm
content: Quote from: cstratton on March 17, 2018, 02:50:03 pmI always useVisual Microwhich is an Arduino IDE for Visual Studio, it works on theVisual Studio Community 2017Edition so both are completely free to use.When using Visual Micro you get all the intellisense features such as List Members, Parameter Info, Quick Info, and Complete Word that Visual Studio provides and as you are using Visual Studio you can also include extensions such as Git and code tidying (such asCodeMaid).Visual Micro is a really great program and you can do everything you can in the the Arduino IDE directly in Visual Studio (code uploading, verifying etc) - the error checking and highlighting alone is extremely useful.The program is actively maintained and is updated on a very regular basis to keep up to date with new boards that are developed. I have been using it for several years now and I find it extremely hard to go back to the default Arduino IDE as it lacks so many useful features (error highlighting, jump to function definition etc).I highly recommend checking out this program if you want to code for Arduino in a really great programming IDE.

author: IanJ
author_rank: Unknown
timestamp: March 17, 2018, 04:11:52 pm
content: Hi all,Arduino IDE config tip:Enable external text editor and use NotePad++ instead (or any other source code text editor).When you save in NotePad++ it's automatically updated in the IDE, so all you ever use the IDE for is to compile/upload or the serial monitor.Ian.

author: Nusa
author_rank: Super Contributor
timestamp: March 17, 2018, 04:12:57 pm
content: Complaining about the Arduino IDE is not complaining about the Arduino itself. If you know enough to do things yourself, you also know enough to use a different editor or IDE. There's nothing magic about it.If you don't know enough to use another IDE, then you probably aren't missing the obscure, but useful, features in other IDE's because you don't know them either.Repeat above paragraphs about library support. Nobody makes you use the ones others have written unless you aren't capable of doing otherwise.Now if you have actual complaints about the hardware, that's another matter. Most of you don't seem to be complaining about the hardware, however. The atmega datasheet is huuuge and comprehensive if you just want to do things yourself.

author: Beamin
author_rank: Super Contributor
timestamp: March 17, 2018, 04:17:46 pm
content: I find the hardest part about an Arduino is answering the question "What's an Arduino do?" from a lay person. Everything? Blink a light? Run a webserver that monitors the doors in your house from your cell phone?

author: madires
author_rank: Super Contributor
timestamp: March 17, 2018, 04:32:08 pm
content: I fully agree that the Arduino is a great tool for starting with MCUs. The IDE and tons of tutorials are very helpful for beginners. If you like to do more advanced stuff you have to deal with the MCU directly anyway. And you can do this with the Arduino too. It's a versatile little MCU board.

author: Beamin
author_rank: Super Contributor
timestamp: March 17, 2018, 04:36:27 pm
content: Quote from: ggchab on March 17, 2018, 10:04:22 amI think that's the exception not the rule. I really like electronics especially analog devices where you have to know how it works in order to make it work. But for me anything with the code more just editing a few variables is incredibly boring and I consider it a chore. It feels like work and taking away time I could be spending making hardware work. The Arduino is popular because you can do all kinds of things without being a computer programmer. Yes witting code can be sort of fun but I find myself usually getting frustrated spending hours making it work because I forgot a ; or don't know the syntax. When I am working on the code I just think I could be spending this time learning the part I like. If you are choosing this as a career this can be really frustrating taking away precious study time only to realize 10 of hours of project building isn't working because of one line of code.

author: Beamin
author_rank: Super Contributor
timestamp: March 17, 2018, 05:04:19 pm
content: Actually what I hate most about the Arduino has nothing to do with the Arduino:I bought the RFduino thinking that would be the ultimate toy: RF stuff with Arduino. I have about 50 projects I want to make. So I bought the thing and I decide to make the iPhone RGB mood light thing since I couldn't find any other projects. Every dIY went like this:Solder the lights remember LEDs are polarized. Use glue to stick the popsicle sticks together. Make sure the glue dries. I use paper towels to clean up the glue and not my moms good fabric table napkins. (About 20 more steps of common sense/things that insult my intelligence)Next upload the appropriate library and code for your device and app.(wait what?)Open the app by using one finger to tap the icon don't tap twice. Click on the color wheel to change the color. Don't forget to shut off the lights or the batteries will die. Now is a good time to put the lid on the glue by turning the cap clockwise.I don't know if the examples are like this because the people don't understand the middle part/hard part or if they don't feel like explaining how the thing actually works. To this day my RF arduino has never been used because I can't find any good instructions or even documentation to learn from it. Wasn't cheap either. There were some forums but nobody posts there and the few people that do think you are idiot for not having spent 4 years learning code. And respond with "find your mistake and then fix it. Its not hard"If anyone knows a good example or just instructions on how the RFarduino works that would be great. I still haven't figured out if you program it together or if thats done over air: there just isn't any basic info. So it sits collecting dust with the other failed projects. I miss the days of big thick paper instruction manuals. Back then if something didn't work it was because you didnt ead the manual. Now there is no manual.

author: ggchab
author_rank: Frequent Contributor
timestamp: March 17, 2018, 07:03:57 pm
content: Quote from: IanJ on March 17, 2018, 04:11:52 pm=Thank you, very good tipI was often doing copy/paste between Notepad++ and he Arduino editor which is missing some basic functionalities.

author: JoeO
author_rank: Frequent Contributor
timestamp: March 17, 2018, 07:47:37 pm
content: Quote from: llkiwi2006 on March 17, 2018, 10:24:54 amYou can do the main function with Arduino.

author: Nusa
author_rank: Super Contributor
timestamp: March 17, 2018, 08:00:31 pm
content: Quote from: JoeO on March 17, 2018, 07:47:37 pmIndeed. This is the default main function:Code:main.cpp - Main loop for Arduino sketchesCopyright (c) 2005-2013 Arduino Team. All right reserved.This library is free software; you can redistribute it and/ormodify it under the terms of the GNU Lesser General PublicLicense as published by the Free Software Foundation; eitherversion 2.1 of the License, or (at your option) any later version.This library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNULesser General Public License for more details.You should have received a copy of the GNU Lesser General PublicLicense along with this library; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA*/#include <Arduino.h>// Declared weak in Arduino.h to allow user redefinitions.int atexit(void (* /*func*/ )()) { return 0; }// Weak empty variant initialization function.// May be redefined by variant files.void initVariant() __attribute__((weak));void initVariant() { }void setupUSB() __attribute__((weak));void setupUSB() { }int main(void){init();initVariant();#if defined(USBCON)USBDevice.attach();#endifsetup();for (;;) {loop();if (serialEventRun) serialEventRun();}return 0;}If you want your own main instead of the setup/loop setup, just create one. If you want to use library functions, you'll still need to call init(), or a number of things won't work.

author: b_force
author_rank: Super Contributor
timestamp: March 18, 2018, 04:08:07 pm
content: You have to put it all in perspective.I am not a huge fan of the Arduino boards and shields.On the other hand it gives you a possibility to do some quick experiments.I mainly like the concept because it's much easier to develop stuff.Instead of spending a lot of time reading datasheets and things.(which for me is far from joy)

author: retrolefty
author_rank: Super Contributor
timestamp: March 18, 2018, 05:23:31 pm
content: QuoteThe Arduino team hit a home run and reached a new user base they were shooting for, which was not professional programmers/developers, but rather non programming university student/artist types. It was never meant to be a mainstream programming product for professional programmers or commercial developers, nor a path to a professional C++ career.My main complaint with the Arduino platform is that once they reached their original target(s) they found they couldn't compete with cheap compatible asian clones ($3 nano boards, etc) and therefore lost most of their retail cash flow for the 8 bit hardware products. So they went crazy releasing so many different boards, 32 bit based, wireless capabilities, etc etc, and the IDE has to be continuously upgraded to support each new product. So they are now trying to be everything for everyone which of course is not really possible.All that aside I don't think there has ever been a more successful open source hardware/software project project, at least in number of users, but maybe someone here can offer an argument with that.

author: james_s
author_rank: Super Contributor
timestamp: March 18, 2018, 05:40:52 pm
content: The issue I had with the Arduino is that there are multiple different versions of the IDE which don't seem to like to coexist and newer versions break things in older code and libraries. I understand some of the reasons behind this but for something that is supposed to be beginner friendly I found it annoying.

author: imidis
author_rank: Frequent Contributor
timestamp: March 18, 2018, 05:57:38 pm
content: This makes me sad =(

author: alsetalokin4017
author_rank: Super Contributor
timestamp: March 18, 2018, 06:52:38 pm
content: Why I don't like bicycles !You can't carry a lot of grocery bags on a bicycle. They don't go very fast either. And it takes _all day_ to go from New York to Boston. And you're all tuckered out when you finally get there. And don't even mention rain! Everything just gets wet! Bicycles are terrible if you only have one leg. Well at least they come in different colors.Get it? Arduino is a tool. You don't hammer nails with a bicycle and you don't write huge complex programs for Arduino. But you _can_ do a practically infinite number of things with Arduino and the stock IDE, and do them quickly and without a lot of hardware overhead. It is what it is. Don't like it? Doesn't suit your purpose? Fine... don't use it. But I don't think I'll be tossing my Arduinos out the window just yet. A couple dollars for a Nano or ProMini clone, a free IDE that is instantly portable between WindSux, Linux, and OSX, bazillions of example programs available, easy learning curve for beginners.... but hey, it's not a Harley Davidson with a sidecar, it's a _bicycle_. If you know what I mean.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: March 18, 2018, 06:56:13 pm
content: Arduino is a machine like any other, it's either a benefit or a hazard. If it's a benefit, it's not my problem.

author: raptor1956
author_rank: Frequent Contributor
timestamp: March 18, 2018, 07:25:43 pm
content: Quote from: kerrsmith on March 17, 2018, 03:35:48 pmI'm still kind of new to Arduino and use the default IDE and editor with a MEGA2560 and a couple Teensy 3.6 microcontroller. My question with respect to Visual Micro is -- how well does it handle the toolchains for the various microcontrollers like the Teensy 3.6 or Espresif ESP32?Brian

author: Bassman59
author_rank: Super Contributor
timestamp: March 19, 2018, 07:01:54 am
content: Quote from: doobedoobedo on March 17, 2018, 01:18:16 pmTo be pedantic about this, a flat learning curve is awful, and the steeper, the better.Why? Plot knowledge acquired vs. time. Knowledge is the Y axis, time is the X axis.Acquiring more knowledge in a shorter time will show on the graph as a line with a steep slope. A lower-value slope means it takes longer to acquire the same knowledge.Thank you for your attention to this matter. Carry on.

author: medical-nerd
author_rank: Regular Contributor
timestamp: March 19, 2018, 07:41:01 am
content: HiyaQuote from: IanJ on March 17, 2018, 04:11:52 pmThanks for this!!!!Cheers

author: medical-nerd
author_rank: Regular Contributor
timestamp: March 19, 2018, 11:24:01 pm
content: HiyaSlightly offtopic - but following a previous post : using Notepad++ with the arduino IDEI have followed the following instructions found after a quick search:Setting up Notepad++ as an alternative editor for Arduino in Windows.1. Install notepad++(NPP) you have two options full install or portable app, if you already use NPP, the portable version is probably the better option to avoid conflicts.http://notepad-plus-plus.org/download/v6.3.2.htmlhttp://portableapps.com/apps/development/notepadpp_portable2. Run NPP, select 'Settings - Style Configurator - C++'3. in the option 'User EXT:' enter 'ino'4. Select the option under 'Style:' 'INSTRUCTION WORD'NOTE word list below is courtesy of user Riva on the Arduino Forums and is reproduced here for ease of use.5. Cut and paste below word list into 'User-defined Keyword' text boxabs accept acos analogRead analogReference analogWrite asin atan atan2 attach attached attachInterrupt autoscroll available begin beginPacket beginTransmission bit bitClear bitRead bitSet bitWrite blink blinkVersion BSSID callbackFunction ceil char class clear click Client close connect connected const constrain cos createChar cursor degrees delay delayMicroseconds detach detachInterrupt digitalRead digitalWrite direction disconnect display double EEPROM encryptionType end endPacket endTransmission Ethernet EthernetClient EthernetServer exists exp File find findUntil Firmata float floor flush gatewayIP getResult getSocket highByte home int int16_t int32_t int64_t interrupts IPAddress isListening isPressed Keyboard leftToRight length LiquidCrystal listen localIP log long loop lowByte macAddress map max micros millis min mkdir Mouse move NewSoftSerial noAutoscroll noBlink noCursor noDisplay noInterrupts noTone null onReceive onRequest open overflow parseFloat parseInt parsePacket peek pinMode position press print printFirmwareVersion println printVersion private processInput prog_char prog_int16_t prog_int32_t prog_int64_t prog_int8_t prog_uchar prog_uint16_t prog_uint32_t prog_uint64_t prog_uint8_t prog_void PROGMEM protected public pulseIn radians random randomSeed read readBytes readBytesUntil readMicroseconds receive register release releaseAll remoteIP remotePort remove requestFrom rightToLeft rmdir round RSSI scrollDisplayLeft scrollDisplayRight SD seek send sendAnalog sendDigital sendDigitalPort sendDigitalPortPair sendString sendSysex Serial Serial1 Serial2 Serial3 Server Servo setBitOrder setClockDivider setCursor setDataMode setFirmwareNameAndVersion setFirmwareVersion setSpeed setTimeout setup shiftIn shiftOut short signed sin size speed SPI sq sqrt SSID static status step Stepper stop String stringCallbackFunction subnetMask substring sysexCallbackFunction systemResetCallbackFunction tan toInt tone transfer uint16_t uint32_t uint64_t uint8_t unsigned version void WiFi WiFiClient WiFiServer Wire word write writeMicroseconds6. Select the option under 'Style' 'Type word'7. Cut and paste below word list into 'User-defined Keyword' text boxANALOG_MESSAGE ANALOG_PORT BIN CHANGE DEC DEFAULT DIGITAL_MESSAGE END_SYSEX EXTERNAL FALLING FILE_READ FILE_WRITE HALF_PI HEX HIGH INPUT INPUT_PULLUP INTERNAL INTERNAL1V1 INTERNAL2V56 LOW LSBFIRST MAX_DATA_BYTES MSBFIRST OCT OUTPUT PI PWM REPORT_ANALOG REPORT_DIGITAL REPORT_VERSION RISING SERIAL_5E1 SERIAL_5E2 SERIAL_5N1 SERIAL_5N2 SERIAL_5O1 SERIAL_5O2 SERIAL_6E1 SERIAL_6E2 SERIAL_6N1 SERIAL_6N2 SERIAL_6O1 SERIAL_6O2 SERIAL_7E1 SERIAL_7E2 SERIAL_7N1 SERIAL_7N2 SERIAL_7O1 SERIAL_7O2 SERIAL_8E1 SERIAL_8E2 SERIAL_8N1 SERIAL_8N2 SERIAL_8O1 SERIAL_8O2 SET_PIN_MODE SPI_CLOCK_DIV128 SPI_CLOCK_DIV16 SPI_CLOCK_DIV2 SPI_CLOCK_DIV32 SPI_CLOCK_DIV4 SPI_CLOCK_DIV64 SPI_CLOCK_DIV8 SPI_MODE0 SPI_MODE1 SPI_MODE2 SPI_MODE3 START_SYSEX SYSTEM_RESET TOTAL_ANALOG_PINS TOTAL_DIGITAL_PINS TOTAL_PORTS TWO_PI8. Click 'Save & Close'8a. if you find words missing then they are easy to add, perhaps we can find a place for adding words, to keep list up to date9. Downloadhttp://sourceforge.net/projects/sourcecookifier/and install the addon, if you installed NPP just follow the normal install routine10. if you have installed the portable app version unpack sourcecookifier into '\App\Notepad++\plugins' which is below the directory that you have the NPP executable11. Restart NPP12. Select 'Plugins - SourceCookifier - Language Settings' under 'Language' select 'C++' under 'Extensions' add '.ino'13. click 'OK'14. Select 'Plugins - SourceCookifier' and ensure 'Toggle SourceCookiefier' is ticked15. Select 'Run' and go to your arduino directory, select the arduino file, mine looks like this C:\arduino-1.0.4\arduino.exe16 add the following to the end of the line $(FULL_CURRENT_PATH), so it should look something like thisC:\arduino-1.0.4\arduino.exe $(FULL_CURRENT_PATH)17. Save this as 'ArduinoIDE' or whatever you wish to call it, you may also add a hotkey combination if you wish18. You can now load a sketch and you should see the lexer, tokenizer, colourizer or magic crayoning is working, in addition, you should have a right hand panel with all your functions and variables etc. in a treeview. If you double click on one of these you will be taken to it.19. If you like to use multiple files for you projects, set SourceCookifier session mode to N++ session, this will list all functions variables etc. in all open files and let you jump to these with a double click.20. when you are ready to compile and upload, SAVE your file or files and click 'Run' and select the option you created in step 17.21. You may, if you wish, in the Arduino IDE preferences select use external editor, this will stop you from editing in the Arduino IDE, to avoid confusion.Now after saving, when trying to run I get an error code 2 , file not found.Can anyone helpCheers

author: Brumby
author_rank: Unknown
timestamp: March 20, 2018, 01:22:11 am
content: Quote from: Bassman59 on March 19, 2018, 07:01:54 amNot always.* Some people will see a steep learning curve as a sheer cliff face. Flattening it out for them is a kindness.* Others will have exhausted themselves on a range of electrical and mechanical problems they have overcome to get their widget functional - and all they need the micro for is some very basic control. Putting them through high demand learning is unnecessary* Many projects can be successfully achieved with the IDE as is. It is quite possible that poor spaghetti code structure with inefficiencies left, right and centre can still produce an effective and reliable result. Yes, it might look ugly and be a maintenance nightmare ... but once the object code is loaded and running perfectly - who the heck cares? It's not as if the programming needs to satisfy any ISO requirements.QuoteI don't disagree - but it seems rather absurd to force someone to learn how to design, construct and certify a rocket ship when all they want to do is build a balsa wood glider.Horses for courses.

author: Technobabble_
author_rank: Regular Contributor
timestamp: March 20, 2018, 02:19:23 am
content: To everybody who hates the IDE (including myself - curse you lousy search function) I recommend using Atom text editor with the PlatformIO add-on. That way, you can interface an Arduino with full-on C++, and have proper search functions to boot.https://platformio.org/frameworksedit:grammar

author: Rick Law
author_rank: Super Contributor
timestamp: March 20, 2018, 04:04:55 am
content: Just because you have an Arduino doesn't mean you have to use Arduino IDE.As a piece of hardware, Arduino is pretty useful. Perhaps not the best layout, but certain one of the more cost effective.

author: FrankE
author_rank: Regular Contributor
timestamp: March 20, 2018, 12:47:40 pm
content: They're maybe OK but:I couldn't code my way out of a wet paper bag and don't have the aptitude, patience or attention span to try.

author: james_s
author_rank: Super Contributor
timestamp: March 20, 2018, 03:19:22 pm
content: That's going to be a problem for you with any micrcontroller platform, it's nothing specific to the Arduino.

author: Yansi
author_rank: Super Contributor
timestamp: March 20, 2018, 03:36:50 pm
content: Quote from: sleemanj on March 17, 2018, 01:36:46 pmAlmost any modern IDE for MCUs is like that, except 999 levels better than the so called "arduino ide", which is utter junk by the way.

author: Nusa
author_rank: Super Contributor
timestamp: March 20, 2018, 06:09:05 pm
content: Using blatant and obvious exaggerations damages future believability of anything you say about anything.Generalizing that there's nothing worse than the Arduino IDE is pure ignorance of some of the garbage that's out there.

author: lordvader88
author_rank: Frequent Contributor
timestamp: March 20, 2018, 10:16:23 pm
content: I have 1 and used it 2-3 years ago to blink a light. And I remember being frustrated at something not working with windows, and whatever all hodgepodge of programs I needed just to get it working. IDK programming any amount, but that wasn't the problem, it was something else I didn't know enough about.I've been learning analog stuff. Soon I'll learn digital and some programming for this type of stuff.

author: CatalinaWOW
author_rank: Super Contributor
timestamp: March 21, 2018, 03:59:13 am
content: You know, I hate resistors. Only one function, and it isn't even programmable. And can't do anything nonlinear inside its operating range. Can't report its value to the outside world. Who in the world would use such a worthless, primitive, thing. Might be all right for beginners, but even they will be set back by the limited learning required to put one to use. The only nice thing I can say about them is that they are cheap, reliable and widely available.

author: alsetalokin4017
author_rank: Super Contributor
timestamp: March 21, 2018, 06:01:03 am
content: Quote from: CatalinaWOW on March 21, 2018, 03:59:13 amTotally. And they have the worst user interface possible. But sometimes they are adequate for the job. Just barely.

author: Elasia
author_rank: Frequent Contributor
timestamp: March 21, 2018, 06:20:57 am
content: What ever happened to actually learning embedded c?It's not exactly rocket science but maybe thats just me asking to much of a new wave of peopleBtw... why does the dead horse icon look like a pacman swatting a crab? x_x

author: frozenfrogz
author_rank: Frequent Contributor
timestamp: March 21, 2018, 08:19:40 am
content: Quote from: Elasia on March 21, 2018, 06:20:57 amWhat you are totally missing out on is, that the Arduino environment is quite easily accessible for almost anyone. If you think that is a good or a bad thing is up to you to decide.Personally I think it is a good thing to make technology more approachable at its core, because in the long run it will lead to more people having at least a basic knowledge of what can be done with - in this case - electronics. Developing production quality items of electronic hardware and firmware will always be a job for people of the nerdier kind that are willing to dive deep into a the matter and those will end up with writing a "proper" C. That was never the intention of Arduino.However, if you are able to spark curiosity in lots of people at a young age, there is a good chance of getting more of them to geek out. As I stated earlier, the limitations of the Arduino environment will become obvious once you reach a certain level of comprehension for the overall matter and the only way to go further is to dive deeper into learning embedded C etc.My main point is, that you can give a box of Arduino compatible hardware, some sensors, actuators etc. to a group of elementary school pupils together with some basic instructions and they will come up with their own awesome little projects in no time!If it is not your cup of tea: Well serve yourself to some coffee then. After all it is just one possible approach. Another way would be to force embedded C on the same kids. They will be able to produce well formatted, sane code after some time, but most likely lack the enthusiasm to do something with that knowledge

author: Rick Law
author_rank: Super Contributor
timestamp: March 21, 2018, 06:16:58 pm
content: Quote from: frozenfrogz on March 21, 2018, 08:19:40 amWell put! FrozenFrogZ.The ease of getting it going makes it more inviting. We all like lesser competition, and we all like to eliminate the self-declared experts who think they knew but they don't know anything beyond skin deep. But having more with interest in the field is a good thing. The flip side of too many self-declared experts is those who truly are experts will get more respect. It takes a person with basic knowledge to recognize those with deep levels of understanding.Arduino benefited me a great deal and likely benefit many more like me. Being a n-th time returning hobbyist, I really had not in mind doing MCU. Back in college days when 8080 was the top of the line, I was able to DYI a kit (SOL-20) as my first PC. It was only following the professors instruction and guidance that I was able to build a running 8085 on a breadboard. (8085 = 8080 with serial)This time when I returned to playing around with electronics, I thought days of making my own CPU running was behind me. But with the wealth of info out there, I was able to get Arduino running without much fuss, and program it without much fuss.I am no expert and given my age, I don't have enough time left to be an expert. I don't need the expert level knowledge. I have fun with it and EE offers as much fun as your budget permits.The more kids with such knowledge, the more we can push the envelop of kids' average kids' technology know-how. The more they know, the more knowledgeable a society we have. The more knowledgeable the society is, the more the respect true experts will get.

author: ManuelMcLure
author_rank: Contributor
timestamp: March 21, 2018, 07:07:16 pm
content: An Adafruit Boarduino (the one that needs the FTDI cable - none of that fancy USB Boarduino stuff) was my first introduction to microcontrollers and I still use it for quick prototyping. What I find really useful is the bootloader programmability - being able to just push a new version of the code from the IDE directly onto the board without having to mess with ISP is a great advantage early in a project.Once I've firmed up what the code needs to do, I'll usually convert it to pure embedded C/makefiles and use a USBTinyISP to flash the code onto a plain AVR processor, freeing up the Boarduino for the next project.So I think there's a place for Arduino even in a more advanced development environment.

author: Elasia
author_rank: Frequent Contributor
timestamp: March 21, 2018, 08:01:23 pm
content: Quote from: Rick Law on March 21, 2018, 06:16:58 pmTrue.. could say its another form of even the old lego robotics kits or even those science lab boards with all the springs and wires... alas i am now old and jadded and just yell at kids to get off my lawn

author: schmitt trigger
author_rank: Super Contributor
timestamp: March 21, 2018, 08:29:17 pm
content: Quote from: CatalinaWOW on March 21, 2018, 03:59:13 amAnd if one purchases thru hole types, they have these nice looking, bright color bands!They can be easily used for ornaments. Perfect for art students.SMT types on the other hand, are boring.

author: james_s
author_rank: Super Contributor
timestamp: March 21, 2018, 11:29:56 pm
content: Regardless of its shortcomings, it's hard to argue against the fact that the Arduino has played a significant part in revitalizing the electronics hobby. As someone who has been playing with electronics since I was a little kid and caught just the tail end of when Radio Shack was a worthwhile place that still carried parts you could use to build cool stuff, I was worried for a while that electronics as a hobby was going to vanish completely. Now while it's not quite the same as it was, it has none the less come back in a big way. I know lots of people who have kids who are writing code and building circuits, even girls are getting into it and that's pretty cool to see. There are many factors, but the accessibility of the Arduino has contributed significantly to making this happen.

author: Beamin
author_rank: Super Contributor
timestamp: March 22, 2018, 07:32:43 am
content: Quote from: james_s on March 21, 2018, 11:29:56 pmRadio shack was like my toy store in the 90's. I remember half the store was just slightly over priced parts. I had a job there in the late 90's and you had to take tests and read books on resistor color codes and E=IR. The people working there actually knew what they were talking about. I worked there again in college and made less money and the store manager knew the names of some of the parts but was basically a sed car sales man pretending to know what he was talking about. One day out of the blue the manager yells out "You think you know everything!" so I told I'm pick out any part in the store and Ill tell you what it is. So he picked out a transistor and quizzed me on it. He got more pissed and picked up a sata cable and I told him what it was. Then I said "see I DO know everything". He went home early. He also had to always be right so when I wanted to buy something I would tell him the price and he would argue with me and change the price down. I got a grundig radio really cheap. The next store manager would try and force the employees into buying the scam service plan when they tried to buy things going as so far as reaching over their shoulder pressing the enter button when they were ringing themselves up. How badly do you need money? They don't even make money directly off of it so his paycheck probably went up a few cents tht month buy putting a 49$ service plan on shit. That manager also got mad thinking I knew everything.He tried to sell a 80 year old guy an extra hard drive to remove a virus on his computer because I told him to get his computer fixed somewhere else. He said "See loo I turned that into a hard drive and docking station sale". That old guy would come back into the store three times a week with his computer in hand because he took it apart and couldn't get it back together. One day the old man came back to see the manager as the store was getting robbed. The old man tried to make a run for the door and they pistol whipped him and his head was all bloody as they locked the staff/customer (manager went home early as usual) in the bathroom. They all held hands and prayed for the police to get there. So yea he turned that into a sale I'm sure the customer was very satisfied. I called the manager on his cell phone and told him he shouldn't have tied to make a sale that day he was so pissed I got fired.