3 Replies Latest reply on Dec 14, 2014 9:32 AM by jwestervelt

    I don't get it

    AustBots

      So I have received my Edison Arduino Board and none of my software works. While its says that it should be software and hardware compatible, it's not.

       

      This is my first experience with Intel and I must say that I am surprised that their attempt to reach makers like myself is pretty hopeless.

       

      1) The development kit is not compatible with the Arduino; softwareserial for example.

      2) if you are using the Arduino popularity to get your product into the market, surely you would ensure that the board is compatible.

      3) I would also have thought that Intel would have written specific Arduino examples and libraries for the USB, Dual Core, Bluetooth and Wireless functionality. Do the WiFi libraries work natively?

      4) All libraries that don't natively work should have been re-written so that they do work. Otherwise, I have to just try and work out what does work and what doesn't.

      5) If I want to use the extended functionality, I will have to learn another development environment in which case; what is the point of the Arduino form factor?

       

      What I have sitting in front of me is an extremely expensive Arduino that sorta doesn't work.

       

      I don't get it.

        • 1. Re: I don't get it
          deium

          It appears you have questions that could use answering.  The forum has many questions asked and answered, or feel free to post your own questions.

           

          2) I can't speak for Intel, but I don't think the Edison is an attempt to get Intel's product to market, but maybe rather giving us makers an awesome powerful platform to make from in such a small form factor with wifi, Bluetooth, and many other benefits bundled together.

           

          IMHO, I believe that it might be less desirable to have Intel water Edison down to a simple Arduino.

          • 2. Re: I don't get it
            KurtE

            I agree with deium

             

            As he mentioned, if there are things you have questions about, ask them.

             

            Also the Arduino breakout board is only one of many offerings for an Edison.  You could also use it in the simple breakout board, or with some of the Sparkfun boards, or Trossen Robotics is coming out with their own, or... 

             

            As for compatibility, It can take a long time and effort to get there.  Example the Arduino Due has been out for several years now, and there are probably still many libraries that are not compatible with it.  The IDE for it is still beta but hopefully there will finally be an official released IDE (1.6) that finally merges the 1.0.6 branch with the 1.5.x branch...  This is also probably true for Arduino Yun as well. 

             

             

            Software Serial - Yes there may not yet be a version that has been ported to this platform.  This is probably true for several other platforms as well.  Depending on your needs (Output only, Input ? ...) Baud rate... It may not be hard to get some version up and running.  I have done this before on other platforms.  But personally I would first see if I could do whatever I needed to do, using one of the hardware ports.

             

            Not sure what your goal is for your Edison.  If simply to replace a simple Arduino UNO or Leonardo for example and you can do everything you need/want to do with that platform, than use it.

             

            If however your goal is to use something that takes more horsepower than you would get from most other Arduinos with Dual core 500mhz plus floating point, plus wifi, BT, USB than maybe you take some time and see if you can get it to do what you would like.  Note for me the Arduino breakout gives you some added advantages over the mini-breakout as it gives you the ability to easily connect several shields, plus easy to connect up other things as it takes care of voltage level conversions.

             

            Also the Arduino IDE is setup to be pretty compatible.  It did not take me very long for example to port the Phoenix code base (Hexapod program) to work on the Edison  currently my Arduino version does not have all of the capabilities of my Linux version, which also runs on this board.  Things like using a USB sound device to play sounds or speak out things, but probably would not be hard to add that ability.

             

            Remember hiding behind the Arduino here is a full blown linux setup

             

            But it is probably not for everyone.  Just an FYI another small board I like is the Teensy3.1 by pjrc.com.  I build my Own Arduino adapter for this and Paul of PJRC has done a great job trying to find every library that does not work and tries to make a version that does.   But this is only single core 96mhz, no floating point (new one may have soon)...  So again it it is all about what are your looking for.

            • 3. Re: I don't get it
              jwestervelt

              1) The development kit is not compatible with the Arduino; softwareserial for example.

               

              Software serial kinda sucks mate.  That said, I have not attempted to use serial with Intel's Arduino libraries, but I am going to be stepping into those waters shortly for one of my projects.  If you need help getting something working on the serial front, I'd be happy to help out.

               

              2) if you are using the Arduino popularity to get your product into the market, surely you would ensure that the board is compatible.


              I have had good luck getting my code working so far.  I ran into a small snag with the required ordering of pinMode() and attachInterrupt(), but it was simple enough to figure out.  Do you have examples of what is not working?  I am certain folks here would be willing to assist.


              3) I would also have thought that Intel would have written specific Arduino examples and libraries for the USB, Dual Core, Bluetooth and Wireless functionality. Do the WiFi libraries work natively?


              The Edison is running linux, and while the Arduino code certainly has access to the resources of the board, the device is rather new and it may take a bit for things to get fleshed out.  That said, I certainly recall having seen WiFi examples within the IDE.

               

              Regarding using "Dual Core", well, this device really is a "Tri Core" device if you count the MCU.  MultiCPU won't really help you anyways unless you are using threaded code, something that a regular Arduino couldn't manage to do anyways.  I can tell you that I have implemented threading within one of my projects, and am using memory mapped files residing in /tmp to allow linux to talk to the "Arduino" sketch.  Threading works amazingly well, even through the Intel Arduino IDE.  It wasn't exactly rocket science to learn either. While an example would probably have been useful for some folks, threading is a tricky subject and one can easily run into problems if they don't understand the nuances of threading.  In fact, the forums would be absolutely littered with threading questions if Intel had included an example.  It really is a subject that you need to read about in depth, and then jump into only after you understand the basics.  But do know this, once you understand threading, you can use pthreads within the Intel Arduino library to easily leverage the Edison hardware without having to resort to 'hacky' third party pseudo-threading libraries.


              4) All libraries that don't natively work should have been re-written so that they do work. Otherwise, I have to just try and work out what does work and what doesn't.


              Welcome to the experimenter/maker club.  No really, provide examples of what is b0rken and I'm sure someone would be happy to address the matter.  I've had luck with every library that I have tried thus far.


              5) If I want to use the extended functionality, I will have to learn another development environment in which case; what is the point of the Arduino form factor?

               

              This question amuses me greatly, and my amusement has its roots in Arduino, not in your apparent displeasure.  My rather strong aversion to all things Arduino is a political one of sorts.  Ever wonder why there is a wonky half-pin spacing between two of those Arduino headers in the first place? 

               

              The decision to not go back and fix the design flaw of the original Arduino board was a horrible one in my opinion.  That decision alone screwed over hundreds of makers who would have loved to simply socket the board into a breadboard or other device with standard 0.1" headers.  Now we have places like Sparkfun selling pre-bent headers, a testament to the half-assery that is Arduino engineering. Now the design flaw is continuously perpetuated by new Arduino-compatible products... and the community has to live with it.

               

              As I stated above, the added functionality is there.  The additional "development environment" that you need to learn is called "linux".  The examples exist on these forums, and once you learn how to communicate between the linux OS on the Edison and the Arduino sketches that you write for it, you'll be able to make your Arduino sketches do anything that a full blown linux computer could do.