(Update steps for reinstallation)
 
(22 intermediate revisions by 3 users not shown)
Line 7: Line 7:
  
 
=Using  Board Manager=
 
=Using  Board Manager=
Download and install the [https://www.arduino.cc/en/Main/Software Arduino IDE] (1.6.12 preferred).
+
'''''(This Step is common for all operating systems)''''' <br>
Open the Arduino IDE and go to '''File-->Preferences''' and paste the below json URL into the '''Additional Board Manager URLs''' text box and hit OK.
+
* Download and install the [https://www.arduino.cc/en/Main/Software Arduino IDE] (1.6.12 ). Older versions of the Arduino IDE are not supported. <br>
<syntaxhighlight>
+
* Open the Arduino IDE and go to '''File-->Preferences''' and paste the below json URL into the '''Additional Board Manager URLs''' text box and hit OK.
 +
 
 +
<!-- 'syntaxhighlight' breaks the text. Use 'code' insted -->
 +
 
 +
<code>
 
https://raw.githubusercontent.com/ExploreEmbedded/Explore-M3/master/package_ExploreM3_index.json
 
https://raw.githubusercontent.com/ExploreEmbedded/Explore-M3/master/package_ExploreM3_index.json
</syntaxhighlight>
+
</code><br>
 +
<br>
 
[[File:FilePreferences02.png ]]
 
[[File:FilePreferences02.png ]]
  
Open the Board Manager from '''Tools-->Board-->Boards Manager'''. Scroll down and look for '''Explore-M3(32-bits ARM Cortex-M3)''' board. Click on the board entry and hit install.
+
* Open the Board Manager from '''Tools-->Board-->Boards Manager'''. Scroll down and look for '''Explore-M3(32-bits ARM Cortex-M3)''' board. Click on the board entry and hit install.
 
[[File:BoardManager01.png ]]
 
[[File:BoardManager01.png ]]
  
This will install the '''Explore-M3''' board and the '''arm-none-eabi-gcc''' tool chain. Installation may take few minutes depending on the internet speed. Once the installation has completed, an Arduino-blue '''INSTALLED''' will appear next to the entry.
+
* This will install the '''Explore-M3''' board and the '''arm-none-eabi-gcc''' tool chain. Installation may take few minutes depending on the internet speed. Once the installation has completed, an Arduino-blue '''INSTALLED''' will appear next to the entry.
 
[[File:BoardManager02.png ]]
 
[[File:BoardManager02.png ]]
  
Now the Explore-M3 board will appear in the board list.
+
*If you encounter '''''CRC mismatch Error''''', delete Explore M3 Arduino installation files from below mentioned paths and retry installation.
 +
**Windows:
 +
***\AppData\Local\Arduino15\staging\packages
 +
***\AppData\Local\Arduino15\packages
 +
**Mac
 +
***~/Library/Arduino15/staging/packages
 +
***~/Library/Arduino15/packages
 +
 
 +
[[File:ArduinoReinstallError.PNG]]
 +
 
 +
* Now the Explore-M3 board will appear in the board list.
 
[[File:BoardManager03.png ]]
 
[[File:BoardManager03.png ]]
  
Line 44: Line 59:
 
This setup has been tested on Ubuntu 64 bit. If you should have any errors other linux flavours, do post in the comments.
 
This setup has been tested on Ubuntu 64 bit. If you should have any errors other linux flavours, do post in the comments.
 
One good thing I noticed, drivers are not required but only the device needs to be enabled. So lets get started.
 
One good thing I noticed, drivers are not required but only the device needs to be enabled. So lets get started.
#UDEV Rules: To enable Explore M3 as USB DFU and COM port run the '''''install.sh''''' file from '''''/hardware/Explore-M3/tools/linux'''''
+
* Create a file named '''''install.sh''''' under  '''/.arduino15/packages/ExploreM3/hardware/Explore-M3/1.0.0/tools/linux$ '''
#Connect the board to USB port now, put it in bootloader mode. Hold down the USB Boot switch and press reset and release the reset switch and than release the USB Boot Switch.  
+
with the following content
===Notes===
+
<syntaxhighlight>
 +
#!/bin/sh
 +
 
 +
if sudo [ -w /etc/udev/rules.d ]; then
 +
    echo "Copying Explore M3-specific udev rules..."
 +
    sudo cp -v 90-explore-m3.rules /etc/udev/rules.d/90-explore-m3.rules
 +
    sudo chown root:root /etc/udev/rules.d/90-explore-m3.rules
 +
    sudo chmod 644 /etc/udev/rules.d/90-explore-m3.rules
 +
    sudo chmod 777 exploreM3_upload
 +
    sudo chmod 777 upload_reset
 +
    sudo chmod 777 dfu
 +
    echo "Reloading udev rules"
 +
    sudo udevadm control --reload-rules
 +
    echo "Adding current user to dialout group"
 +
    sudo adduser $USER dialout
 +
else
 +
    echo "Couldn't copy to /etc/udev/rules.d/; you probably have to run this script as root? Or your distribution of Linux doesn't include udev; try running the IDE itself as root."
 +
fi
 +
 
 +
</syntaxhighlight>
 +
* Run ''./install.h'' (change the file permission if required).  
 +
[[File:1_run_install.png]]
 +
 
 +
====Notes====
 
*Give appropriate permissions when running the install.sh and other files.
 
*Give appropriate permissions when running the install.sh and other files.
 
*You may be required to give permissions to use virtual com port.
 
*You may be required to give permissions to use virtual com port.
Line 52: Line 90:
  
 
==MAC==
 
==MAC==
[If you're a beta tester with access to MAC please get in touch, need your help to test it on MAC]
+
This setup has been tested on macOS High Sierra.
 +
Run the following commands in terminal and provide password whenever prompted for.
 +
 
 +
<html>
 +
<script src="https://gist.github.com/AmrutaCh/7bbc306937fadc9c2bde9478294b834f.js"></script>
 +
</html>
 +
 
 +
This will install libusb and set required file permissions.
 +
 
 +
[[File:libusbInstallation_OSX.png]]
  
 
=Running First Example on M3=
 
=Running First Example on M3=
 
After setting up the board and indtalling the drivers it's time to run the first example on Explore-M3 board.
 
After setting up the board and indtalling the drivers it's time to run the first example on Explore-M3 board.
#Select the board as Explore M3, and upload the the test code [[File:Upload.png]]
+
#Select the board as Explore M3, and upload the the test code [[File:ExploreM3 example1.png]]  
 
#Test code for reference
 
#Test code for reference
<syntaxhighlight>
+
<html>
void setup() {
+
<script src="https://gist.github.com/SaheblalBagwan/f3253fdad505d4d72c6d01a6bad2305d.js"></script>
  // put your setup code here, to run once:
+
</html>
Serial.begin(9600);
+
pinMode(13,OUTPUT);
+
}
+
  
void loop() {
+
=Repository Link=
  // put your main code here, to run repeatedly:
+
[https://github.com/ExploreEmbedded/Explore-M3 Explore-M3 Repository Link] <br><br>
digitalWrite(13,0);
+
 
rgbWriteAll(1,1,0);
+
Have a opinion, suggestion , question or feedback about the article let it out here!
delay(200);
+
{{DISQUS}}
rgbWriteAll(1,0,1);
+
delay(200);
+
rgbWriteAll(0,1,1);
+
delay(200);
+
digitalWrite(13,1);
+
delay(200);
+
Serial.println("Explore M3");
+
}
+
</syntaxhighlight>
+

Latest revision as of 13:57, 4 November 2017

In this tutorial we will look at the basic setups of setting up the ExploreM3 on Arduino and installing DFU and Vcom drivers on Windows, Linux and MAC. Finally we will flash a simple led-blink example. 0 Arduino setup.jpg

The Explore M3 Parts

The figure shows location of various parts on the board, which will be using during the setup. Look at the switches, the RGB led and the led on pin 13 in particular.

0 Explore M3 HW Marking.png

Using Board Manager

(This Step is common for all operating systems)

  • Download and install the Arduino IDE (1.6.12 ). Older versions of the Arduino IDE are not supported.
  • Open the Arduino IDE and go to File-->Preferences and paste the below json URL into the Additional Board Manager URLs text box and hit OK.


https://raw.githubusercontent.com/ExploreEmbedded/Explore-M3/master/package_ExploreM3_index.json

FilePreferences02.png

  • Open the Board Manager from Tools-->Board-->Boards Manager. Scroll down and look for Explore-M3(32-bits ARM Cortex-M3) board. Click on the board entry and hit install.

BoardManager01.png

  • This will install the Explore-M3 board and the arm-none-eabi-gcc tool chain. Installation may take few minutes depending on the internet speed. Once the installation has completed, an Arduino-blue INSTALLED will appear next to the entry.

BoardManager02.png

  • If you encounter CRC mismatch Error, delete Explore M3 Arduino installation files from below mentioned paths and retry installation.
    • Windows:
      • \AppData\Local\Arduino15\staging\packages
      • \AppData\Local\Arduino15\packages
    • Mac
      • ~/Library/Arduino15/staging/packages
      • ~/Library/Arduino15/packages

ArduinoReinstallError.PNG

  • Now the Explore-M3 board will appear in the board list.

BoardManager03.png

Driver installation

Windows

  1. Install Virtual COM driver ; This driver makes the same USB interface appear as virtual com port. The virtual COM code on the Arduino resides with every sketch that uses the Serial Class.
    1. Connect the board to system, the COM port will appear as shown. 8 driver M3.png
    2. Go to run window (Windows+R), type %appdata% and click ok.
    3. Go to AppData\Local\Arduino15\packages\ExploreM3\hardware\Explore-M3\1.0.0\tools\win and run the Zadig utility.2a driver M3.png
    4. Install the CDC driver using the Zidag utility this time. 9 driver M3.png 10 driver M3.png
    5. Verify successful installation in the device manager. 11 driver M3.png


  1. Installing the Device Firmware Upgrade(DFU) Driver. This driver is used for programming the Explore M3.
    1. To upload a new program to Explore M3, put the board in programming mode by holding down the USB Boot switch, press and release the reset switch and then release the USB Boot switch. The RGB LED turns green indicating USB Boot mode.
    2. The board shows up as unknown device in device manager.
      1a driver M3.png
    3. Click on Options and select List All Devices3 driver M3.png
    4. Select the device as Explore M3 and assign WinUSB driver as shown 3a1 driver M3.png
    5. Click on Install driver4 driver M3.png
    6. Verify in the device Manager that the driver is successfully installed. 5a driver M3.png

Linux

This setup has been tested on Ubuntu 64 bit. If you should have any errors other linux flavours, do post in the comments. One good thing I noticed, drivers are not required but only the device needs to be enabled. So lets get started.

  • Create a file named install.sh under /.arduino15/packages/ExploreM3/hardware/Explore-M3/1.0.0/tools/linux$

with the following content

#!/bin/sh
 
if sudo [ -w /etc/udev/rules.d ]; then
    echo "Copying Explore M3-specific udev rules..."
    sudo cp -v 90-explore-m3.rules /etc/udev/rules.d/90-explore-m3.rules
    sudo chown root:root /etc/udev/rules.d/90-explore-m3.rules
    sudo chmod 644 /etc/udev/rules.d/90-explore-m3.rules
    sudo chmod 777 exploreM3_upload
    sudo chmod 777 upload_reset
    sudo chmod 777 dfu	
    echo "Reloading udev rules"
    sudo udevadm control --reload-rules
    echo "Adding current user to dialout group"
    sudo adduser $USER dialout
else
    echo "Couldn't copy to /etc/udev/rules.d/; you probably have to run this script as root? Or your distribution of Linux doesn't include udev; try running the IDE itself as root."
fi
  • Run ./install.h (change the file permission if required).

1 run install.png

Notes

  • Give appropriate permissions when running the install.sh and other files.
  • You may be required to give permissions to use virtual com port.
  • Note that Explore M3 acts as Device Firmware Upgrade (DFU) and virtual COM port with the same USB interface.

MAC

This setup has been tested on macOS High Sierra. Run the following commands in terminal and provide password whenever prompted for.

This will install libusb and set required file permissions.

LibusbInstallation OSX.png

Running First Example on M3

After setting up the board and indtalling the drivers it's time to run the first example on Explore-M3 board.

  1. Select the board as Explore M3, and upload the the test code ExploreM3 example1.png
  2. Test code for reference

Repository Link

Explore-M3 Repository Link

Have a opinion, suggestion , question or feedback about the article let it out here!