11 Replies Latest reply on Dec 11, 2014 10:47 AM by KurtE

    Arduino board

    Cripsybacon

      Hi, I've an Intel Edison with mini breakout board, can I use the arduino IDE without the Arduino Expansion board?

       

      Can I use the Intel XDK wihtout Arduino Expansion board?

        • 1. Re: Arduino board
          DiegoV_Intel

          Hi Cripsybacon,

           

          Yes, you can use the Edison + Breakout board with the Arduino IDE or the XDK, however you should keep in mind that the hardware is not the same. For example, the GPIOs in the Arduino Expansion Board are 5V (or 3.3V) compatible, but in the Breakout board the GPIOs are 1.8V compatible, so let's say, if you want to upload the Blink example you will have to add an external LED and a little power interface for it (a transistor) instead attaching the LED directly to the GPIO pin on the Breakout board.

           

          I'll recommend you to check these following threads, they might be interesting for you:

          Your First Blink- Edison Breakout Board + Arduino IDE

          Get your frist "blink" LED with Intel mini breakout …

           

          Regards,

          Diego.

          • 2. Re: Arduino board
            Cripsybacon

            I've tried to follow those step-by-step guide but I recive a lot of errors in Arduino IDE when I compile the output is:

             

            "i586-poky-linux-g++: error: Files\arduino-1.5.3-Intel.1.0.4/hardware/tools/edison/sysroots/core2-32-poky-linux: No such file or directory"

            • 3. Re: Arduino board
              mhahn

              that looks rather as an issue with your IDE than an issue with your board. Maybe it hasn't been correctly extracted?

              • 4. Re: Arduino board
                Cripsybacon

                Yeah now it is working But when I upload a sketch the output is:

                Binary sketch size: 76,063 bytes (of a 10,000,000 byte maximum) - 0% used

                #!/bin/sh

                starting download script

                 

                echo "starting download script"

                Args to shell: D:\arduino-windows-1.0.4\arduino-1.5.3-Intel.1.0.4/hardware/tools/x86/bin C:\Users\Peppe\AppData\Local\Temp\build5705804304717377079.tmp/Led.cpp.elf COM3

                echo "Args to shell:" $*

                 

                # ARG 1: Path to lsz executable.

                # ARG 2: Elf File to download

                COM PORT 3

                # ARG 3: COM port to use.

                Converted COM Port COM3 to tty port /dev/ttyS2

                 

                Sending Command String to move to download if not already in download mode

                #path contains \ need to change all to /

                path_to_exe=$1

                fixed_path=${path_to_exe//\\/\/}

                 

                #COM ports are not always setup to be addressed via COM for redirect.

                #/dev/ttySx are present. Howwever, COMy -> /dev/ttySx where x = y - 1

                 

                com_port_arg=$3

                com_port_id=${com_port_arg/COM/}

                echo "COM PORT" $com_port_id

                tty_port_id=/dev/ttyS$((com_port_id-1))

                echo "Converted COM Port" $com_port_arg "to tty port" $tty_port_id

                 

                echo "Sending Command String to move to download if not already in download mode"

                echo "~sketch download" > $tty_port_id

                D:\arduino-windows-1.0.4\arduino-1.5.3-Intel.1.0.4/hardware/arduino/edison/tools/izmir/clupload_win.sh: line 24: /dev/ttyS2: Permission denied

                Deleting existing sketch on target

                 

                #Move the existing sketch on target.

                echo "Deleting existing sketch on target"

                $fixed_path/lsz.exe --escape -c "mv -f /sketch/sketch.elf /sketch/sketch.elf.old" <> $tty_port_id 1>&0

                D:\arduino-windows-1.0.4\arduino-1.5.3-Intel.1.0.4/hardware/arduino/edison/tools/izmir/clupload_win.sh: line 28: /dev/ttyS2: Permission denied

                 

                # Execute the target download command

                 

                #Download the file.

                host_file_name=$2

                $fixed_path/lsz.exe --escape --binary --overwrite $host_file_name <> $tty_port_id 1>&0

                D:\arduino-windows-1.0.4\arduino-1.5.3-Intel.1.0.4/hardware/arduino/edison/tools/izmir/clupload_win.sh: line 34: /dev/ttyS2: Permission denied

                 

                Moving downloaded file to /sketch/sketch.elf on target

                #mv the downloaded file to /sketch/sketch.elf

                target_download_name="${host_file_name##*/}"

                echo "Moving downloaded file to /sketch/sketch.elf on target"

                #$fixed_path/lsz.exe --escape -c "cp sketch /sketch/sketch.elf" <> $tty_port_id 1>&0

                $fixed_path/lsz.exe --escape -c "mv $target_download_name /sketch/sketch.elf; chmod +x /sketch/sketch.elf" <> $tty_port_id 1>&0

                D:\arduino-windows-1.0.4\arduino-1.5.3-Intel.1.0.4/hardware/arduino/edison/tools/izmir/clupload_win.sh: line 40: /dev/ttyS2: Permission denied"

                 

                 

                "

                • 5. Re: Arduino board
                  mhahn

                  some issue with your COM3

                   

                  • is the port correct? (COM3)
                  • did you try to have 2 programs accessing that port the same time?
                  • 6. Re: Arduino board
                    deium

                    > D:\arduino-windows-1.0.4\arduino-1.5.3-Intel.1.0.4/hardware/arduino/edison/tools/izmir/clupload_win.sh: line 40: /dev/ttyS2: Permission denied"

                    the paths in the argument has both \  and  /  directory separators, regardless of the script changing the arguments, if they are not quoted does it go through as an argument or parse as a partial path with an option switch.

                     

                    To the original question DiegoV_Intel has answered a yes.

                    • 7. Re: Arduino board
                      mhahn

                      The "/" paths in /dev/tty are from a cygwin part running the cross gcc as well as the sketch transfer and communication with the target IMHO. So should be fine

                      • 8. Re: Arduino board
                        Cripsybacon

                        Yes, the port is correct and no, I did not tried to have 2 programs accesing the same port ... I don't know why!

                        • 9. Re: Arduino board
                          KurtE

                          I have been doing some hacking on the Arduino IDE to make it work better with the mini-breakout board.

                           

                          As mentioned by DiegoV_Intel, you have the hardware differences that the actual IO pins are only 1.8v, so for most things you will need to do some form of voltage conversion.  I purchased several small boards from Adafruit and sparkfun that do this.  (Also have one from Amazon.com, but it took awhile to arrive as it shipped from China).

                           

                          But then next you hit the issues, that the IO pins are not the same.  Example If you have some code like:

                          pinMode(2, OUTPUT);

                          digitalWrite(2, HIGH);

                          This is not referring to pin 2 on your board.  If you think of this as MRAA pin this would be to connector (J17-3) which does not have anything connected to it.

                          But if we start to think about what pin 2 on Arduino board is connected to Edison pin GP128.  So you can probably look this up and try connecting up to J17-4(MRAA pin 13) as this is the pin that has GP128 on it.  But the code will still try to set/clear the Tristate object, plus the pins direction object and the PU object which are all on the Arduino board and not on the mini-breakout board.

                           

                          There are also other issues, like some of the hardware features are multiplexed to a single pin on the Arduino breakout, whereas they may be on separate pins on mini...

                           

                          So I have started hacking up a version of the IDE that has a new board type for the mini-breakout, that has tables that reflect the actual hardware.  I have at least some parts of it working, I can switch from Input to output and have tried some SPI and USART stuff and started some testing of I2C, when my first breakout board died...  Will start up fleshing out more of the stuff like Pull up, PWM, ... hopefully soon.

                           

                          I posted a zip file with the current changes up on a thread (just have to remember which one).  Will probably also put a copy up on github as well.

                           

                          You should be able to download using the standard Arduino IDE stuff.  I do that from time to time, but must confess, that most of the time I use the wifi hacked version to download over it.  The only problem with the hack is the script has the wifi address hard coded in it, so I have to change it when switching between boards or my network screws up and assigns new IP address...

                           

                          Things to check, make sure the root is not full do the logging issues.  Make sure you have the right comm port selected in the IDE...

                           

                          Good luck

                          Kurt

                          • 10. Re: Arduino board
                            DiegoV_Intel

                            Hi Cripsybacon,


                            Did you already try to run the Arduino IDE as administrator? It seems that the port can't be accessed. Another suggestion would be to change the COM port the Edison is using. To do this follow the steps below:

                            1. Go to the Device Manager.

                            2. Right click on the Edison device in the section Ports (COM & LPT) and select Properties.

                            3. Click on Port Settings tab and select Advanced.

                            4. Select a new COM port in COM Port Number and then click OK.

                             

                            After doing that you have to restart the Arduino IDE.

                             

                             

                            KurtE, I believe the thread you are referring is this one: https://communities.intel.com/message/267036#267036

                             

                            Regards,

                            Diego.

                            • 11. Re: Arduino board
                              KurtE

                              KurtE, I believe the thread you are referring is this one: https://communities.intel.com/message/267036#267036

                               

                              Yes,  Thanks!

                               

                              FYI - I also put the zip file up on github in the project: https://github.com/KurtE/Intel-Edison-and-Galileo

                              Note: this project also has a Readme file a readme with some notes on setup (extracted from my Raspberry Pi project).

                              Also an Excel project showing stuff about the different IO pins on the mini breakout board... Like:

                              MRAA-Edison-Breakout-board-.jpg

                              1 of 1 people found this helpful