diff --git a/content/software/app-labs/software-icon.png b/content/software/app-labs/software-icon.png new file mode 100644 index 0000000000..2751eb05d7 Binary files /dev/null and b/content/software/app-labs/software-icon.png differ diff --git a/content/software/app-labs/software.md b/content/software/app-labs/software.md new file mode 100644 index 0000000000..edfd89996a --- /dev/null +++ b/content/software/app-labs/software.md @@ -0,0 +1,6 @@ +--- +title: Arduino App Lab +icon: IconBrackets +--- + +Focus on your project with integrated pre-trained AI models and seamless MPE and MCU development \ No newline at end of file diff --git a/content/software/app-labs/tutorials/Environment/Environment.md b/content/software/app-labs/tutorials/Environment/Environment.md new file mode 100644 index 0000000000..c258e50d57 --- /dev/null +++ b/content/software/app-labs/tutorials/Environment/Environment.md @@ -0,0 +1,304 @@ +--- +author: 'Arduino' +description: 'Everything you need to know about the Arduino IDE 1, the classic offline editor.' +title: 'Overview of the Arduino IDE 1' +tags: [Software] +--- + +The Arduino Integrated Development Environment - or Arduino Software (IDE) - contains a text editor for writing code, a message area, a text console, a toolbar with buttons for common functions and a series of menus. It connects to the Arduino hardware to upload programs and communicate with them. + +![](assets/AEK-CH2-SC2.1-ARDUINO-IDE.png) + +## Writing Sketches + +Programs written using Arduino Software (IDE) are called **sketches**. These sketches are written in the text editor and are saved with the file extension .ino. The editor has features for cutting/pasting and for searching/replacing text. The message area gives feedback while saving and exporting and also displays errors. The console displays text output by the Arduino Software (IDE), including complete error messages and other information. The bottom righthand corner of the window displays the configured board and serial port. The toolbar buttons allow you to verify and upload programs, create, open, and save sketches, and open the serial monitor. + +**NB: Versions of the Arduino Software (IDE) prior to 1.0 saved sketches with the extension .pde. It is possible to open these files with version 1.0, you will be prompted to save the sketch with the .ino extension on save.** + +![Verify button.](assets/IDE_VERIFY_File.jpg) + +_Verify_ +Checks your code for errors compiling it. + +![Upload button.](assets/IDE_UPLOAD_File.jpg) + +_Upload_ +Compiles your code and uploads it to the configured board. See [uploading](#uploading) below for details. + +Note: If you are using an external programmer with your board, you can hold down the "shift" key on your computer when using this icon. The text will change to "Upload using Programmer" + +![New file.](assets/IDE_NEW_File.jpg) + +_New_ +Creates a new sketch. + +![Open file.](assets/IDE_OPEN_File.jpg) + +_Open_ +Presents a menu of all the sketches in your sketchbook. Clicking one will open it within the current window overwriting its content. + +Note: due to a bug in Java, this menu doesn't scroll; if you need to open a sketch late in the list, use the **File | Sketchbook** menu instead. + +![Save file.](assets/IDE_SAVE_File.jpg) + +_Save_ +Saves your sketch. + +![Serial Monitor button.](assets/IDE_SERMON_File.jpg) + +_Serial Monitor_ +Opens the [serial monitor](#serial-monitor). + +Additional commands are found within the five menus: **File**, **Edit**, **Sketch**, **Tools**, **Help**. The menus are context sensitive, which means only those items relevant to the work currently being carried out are available. + +## File + +- _New_ + Creates a new instance of the editor, with the bare minimum structure of a sketch already in place. + +- _Open_ + Allows to load a sketch file browsing through the computer drives and folders. + +- _Open Recent_ + Provides a short list of the most recent sketches, ready to be opened. + +- _Sketchbook_ + Shows the current sketches within the sketchbook folder structure; clicking on any name opens the corresponding sketch in a new editor instance. + +- _Examples_ + Any example provided by the Arduino Software (IDE) or library shows up in this menu item. All the examples are structured in a tree that allows easy access by topic or library. + +- _Close_ + Closes the instance of the Arduino Software from which it is clicked. + +- _Save_ + Saves the sketch with the current name. If the file hasn't been named before, a name will be provided in a "Save as.." window. + +- _Save as..._ + Allows to save the current sketch with a different name. + +- _Page Setup_ + It shows the Page Setup window for printing. + +- _Print_ + Sends the current sketch to the printer according to the settings defined in Page Setup. + +- _Preferences_ + Opens the Preferences window where some settings of the IDE may be customized, as the language of the IDE interface. + +- _Quit_ + Closes all IDE windows. The same sketches open when Quit was chosen will be automatically reopened the next time you start the IDE. + +## Edit + +- _Undo/Redo_ + Goes back of one or more steps you did while editing; when you go back, you may go forward with Redo. + +- _Cut_ + Removes the selected text from the editor and places it into the clipboard. + +- _Copy_ + Duplicates the selected text in the editor and places it into the clipboard. + +- _Copy for Forum_ + Copies the code of your sketch to the clipboard in a form suitable for posting to the forum, complete with syntax coloring. + +- _Copy as HTML_ + Copies the code of your sketch to the clipboard as HTML, suitable for embedding in web pages. + +- _Paste_ + Puts the contents of the clipboard at the cursor position, in the editor. + +- _Select All_ + Selects and highlights the whole content of the editor. + +- _Comment/Uncomment_ + Puts or removes the // comment marker at the beginning of each selected line. + +- _Increase/Decrease Indent_ + Adds or subtracts a space at the beginning of each selected line, moving the text one space on the right or eliminating a space at the beginning. + +- _Find_ + Opens the Find and Replace window where you can specify text to search inside the current sketch according to several options. + +- _Find Next_ + Highlights the next occurrence - if any - of the string specified as the search item in the Find window, relative to the cursor position. + +- _Find Previous_ + Highlights the previous occurrence - if any - of the string specified as the search item in the Find window relative to the cursor position. + +## Sketch + +- _Verify/Compile_ + Checks your sketch for errors compiling it; it will report memory usage for code and variables in the console area. + +- _Upload_ + Compiles and loads the binary file onto the configured board through the configured Port. + +- _Upload Using Programmer_ + This will overwrite the bootloader on the board; you will need to use Tools > Burn Bootloader to restore it and be able to Upload to USB serial port again. However, it allows you to use the full capacity of the Flash memory for your sketch. Please note that this command will NOT burn the fuses. To do so a _Tools -> Burn Bootloader_ command must be executed. + +- _Export Compiled Binary_ + Saves a .hex file that may be kept as archive or sent to the board using other tools. + +- _Show Sketch Folder_ + Opens the current sketch folder. + +- _Include Library_ + Adds a library to your sketch by inserting #include statements at the start of your code. For more details, see [libraries](#libraries) below. Additionally, from this menu item you can access the Library Manager and import new libraries from .zip files. + +- _Add File..._ + Adds a supplemental file to the sketch (it will be copied from its current location). The file is saved to the `data` subfolder of the sketch, which is intended for assets such as documentation. The contents of the `data` folder are not compiled, so they do not become part of the sketch program. + +## Tools + +- _Auto Format_ + This formats your code nicely: i.e. indents it so that opening and closing curly braces line up, and that the statements inside curly braces are indented more. + +- _Archive Sketch_ + Archives a copy of the current sketch in .zip format. The archive is placed in the same directory as the sketch. + +- _Fix Encoding & Reload_ + Fixes possible discrepancies between the editor char map encoding and other operating systems char maps. + +- _Serial Monitor_ + Opens the serial monitor window and initiates the exchange of data with any connected board on the currently selected Port. This usually resets the board, if the board supports Reset over serial port opening. + +- _Board_ + Select the board that you're using. See below for [descriptions of the various boards](#boards). + +- _Port_ + This menu contains all the serial devices (real or virtual) on your machine. It should automatically refresh every time you open the top-level tools menu. + +- _Programmer_ + For selecting a hardware programmer when programming a board or chip and not using the onboard USB-serial connection. Normally you won't need this, but if you're [burning a bootloader](https://www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoISP) to a new microcontroller, you will use this. + +- _Burn Bootloader_ + The items in this menu allow you to burn a [bootloader](/hacking/software/Bootloader) onto the microcontroller on an Arduino board. This is not required for normal use of an Arduino board but is useful if you purchase a new ATmega microcontroller (which normally come without a bootloader). Ensure that you've selected the correct board from the **Boards** menu before burning the bootloader on the target board. This command also set the right fuses. + +## Help + +Here you find easy access to a number of documents that come with the Arduino Software (IDE). You have access to Getting Started, Reference, this guide to the IDE and other documents locally, without an internet connection. The documents are a local copy of the online ones and may link back to our online website. + +- _Find in Reference_ + This is the only interactive function of the Help menu: it directly selects the relevant page in the local copy of the Reference for the function or command under the cursor. + +## Sketchbook + +The Arduino Software (IDE) uses the concept of a sketchbook: a standard place to store your programs (or sketches). The sketches in your sketchbook can be opened from the **File > Sketchbook** menu or from the **Open** button on the toolbar. The first time you run the Arduino software, it will automatically create a directory for your sketchbook. You can view or change the location of the sketchbook location from with the **Preferences** dialog. + +**Beginning with version 1.0, files are saved with a .ino file extension. Previous versions use the .pde extension. You may still open .pde named files in version 1.0 and later, the software will automatically rename the extension to .ino**. + +## Tabs, Multiple Files, and Compilation + +Allows you to manage sketches with more than one file (each of which appears in its own tab). These can be normal Arduino code files (no visible extension), C files (.c extension), C++ files (.cpp), or header files (.h). + +Before compiling the sketch, all the normal Arduino code files of the sketch (.ino, .pde) are concatenated into a single file following the order the tabs are shown in. The other file types are left as is. + +## Uploading + +Before uploading your sketch, you need to select the correct items from the **Tools > Board** and **Tools > Port** menus. The [boards](#boards) are described below. On the Mac, the serial port is probably something like **/dev/tty.usbmodem241** (for an Uno or Mega2560 or Leonardo) or **/dev/tty.usbserial-1B1** (for a Duemilanove or earlier USB board), or **/dev/tty.USA19QW1b1P1.1** (for a serial board connected with a Keyspan USB-to-Serial adapter). On Windows, it's probably **COM1** or **COM2** (for a serial board) or **COM4**, **COM5**, **COM7**, or higher (for a USB board) - to find out, you look for USB serial device in the ports section of the Windows Device Manager. On Linux, it should be **/dev/ttyACMx **, **/dev/ttyUSBx** or similar. +Once you've selected the correct serial port and board, press the upload button in the toolbar or select the **Upload** item from the **Sketch** menu. Current Arduino boards will reset automatically and begin the upload. With older boards (pre-Diecimila) that lack auto-reset, you'll need to press the reset button on the board just before starting the upload. On most boards, you'll see the RX and TX LEDs blink as the sketch is uploaded. The Arduino Software (IDE) will display a message when the upload is complete, or show an error. + +When you upload a sketch, you're using the Arduino **bootloader**, a small program that has been loaded on to the microcontroller on your board. It allows you to upload code without using any additional hardware. The bootloader is active for a few seconds when the board resets; then it starts whichever sketch was most recently uploaded to the microcontroller. The bootloader will blink the on-board (pin 13) LED when it starts (i.e. when the board resets). + +## Libraries + +Libraries provide extra functionality for use in sketches, e.g. working with hardware or manipulating data. To use a library in a sketch, select it from the **Sketch > Import Library** menu. This will insert one or more **#include** statements at the top of the sketch and compile the library with your sketch. Because libraries are uploaded to the board with your sketch, they increase the amount of space it takes up. If a sketch no longer needs a library, simply delete its **#include** statements from the top of your code. + +There is a [list of libraries](https://www.arduino.cc/reference/en/libraries) in the reference. Some libraries are included with the Arduino software. Others can be downloaded from a variety of sources or through the Library Manager. Starting with version 1.0.5 of the IDE, you do can import a library from a zip file and use it in an open sketch. See these [instructions for installing a third-party library](/learn/starting-guide/software-libraries). + +To write your own library, see [this tutorial](/learn/contributions/arduino-creating-library-guide). + +## Third-Party Hardware + +Support for third-party hardware can be added to the **hardware** directory of your sketchbook directory. Platforms installed there may include board definitions (which appear in the board menu), core libraries, bootloaders, and programmer definitions. To install, create the **hardware** directory, then unzip the third-party platform into its own sub-directory. (Don't use "arduino" as the sub-directory name or you'll override the built-in Arduino platform.) To uninstall, simply delete its directory. + +For details on creating packages for third-party hardware, see the [Arduino Platform specification](https://arduino.github.io/arduino-cli/latest/platform-specification/). + +## Serial Monitor + +This displays serial sent from the Arduino board over USB or serial connector. To send data to the board, enter text and click on the "send" button or press enter. Choose the baud rate from the drop-down menu that matches the rate passed to **Serial.begin** in your sketch. Note that on Windows, Mac or Linux the board will reset (it will rerun your sketch) when you connect with the serial monitor. Please note that the Serial Monitor does not process control characters; if your sketch needs a complete management of the serial communication with control characters, you can use an external terminal program and connect it to the COM port assigned to your Arduino board. + +## Preferences + +Some preferences can be set in the preferences dialog (found under the **Arduino** menu on the Mac, or **File** on Windows and Linux). The rest can be found in the preferences file, whose location is shown in the preference dialog. + +## Language Support + +![Language preferences.](assets/languagePreferences.png) + +Since version 1.0.1 , the Arduino Software (IDE) has been translated into 30+ different languages. By default, the IDE loads in the language selected by your operating system. (Note: on Windows and possibly Linux, this is determined by the locale setting which controls currency and date formats, not by the language the operating system is displayed in.) + +If you would like to change the language manually, start the Arduino Software (IDE) and open the **Preferences** window. Next to the **Editor Language** there is a dropdown menu of currently supported languages. Select your preferred language from the menu, and restart the software to use the selected language. If your operating system language is not supported, the Arduino Software (IDE) will default to English. + +You can return the software to its default setting of selecting its language based on your operating system by selecting **System Default** from the **Editor Language** drop-down. This setting will take effect when you restart the Arduino Software (IDE). Similarly, after changing your operating system's settings, you must restart the Arduino Software (IDE) to update it to the new default language. + +## Boards + +The board selection has two effects: it sets the parameters (e.g. CPU speed and baud rate) used when compiling and uploading sketches; and sets and the file and fuse settings used by the burn bootloader command. Some of the board definitions differ only in the latter, so even if you've been uploading successfully with a particular selection you'll want to check it before burning the bootloader. + +Arduino Software (IDE) includes the built in support for the boards in the following list, all based on the AVR Core. The [Boards Manager](/learn/starting-guide/cores) included in the standard installation allows to add support for the growing number of new boards based on different cores like Arduino Due, Arduino Zero, Edison, Galileo and so on. + +- _Arduino Yún_ + An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7 PWM. + +- _Arduino Uno_ + An ATmega328P running at 16 MHz with auto-reset, 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino Diecimila or Duemilanove w/ ATmega168_ + An ATmega168 running at 16 MHz with auto-reset. + +- _Arduino Nano w/ ATmega328P_ + An ATmega328P running at 16 MHz with auto-reset. Has eight analog inputs. + +- _Arduino Mega 2560_ + An ATmega2560 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15 PWM. + +- _Arduino Mega_ + An ATmega1280 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15 PWM. + +- _Arduino Mega ADK_ + An ATmega2560 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15 PWM. + +- _Arduino Leonardo_ + An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7 PWM. + +- _Arduino Micro_ + An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7 PWM. + +- _Arduino Esplora_ + An ATmega32u4 running at 16 MHz with auto-reset. + +- _Arduino Mini w/ ATmega328P_ + An ATmega328P running at 16 MHz with auto-reset, 8 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino Ethernet_ + Equivalent to Arduino UNO with an Ethernet shield: An ATmega328P running at 16 MHz with auto-reset, 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino Fio_ + An ATmega328P running at 8 MHz with auto-reset. Equivalent to Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328P, 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino BT w/ ATmega328P_ + ATmega328P running at 16 MHz. The bootloader burned (4 KB) includes codes to initialize the on-board Bluetooth® module, 6 Analog In, 14 Digital I/O and 6 PWM.. + +- _LilyPad Arduino USB_ + An ATmega32u4 running at 8 MHz with auto-reset, 4 Analog In, 9 Digital I/O and 4 PWM. + +- _LilyPad Arduino_ + An ATmega168 or ATmega132 running at 8 MHz with auto-reset, 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328P_ + An ATmega328P running at 16 MHz with auto-reset. Equivalent to Arduino Duemilanove or Nano w/ ATmega328P; 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino NG or older w/ ATmega168_ + An ATmega168 running at 16 MHz*without* auto-reset. Compilation and upload is equivalent to Arduino Diecimila or Duemilanove w/ ATmega168, but the bootloader burned has a slower timeout (and blinks the pin 13 LED three times on reset); 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino Robot Control_ + An ATmega328P running at 16 MHz with auto-reset. + +- _Arduino Robot Motor_ + An ATmega328P running at 16 MHz with auto-reset. + +- _Arduino Gemma_ + An ATtiny85 running at 8 MHz with auto-reset, 1 Analog In, 3 Digital I/O and 2 PWM. diff --git a/content/software/app-labs/tutorials/Environment/assets/AEK-CH2-SC2.1-ARDUINO-IDE.png b/content/software/app-labs/tutorials/Environment/assets/AEK-CH2-SC2.1-ARDUINO-IDE.png new file mode 100644 index 0000000000..4fe8236cac Binary files /dev/null and b/content/software/app-labs/tutorials/Environment/assets/AEK-CH2-SC2.1-ARDUINO-IDE.png differ diff --git a/content/software/app-labs/tutorials/Environment/assets/IDE_NEW_File.jpg b/content/software/app-labs/tutorials/Environment/assets/IDE_NEW_File.jpg new file mode 100644 index 0000000000..d0977b1d92 Binary files /dev/null and b/content/software/app-labs/tutorials/Environment/assets/IDE_NEW_File.jpg differ diff --git a/content/software/app-labs/tutorials/Environment/assets/IDE_OPEN_File.jpg b/content/software/app-labs/tutorials/Environment/assets/IDE_OPEN_File.jpg new file mode 100644 index 0000000000..a148059845 Binary files /dev/null and b/content/software/app-labs/tutorials/Environment/assets/IDE_OPEN_File.jpg differ diff --git a/content/software/app-labs/tutorials/Environment/assets/IDE_SAVE_File.jpg b/content/software/app-labs/tutorials/Environment/assets/IDE_SAVE_File.jpg new file mode 100644 index 0000000000..e1785fbf1d Binary files /dev/null and b/content/software/app-labs/tutorials/Environment/assets/IDE_SAVE_File.jpg differ diff --git a/content/software/app-labs/tutorials/Environment/assets/IDE_SERMON_File.jpg b/content/software/app-labs/tutorials/Environment/assets/IDE_SERMON_File.jpg new file mode 100644 index 0000000000..42ed2be7bf Binary files /dev/null and b/content/software/app-labs/tutorials/Environment/assets/IDE_SERMON_File.jpg differ diff --git a/content/software/app-labs/tutorials/Environment/assets/IDE_UPLOAD_File.jpg b/content/software/app-labs/tutorials/Environment/assets/IDE_UPLOAD_File.jpg new file mode 100644 index 0000000000..64ba549fa7 Binary files /dev/null and b/content/software/app-labs/tutorials/Environment/assets/IDE_UPLOAD_File.jpg differ diff --git a/content/software/app-labs/tutorials/Environment/assets/IDE_VERIFY_File.jpg b/content/software/app-labs/tutorials/Environment/assets/IDE_VERIFY_File.jpg new file mode 100644 index 0000000000..9b8b0acab2 Binary files /dev/null and b/content/software/app-labs/tutorials/Environment/assets/IDE_VERIFY_File.jpg differ diff --git a/content/software/app-labs/tutorials/Environment/assets/languagePreferences.png b/content/software/app-labs/tutorials/Environment/assets/languagePreferences.png new file mode 100644 index 0000000000..abaea092e7 Binary files /dev/null and b/content/software/app-labs/tutorials/Environment/assets/languagePreferences.png differ diff --git a/content/software/app-labs/tutorials/Linux/Linux.md b/content/software/app-labs/tutorials/Linux/Linux.md new file mode 100644 index 0000000000..f661d246bb --- /dev/null +++ b/content/software/app-labs/tutorials/Linux/Linux.md @@ -0,0 +1,70 @@ +--- +author: 'Arduino' +description: 'Install the Arduino Software (IDE) on Linux' +title: 'Arduino IDE 1 Installation (Linux)' +tags: [Installation, Linux] +--- + +This document explains how to install the Arduino Software (IDE) on Linux machines. + +## Quick Start + +The Linux build of the Arduino Software (IDE) comes in different packages depending on your system architecture. There are no specific instructions needed for the different distributions of Linux (e.g. Ubuntu). + +### Download the Arduino Software (IDE) + +Get the latest version from the [download page](https://www.arduino.cc/en/Main/Software). You can choose between the 32, 64 and ARM versions. It is very important that you choose the right version for your Linux distro. Clicking on the chosen version brings you to the donation page and then you can either open or save the file. Please save it on your computer. + +![Save the file.](assets/Linux_Download.jpg) + +### Extract the package + +The file is compressed and you have to extract it in a suitable folder, remembering that it will be executed from there. + +![Extracting the package.](assets/Linux_Extract.jpg) + +### Run the Install Script + +Open the **arduino-1.x.x** folder just created by the extraction process and spot the **install.sh** file. Right click on it and choose **Run in Terminal** from the contextual menu. The installation process will quickly end and you should find a new icon on your desktop. + +If you don't find the option to run the script from the contextual menu, you have to open a Terminal window and move into the **arduino-1.x.x** root directory and run the following command: + +``` +sudo sh install.sh +``` +***This method only works for versions greater or equal than 1.6.5. Remove `sudo` keyword if already running the terminal with administrative rights.*** + + +You should find a new icon on your desktop. + +![Running the installation script.](assets/Linux_Install_2.jpg) + +## Please Read + +It might happen that when you upload a sketch - after you have selected your board and the serial port -, you get an error _Error opening serial port ..._ +If you get this error, you need to set serial port permission. + +Open Terminal and type: + +`ls -l /dev/ttyACM*` + +you will get something like: + +`crw-rw---- 1 root dialout 188, 0 5 apr 23.01 ttyACM0` + +The "0" at the end of ACM might be a different number, or multiple entries might be returned. The data we need is "dialout" (is the group owner of the file). + +Now we just need to add our user to the group: + +`sudo usermod -a -G dialout ` + +where `` is your Linux user name. **You will need to log out and log in again for this change to take effect.** + +![Adding user to the group.](assets/Ubuntu_Serial.jpg) + +This is the procedure to access the serial port from the Arduino Software (IDE) if you get an error + +After this procedure, you should be able to proceed normally and upload the sketch to your board or use the Serial Monitor. + +The text of the Arduino getting started guide is licensed under a +[Creative Commons Attribution-ShareAlike 3.0 License](http://creativecommons.org/licenses/by-sa/3.0/). Code samples in the guide are released into the public domain. diff --git a/content/software/app-labs/tutorials/Linux/assets/Linux_Download.jpg b/content/software/app-labs/tutorials/Linux/assets/Linux_Download.jpg new file mode 100644 index 0000000000..e735a093ac Binary files /dev/null and b/content/software/app-labs/tutorials/Linux/assets/Linux_Download.jpg differ diff --git a/content/software/app-labs/tutorials/Linux/assets/Linux_Extract.jpg b/content/software/app-labs/tutorials/Linux/assets/Linux_Extract.jpg new file mode 100644 index 0000000000..0ef378f2fb Binary files /dev/null and b/content/software/app-labs/tutorials/Linux/assets/Linux_Extract.jpg differ diff --git a/content/software/app-labs/tutorials/Linux/assets/Linux_Install_2.jpg b/content/software/app-labs/tutorials/Linux/assets/Linux_Install_2.jpg new file mode 100644 index 0000000000..a970b80810 Binary files /dev/null and b/content/software/app-labs/tutorials/Linux/assets/Linux_Install_2.jpg differ diff --git a/content/software/app-labs/tutorials/Linux/assets/Ubuntu_Serial.jpg b/content/software/app-labs/tutorials/Linux/assets/Ubuntu_Serial.jpg new file mode 100644 index 0000000000..9e7f610084 Binary files /dev/null and b/content/software/app-labs/tutorials/Linux/assets/Ubuntu_Serial.jpg differ diff --git a/content/software/app-labs/tutorials/PortableIDE/PortableIDE.md b/content/software/app-labs/tutorials/PortableIDE/PortableIDE.md new file mode 100644 index 0000000000..c184143f2e --- /dev/null +++ b/content/software/app-labs/tutorials/PortableIDE/PortableIDE.md @@ -0,0 +1,46 @@ +--- +author: 'Arduino' +description: 'How to create and use a portable version of the Arduino Software (IDE)' +title: 'Arduino IDE 1 Portable Installation' +tags: [Software, Portable] +--- + +This document explains how to make a portable installation of the Arduino Software (IDE) on Windows and Linux machines. A portable installation contains all the files and directories necessary to get the Arduino Software (IDE) to work on a computer without affecting its files outside the folder designated for the portable installation. + +## Why Portable? + +Almost in all the schools students don't have administrator privileges, so they don't have write access in some folders. This leads to some problem in using the Arduino Software (IDE) since your preferences and sketchbook are saved in one of those folders. Using a portable version of the IDE you can overcome this problem. + +Another scenario can be the following: you want to organize a workshop and you need some additional [library](/learn/starting-guide/software-libraries) or a specific [core](/learn/starting-guide/cores). Since the portable version stores the sketchbook, the libraries and the hardware folder locally, you can have a starting point equal for all the people who join the workshop just replicating the same folder on all the machines. This is also quite useful if for some reason you don't have an internet connection and want to prepare everything for your project without downloads and delays. + +Furthermore, a portable installation could be on a pendrive, allowing you to carry around your personal set of sketches, cores and libraries, to be used on any computer without affecting it with your files. + +## Windows & Linux + +The procedure is made of a few simple steps. You may use a pendrive or a local folder on your machine. Once done, with libraries and additional cores where needed, that folder can be copied on other machines. + +- [Download](https://www.arduino.cc/en/Main/Software) a compressed version of the Arduino IDE according to your OS; + +- Once download has been completed, extract the archive content on the chosen unit (local or pendrive); + +- Open the extracted folder and in its root create a new directory called **_portable_**, alongside the others; + +![Portable Tree](assets/Portable_Tree.png) + +The tree structure should be as this one; the **portable** folder will be populated by the Arduino Software (IDE) as needed by libraries, sketches and cores. + +To use this installation, launch the Arduino executable; + +From now on all the sketches, libraries and additional cores will be installed in the **_portable_** folder. You can copy the whole main folder and bring it with you anywhere you want: it will retain all your preferences, libraries, cores and sketches. + +## MacOS Note + +The portable installation is not officially supported on Apple's Mac operating systems for several reasons. One of them is related to the package signature (we sign the Arduino IDE package): adding any content - like additional cores, libs and sketches - to the package will break the signature. A consequence of that is the reaction of the Gatekeeper that could even stop the app from starting. This is related to the OS and not to our IDE. Anyway, if you want to experiment you can check [this forum thread](http://forum.arduino.cc/index.php?topic=539551.msg3678998#msg3678998) and try by yourself the solutions developed by the community. + +## Updating Portable Installation + +If you want to update a portable installation to a newer version, download the new version in compressed format, then extract the contents in a temporary folder. Now you may either move the "portable" folder you have from the old installation into the new one, or copy all the files of the new version onto the old one, overwriting all the files. Either way you should end up with the updated portable Arduino Software (IDE) installation with your cores, libraries and sketches preserved. Remember to rename the root folder with the proper release version, if needed. +You should always launch the executable file "Arduino" from inside the folder of your portable installation to use the sketches, cores and libraries contained in it. If you have another installation of the Arduino Software (IDE) on the machine you are using, that version won't be affected. Libraries and cores already installed on the machine won't be seen or used by the portable installation. + +The text of the Arduino getting started guide is licensed under a +[Creative Commons Attribution-ShareAlike 3.0 License](http://creativecommons.org/licenses/by-sa/3.0/). Code samples in the guide are released into the public domain. diff --git a/content/software/app-labs/tutorials/PortableIDE/assets/Portable_Tree.png b/content/software/app-labs/tutorials/PortableIDE/assets/Portable_Tree.png new file mode 100644 index 0000000000..3719d028d6 Binary files /dev/null and b/content/software/app-labs/tutorials/PortableIDE/assets/Portable_Tree.png differ diff --git a/content/software/app-labs/tutorials/Windows/Windows.md b/content/software/app-labs/tutorials/Windows/Windows.md new file mode 100644 index 0000000000..db731680ba --- /dev/null +++ b/content/software/app-labs/tutorials/Windows/Windows.md @@ -0,0 +1,27 @@ +--- +author: 'Arduino' +description: 'Install the Arduino Software (IDE) on Windows' +title: 'Arduino IDE 1 Installation (Windows)' +tags: [Installation, Windows] +--- + +This document explains how to install the Arduino Software (IDE) on Windows machines. + +## Download the Arduino Software (IDE) + +Get the latest version from the [download page](https://www.arduino.cc/en/Main/Software). You can choose between the Installer (.exe) and the Zip packages. We suggest you use the first one that installs directly everything you need to use the Arduino Software (IDE), including the drivers. With the Zip package you need to install the drivers manually. The Zip file is also useful if you want to create a [portable installation](https://arduino.cc/en/Guide/PortableIDE). + +When the download finishes, proceed with the installation and please allow the driver installation process when you get a warning from the operating system. + +![Choose the components to install.](assets/DRV_Capture1.png) + + +![Choose the installation directory.](assets/DRV_Capture2.png) + + +![Installation in progress.](assets/DRV_Capture3.png) + +The process will extract and install all the required files to execute properly the Arduino Software (IDE) + +The text of the Arduino getting started guide is licensed under a +[Creative Commons Attribution-ShareAlike 3.0 License](http://creativecommons.org/licenses/by-sa/3.0/). Code samples in the guide are released into the public domain. diff --git a/content/software/app-labs/tutorials/Windows/assets/DRV_Capture1.png b/content/software/app-labs/tutorials/Windows/assets/DRV_Capture1.png new file mode 100644 index 0000000000..5140a215cc Binary files /dev/null and b/content/software/app-labs/tutorials/Windows/assets/DRV_Capture1.png differ diff --git a/content/software/app-labs/tutorials/Windows/assets/DRV_Capture2.png b/content/software/app-labs/tutorials/Windows/assets/DRV_Capture2.png new file mode 100644 index 0000000000..4af0f5a55e Binary files /dev/null and b/content/software/app-labs/tutorials/Windows/assets/DRV_Capture2.png differ diff --git a/content/software/app-labs/tutorials/Windows/assets/DRV_Capture3.png b/content/software/app-labs/tutorials/Windows/assets/DRV_Capture3.png new file mode 100644 index 0000000000..6ddd569833 Binary files /dev/null and b/content/software/app-labs/tutorials/Windows/assets/DRV_Capture3.png differ diff --git a/content/software/app-labs/tutorials/arduino-ide-v1-basics/arduino-ide-v1-basics.md b/content/software/app-labs/tutorials/arduino-ide-v1-basics/arduino-ide-v1-basics.md new file mode 100644 index 0000000000..731f25e281 --- /dev/null +++ b/content/software/app-labs/tutorials/arduino-ide-v1-basics/arduino-ide-v1-basics.md @@ -0,0 +1,306 @@ +--- +title: 'Arduino Integrated Development Environment (IDE) v1' +description: 'Learn how the Arduino IDE v1 works, such as compiling & uploading sketches, file management, installing dependencies and much more.' +tags: [IDE 1, Editor, Basics] +--- + + +The Arduino Integrated Development Environment - or Arduino Software (IDE) - contains a text editor for writing code, a message area, a text console, a toolbar with buttons for common functions and a series of menus. It connects to the Arduino hardware to upload programs and communicate with them. + +## Writing Sketches + +Programs written using Arduino Software (IDE) are called **sketches**. These sketches are written in the text editor and are saved with the file extension .ino. The editor has features for cutting/pasting and for searching/replacing text. The message area gives feedback while saving and exporting and also displays errors. The console displays text output by the Arduino Software (IDE), including complete error messages and other information. The bottom righthand corner of the window displays the configured board and serial port. The toolbar buttons allow you to verify and upload programs, create, open, and save sketches, and open the serial monitor. + +**NB: Versions of the Arduino Software (IDE) prior to 1.0 saved sketches with the extension .pde. It is possible to open these files with version 1.0, you will be prompted to save the sketch with the .ino extension on save.** + +![](assets/IDE_VERIFY_File.jpg) + +_Verify_ +Checks your code for errors compiling it. + +![](assets/IDE_UPLOAD_File.jpg) + +_Upload_ +Compiles your code and uploads it to the configured board. See [uploading](#uploading) below for details. + +Note: If you are using an external programmer with your board, you can hold down the "shift" key on your computer when using this icon. The text will change to "Upload using Programmer" + +![](assets/IDE_NEW_File.jpg) + +_New_ +Creates a new sketch. + +![](assets/IDE_OPEN_File.jpg) + +_Open_ +Presents a menu of all the sketches in your sketchbook. Clicking one will open it within the current window overwriting its content. + +Note: due to a bug in Java, this menu doesn't scroll; if you need to open a sketch late in the list, use the **File | Sketchbook** menu instead. + +![](assets/IDE_SAVE_File.jpg) + +_Save_ +Saves your sketch. + +![](assets/IDE_SERMON_File.jpg) + +_Serial Monitor_ +Opens the [serial monitor](#serial-monitor). + +Additional commands are found within the five menus: **File**, **Edit**, **Sketch**, **Tools**, **Help**. The menus are context sensitive, which means only those items relevant to the work currently being carried out are available. + +### File + +- _New_ + Creates a new instance of the editor, with the bare minimum structure of a sketch already in place. + +- _Open_ + Allows to load a sketch file browsing through the computer drives and folders. + +- _Open Recent_ + Provides a short list of the most recent sketches, ready to be opened. + +- _Sketchbook_ + Shows the current sketches within the sketchbook folder structure; clicking on any name opens the corresponding sketch in a new editor instance. + +- _Examples_ + Any example provided by the Arduino Software (IDE) or library shows up in this menu item. All the examples are structured in a tree that allows easy access by topic or library. + +- _Close_ + Closes the instance of the Arduino Software from which it is clicked. + +- _Save_ + Saves the sketch with the current name. If the file hasn't been named before, a name will be provided in a "Save as.." window. + +- _Save as..._ + Allows to save the current sketch with a different name. + +- _Page Setup_ + It shows the Page Setup window for printing. + +- _Print_ + Sends the current sketch to the printer according to the settings defined in Page Setup. + +- _Preferences_ + Opens the Preferences window where some settings of the IDE may be customized, as the language of the IDE interface. + +- _Quit_ + Closes all IDE windows. The same sketches open when Quit was chosen will be automatically reopened the next time you start the IDE. + +### Edit + +- _Undo/Redo_ + Goes back of one or more steps you did while editing; when you go back, you may go forward with Redo. + +- _Cut_ + Removes the selected text from the editor and places it into the clipboard. + +- _Copy_ + Duplicates the selected text in the editor and places it into the clipboard. + +- _Copy for Forum_ + Copies the code of your sketch to the clipboard in a form suitable for posting to the forum, complete with syntax coloring. + +- _Copy as HTML_ + Copies the code of your sketch to the clipboard as HTML, suitable for embedding in web pages. + +- _Paste_ + Puts the contents of the clipboard at the cursor position, in the editor. + +- _Select All_ + Selects and highlights the whole content of the editor. + +- _Comment/Uncomment_ + Puts or removes the // comment marker at the beginning of each selected line. + +- _Increase/Decrease Indent_ + Adds or subtracts a space at the beginning of each selected line, moving the text one space on the right or eliminating a space at the beginning. + +- _Find_ + Opens the Find and Replace window where you can specify text to search inside the current sketch according to several options. + +- _Find Next_ + Highlights the next occurrence - if any - of the string specified as the search item in the Find window, relative to the cursor position. + +- _Find Previous_ + Highlights the previous occurrence - if any - of the string specified as the search item in the Find window relative to the cursor position. + +### Sketch + +- _Verify/Compile_ + Checks your sketch for errors compiling it; it will report memory usage for code and variables in the console area. + +- _Upload_ + Compiles and loads the binary file onto the configured board through the configured Port. + +- _Upload Using Programmer_ + This will overwrite the bootloader on the board; you will need to use Tools > Burn Bootloader to restore it and be able to Upload to USB serial port again. However, it allows you to use the full capacity of the Flash memory for your sketch. Please note that this command will NOT burn the fuses. To do so a _Tools -> Burn Bootloader_ command must be executed. + +- _Export Compiled Binary_ + Saves a .hex file that may be kept as archive or sent to the board using other tools. + +- _Show Sketch Folder_ + Opens the current sketch folder. + +- _Include Library_ + Adds a library to your sketch by inserting #include statements at the start of your code. For more details, see [libraries](#libraries) below. Additionally, from this menu item you can access the Library Manager and import new libraries from .zip files. + +- _Add File..._ + Adds a supplemental file to the sketch (it will be copied from its current location). The file is saved to the `data` subfolder of the sketch, which is intended for assets such as documentation. The contents of the `data` folder are not compiled, so they do not become part of the sketch program. + +### Tools + +- _Auto Format_ + This formats your code nicely: i.e. indents it so that opening and closing curly braces line up, and that the statements inside curly braces are indented more. + +- _Archive Sketch_ + Archives a copy of the current sketch in .zip format. The archive is placed in the same directory as the sketch. + +- _Fix Encoding & Reload_ + Fixes possible discrepancies between the editor char map encoding and other operating systems char maps. + +- _Serial Monitor_ + Opens the serial monitor window and initiates the exchange of data with any connected board on the currently selected Port. This usually resets the board, if the board supports Reset over serial port opening. + +- _Board_ + Select the board that you're using. See below for [descriptions of the various boards](#boards). + +- _Port_ + This menu contains all the serial devices (real or virtual) on your machine. It should automatically refresh every time you open the top-level tools menu. + +- _Programmer_ + For selecting a hardware programmer when programming a board or chip and not using the onboard USB-serial connection. Normally you won't need this, but if you're [burning a bootloader](/built-in-examples/arduino-isp/ArduinoISP) to a new microcontroller, you will use this. + +- _Burn Bootloader_ + The items in this menu allow you to burn a [bootloader](/hacking/software/Bootloader) onto the microcontroller on an Arduino board. This is not required for normal use of an Arduino board but is useful if you purchase a new ATmega microcontroller (which normally come without a bootloader). Ensure that you've selected the correct board from the **Boards** menu before burning the bootloader on the target board. This command also set the right fuses. + +### Help + +Here you find easy access to a number of documents that come with the Arduino Software (IDE). You have access to Getting Started, Reference, this guide to the IDE and other documents locally, without an internet connection. The documents are a local copy of the online ones and may link back to our online website. + +- _Find in Reference_ + This is the only interactive function of the Help menu: it directly selects the relevant page in the local copy of the Reference for the function or command under the cursor. + +## Sketchbook + +The Arduino Software (IDE) uses the concept of a sketchbook: a standard place to store your programs (or sketches). The sketches in your sketchbook can be opened from the **File > Sketchbook** menu or from the **Open** button on the toolbar. The first time you run the Arduino software, it will automatically create a directory for your sketchbook. You can view or change the location of the sketchbook location from with the **Preferences** dialog. + +**Beginning with version 1.0, files are saved with a .ino file extension. Previous versions use the .pde extension. You may still open .pde named files in version 1.0 and later, the software will automatically rename the extension to .ino**. + +## Tabs, Multiple Files, and Compilation + +Allows you to manage sketches with more than one file (each of which appears in its own tab). These can be normal Arduino code files (no visible extension), C files (.c extension), C++ files (.cpp), or header files (.h). + +Before compiling the sketch, all the normal Arduino code files of the sketch (.ino, .pde) are concatenated into a single file following the order the tabs are shown in. The other file types are left as is. + +## Uploading + +Before uploading your sketch, you need to select the correct items from the **Tools > Board** and **Tools > Port** menus. The [boards](#boards) are described below. On the Mac, the serial port is probably something like **/dev/tty.usbmodem241** (for an UNO or Mega2560 or Leonardo) or **/dev/tty.usbserial-1B1** (for a Duemilanove or earlier USB board), or **/dev/tty.USA19QW1b1P1.1** (for a serial board connected with a Keyspan USB-to-Serial adapter). On Windows, it's probably **COM1** or **COM2** (for a serial board) or **COM4**, **COM5**, **COM7**, or higher (for a USB board) - to find out, you look for USB serial device in the ports section of the Windows Device Manager. On Linux, it should be **/dev/ttyACMx **, **/dev/ttyUSBx** or similar. +Once you've selected the correct serial port and board, press the upload button in the toolbar or select the **Upload** item from the **Sketch** menu. Current Arduino boards will reset automatically and begin the upload. With older boards (pre-Diecimila) that lack auto-reset, you'll need to press the reset button on the board just before starting the upload. On most boards, you'll see the RX and TX LEDs blink as the sketch is uploaded. The Arduino Software (IDE) will display a message when the upload is complete, or show an error. + +When you upload a sketch, you're using the Arduino **bootloader**, a small program that has been loaded on to the microcontroller on your board. It allows you to upload code without using any additional hardware. The bootloader is active for a few seconds when the board resets; then it starts whichever sketch was most recently uploaded to the microcontroller. The bootloader will blink the on-board (pin 13) LED when it starts (i.e. when the board resets). + +## Libraries + +Libraries provide extra functionality for use in sketches, e.g. working with hardware or manipulating data. To use a library in a sketch, select it from the **Sketch > Import Library** menu. This will insert one or more **#include** statements at the top of the sketch and compile the library with your sketch. Because libraries are uploaded to the board with your sketch, they increase the amount of space it takes up. If a sketch no longer needs a library, simply delete its **#include** statements from the top of your code. + +There is a [list of libraries](https://www.arduino.cc/reference/en/libraries/) in the reference. Some libraries are included with the Arduino software. Others can be downloaded from a variety of sources or through the Library Manager. Starting with version 1.0.5 of the IDE, you do can import a library from a zip file and use it in an open sketch. See these [instructions for installing a third-party library](/software/ide-v1/tutorials/installing-libraries). + +To write your own library, see [this tutorial](/learn/contributions/arduino-creating-library-guide). + +## Third-Party Hardware + +Support for third-party hardware can be added to the **hardware** directory of your sketchbook directory. Platforms installed there may include board definitions (which appear in the board menu), core libraries, bootloaders, and programmer definitions. To install, create the **hardware** directory, then unzip the third-party platform into its own sub-directory. (Don't use "arduino" as the sub-directory name or you'll override the built-in Arduino platform.) To uninstall, simply delete its directory. + +For details on creating packages for third-party hardware, see the [Arduino Platform specification](https://arduino.github.io/arduino-cli/latest/platform-specification/). + +## Serial Monitor + +This displays serial sent from the Arduino board over USB or serial connector. To send data to the board, enter text and click on the "send" button or press enter. Choose the baud rate from the drop-down menu that matches the rate passed to **Serial.begin** in your sketch. Note that on Windows, Mac or Linux the board will reset (it will rerun your sketch) when you connect with the serial monitor. Please note that the Serial Monitor does not process control characters; if your sketch needs a complete management of the serial communication with control characters, you can use an external terminal program and connect it to the COM port assigned to your Arduino board. + +You can also talk to the board from Processing, Flash, MaxMSP, etc (see the [interfacing page](https://playground.arduino.cc/Main/InterfacingWithHardware/) for details). + +## Preferences + +Some preferences can be set in the preferences dialog (found under the **Arduino** menu on the Mac, or **File** on Windows and Linux). The rest can be found in the preferences file, whose location is shown in the preference dialog. + +## Language Support + +![](assets/languagePreferences.png) + +Since version 1.0.1 , the Arduino Software (IDE) has been translated into 30+ different languages. By default, the IDE loads in the language selected by your operating system. (Note: on Windows and possibly Linux, this is determined by the locale setting which controls currency and date formats, not by the language the operating system is displayed in.) + +If you would like to change the language manually, start the Arduino Software (IDE) and open the **Preferences** window. Next to the **Editor Language** there is a dropdown menu of currently supported languages. Select your preferred language from the menu, and restart the software to use the selected language. If your operating system language is not supported, the Arduino Software (IDE) will default to English. + +You can return the software to its default setting of selecting its language based on your operating system by selecting **System Default** from the **Editor Language** drop-down. This setting will take effect when you restart the Arduino Software (IDE). Similarly, after changing your operating system's settings, you must restart the Arduino Software (IDE) to update it to the new default language. + +## Boards + +The board selection has two effects: it sets the parameters (e.g. CPU speed and baud rate) used when compiling and uploading sketches; and sets and the file and fuse settings used by the burn bootloader command. Some of the board definitions differ only in the latter, so even if you've been uploading successfully with a particular selection you'll want to check it before burning the bootloader. You can find different boards [here](https://www.arduino.cc/en/hardware). + +Arduino Software (IDE) includes the built in support for the boards in the following list, all based on the AVR Core. The [Boards Manager](/learn/starting-guide/cores) included in the standard installation allows to add support for the growing number of new boards based on different cores like Arduino Due, Arduino Zero, Edison, Galileo and so on. + +- _Arduino Yún_ + An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7 PWM. + +- _Arduino Uno_ + An ATmega328P running at 16 MHz with auto-reset, 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino Diecimila or Duemilanove w/ ATmega168_ + An ATmega168 running at 16 MHz with auto-reset. + +- _Arduino Nano w/ ATmega328P_ + An ATmega328P running at 16 MHz with auto-reset. Has eight analog inputs. + +- _Arduino Mega 2560_ + An ATmega2560 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15 PWM. + +- _Arduino Mega_ + An ATmega1280 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15 PWM. + +- _Arduino Mega ADK_ + An ATmega2560 running at 16 MHz with auto-reset, 16 Analog In, 54 Digital I/O and 15 PWM. + +- _Arduino Leonardo_ + An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7 PWM. + +- _Arduino Micro_ + An ATmega32u4 running at 16 MHz with auto-reset, 12 Analog In, 20 Digital I/O and 7 PWM. + +- _Arduino Esplora_ + An ATmega32u4 running at 16 MHz with auto-reset. + +- _Arduino Mini w/ ATmega328P_ + An ATmega328P running at 16 MHz with auto-reset, 8 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino Ethernet_ + Equivalent to Arduino UNO with an Ethernet shield: An ATmega328P running at 16 MHz with auto-reset, 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino Fio_ + An ATmega328P running at 8 MHz with auto-reset. Equivalent to Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328P, 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino BT w/ ATmega328P_ + ATmega328P running at 16 MHz. The bootloader burned (4 KB) includes codes to initialize the on-board Bluetooth® module, 6 Analog In, 14 Digital I/O and 6 PWM.. + +- _LilyPad Arduino USB_ + An ATmega32u4 running at 8 MHz with auto-reset, 4 Analog In, 9 Digital I/O and 4 PWM. + +- _LilyPad Arduino_ + An ATmega168 or ATmega132 running at 8 MHz with auto-reset, 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328P_ + An ATmega328P running at 16 MHz with auto-reset. Equivalent to Arduino Duemilanove or Nano w/ ATmega328P; 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino NG or older w/ ATmega168_ + An ATmega168 running at 16 MHz*without* auto-reset. Compilation and upload is equivalent to Arduino Diecimila or Duemilanove w/ ATmega168, but the bootloader burned has a slower timeout (and blinks the pin 13 LED three times on reset); 6 Analog In, 14 Digital I/O and 6 PWM. + +- _Arduino Robot Control_ + An ATmega328P running at 16 MHz with auto-reset. + +- _Arduino Robot Motor_ + An ATmega328P running at 16 MHz with auto-reset. + +- _Arduino Gemma_ + An ATtiny85 running at 8 MHz with auto-reset, 1 Analog In, 3 Digital I/O and 2 PWM. + +For instructions on installing support for other boards, see [third-party hardware](#third-party-hardware) above. diff --git a/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_NEW_File.jpg b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_NEW_File.jpg new file mode 100644 index 0000000000..d0977b1d92 Binary files /dev/null and b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_NEW_File.jpg differ diff --git a/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_OPEN_File.jpg b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_OPEN_File.jpg new file mode 100644 index 0000000000..a148059845 Binary files /dev/null and b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_OPEN_File.jpg differ diff --git a/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_SAVE_File.jpg b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_SAVE_File.jpg new file mode 100644 index 0000000000..e1785fbf1d Binary files /dev/null and b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_SAVE_File.jpg differ diff --git a/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_SERMON_File.jpg b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_SERMON_File.jpg new file mode 100644 index 0000000000..42ed2be7bf Binary files /dev/null and b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_SERMON_File.jpg differ diff --git a/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_UPLOAD_File.jpg b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_UPLOAD_File.jpg new file mode 100644 index 0000000000..64ba549fa7 Binary files /dev/null and b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_UPLOAD_File.jpg differ diff --git a/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_VERIFY_File.jpg b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_VERIFY_File.jpg new file mode 100644 index 0000000000..9b8b0acab2 Binary files /dev/null and b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/IDE_VERIFY_File.jpg differ diff --git a/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/languagePreferences.png b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/languagePreferences.png new file mode 100644 index 0000000000..abaea092e7 Binary files /dev/null and b/content/software/app-labs/tutorials/arduino-ide-v1-basics/assets/languagePreferences.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/.gitkeep b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/arduino-avr.md b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/arduino-avr.md new file mode 100644 index 0000000000..090584f0ab --- /dev/null +++ b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/arduino-avr.md @@ -0,0 +1,78 @@ +--- +title: 'Installing classic AVR boards' +compatible-products: [uno-rev3, uno, micro, mega, leonardo, nano] +difficulty: beginner +description: 'A quick guide to installing classic Arduino boards, including the UNO, Mega, Leonardo and Micro.' +author: 'Karl Söderby' +--- + +## Installing the AVR core + +The classic Arduino boards, including the favorites UNO, Nano and Mega, requires the **AVR** core to be installed to compile and upload sketches to your board. + +Fortunately, the classic IDE comes with **the AVR core already pre-installed**. This means that we only need to download and install the editor to start using our Arduino products. + +In this tutorial, we will simply show how to select the right board, choose the right port, and how to upload the classic **blink example** to our board, a simple program that makes your LED blink every second. + +You can download the editor from [our software page](https://www.arduino.cc/en/software). + +### Boards using the AVR core + +- Arduino UNO R3 +- Arduino UNO R3 SMD +- Arduino Mega 2560 Rev3 +- Arduino Nano (classic) +- Arduino Micro +- Arduino Leonardo +- Arduino UNO Mini Limited Edition + +### Retired boards using the AVR core + +There are several retired boards that uses the AVR core, but are no longer available from our store. You can see all of them in the list of boards in the editor. + +![List of all boards using the AVR core.](assets/install_avr_01.png) + +### Downloading and installing + +1. First, we need to download the Arduino IDE, which can be done from the [software page](https://www.arduino.cc/en/software). + +2. Install the Arduino IDE on your local machine. + +3. Open the Arduino IDE. + +### Choosing the board + +First, we need to select the right core & board. This is done by navigating to **Tools > Board > Arduino AVR Boards > Board**. Make sure you select the board that you are using. In this case, we are using an Arduino UNO. + +![Select the board.](assets/install_avr_02.png) + +### Selecting the port + +Now, let's make sure that our board is found by our computer, by selecting the port. Regardless what kind of program we are uploading to the board, we **always** need to choose the port for the board we are using. This is simply done by navigating to **Tools > Port**, where you select your board from the list. + +![Selecting the right board and port.](assets/install_avr_03.png) + +This will look different depending on what kind of operative system you are using. + +For **Windows** users, it could look like this: + +- ` (Arduino Uno)` + +For **MAC** users, it could look like this: + +- `/dev/cu.usbmodem14112 (Arduino Uno)` + +### Uploading a simple example + +You are now ready to start using your board! The easiest way to check that everything is working, is to upload just a simple blink example to your board. This is done by navigating to **File > Examples > 01.Basics > Blink**. + +![Selecting the blink example.](assets/install_avr_04.png) + +To upload the sketch, simply click on the arrow in the top left corner. This process takes a few seconds, and it is important to not disconnect the board during this process. + +![Uploading the sketch.](assets/install_avr_05.png) + +When the code is uploaded, the text `"Done uploading."` is visible in the bottom left corner. + +If you look closely at your board, you will notice an orange LED blink with an interval of one second. This means you have successfully uploaded a program to your board. + diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_01.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_01.png new file mode 100644 index 0000000000..8ae8d152c7 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_01.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_02.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_02.png new file mode 100644 index 0000000000..afa830c372 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_02.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_03.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_03.png new file mode 100644 index 0000000000..82e3d92b7e Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_03.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_04.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_04.png new file mode 100644 index 0000000000..327c9f9b52 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_04.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_05.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_05.png new file mode 100644 index 0000000000..285cfecff8 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-avr/assets/install_avr_05.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img01.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img01.png new file mode 100644 index 0000000000..0c88aa450e Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img01.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img02.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img02.png new file mode 100644 index 0000000000..bd9d37d856 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img02.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img03.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img03.png new file mode 100644 index 0000000000..ba09b07ee8 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img03.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img04.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img04.png new file mode 100644 index 0000000000..f403d47f6f Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img04.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img05.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img05.png new file mode 100644 index 0000000000..6033d8c527 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img05.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img06.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img06.png new file mode 100644 index 0000000000..327c9f9b52 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img06.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img07.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img07.png new file mode 100644 index 0000000000..285cfecff8 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/assets/install_mbed_img07.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/installing-mbed-os-nano-boards.md b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/installing-mbed-os-nano-boards.md new file mode 100644 index 0000000000..9d47a8a0c2 --- /dev/null +++ b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nano/installing-mbed-os-nano-boards.md @@ -0,0 +1,84 @@ +--- +title: Installing Mbed OS Nano boards +compatible-products: [nano-33-ble, nano-33-ble-sense, nano-rp2040-connect] +difficulty: beginner +description: 'A step-by-step guide to install the core needed for the Nano 33 BLE, Nano 33 BLE Sense and Nano RP2040 Connect boards.' +author: 'Karl Söderby' +--- + +## Installing Mbed OS Nano boards + +In this tutorial, we will go through a few simple steps on installing the core needed for **Mbed OS Nano** boards. This installation is necessary to use your board with the offline Arduino IDE. + +This tutorial uses the **Arduino IDE**. You can download the editor easily from [our software page](https://www.arduino.cc/en/software). + +If you are using the **Cloud Editor**, you can follow the [getting started with the Cloud Editor tutorial](/cloud/web-editor/tutorials/getting-started/getting-started-web-editor). + +### Boards using the Mbed core + +- [Arduino Nano 33 BLE](https://store.arduino.cc/arduino-nano-33-ble) +- [Arduino Nano 33 BLE Sense](https://store.arduino.cc/arduino-nano-33-ble-sense) +- [Arduino Nano 33 BLE Sense Rev2](https://store.arduino.cc/nano-33-ble-sense-rev2) +- [Arduino Nano RP2040 Connect](https://store.arduino.cc/nano-rp2040-connect) + +### Downloading and installing + +1. First, we need to download the Arduino IDE, which can be done from the [software page](https://www.arduino.cc/en/software). + +2. Install the Arduino IDE on your local machine. + +3. Open the Arduino IDE. + +### Installing the Mbed OS core for Nano boards + +After we have downloaded, installed and opened the Arduino IDE, let's continue to install the core needed. + +When we open the editor, we will see an empty sketch. + +![An empty Arduino IDE sketch window.](assets/install_mbed_img01.png) + +Here we need to navigate to **Tools > Board > Board Manager**. + +![Selecting board manager.](assets/install_mbed_img02.png) + +This will open up a new window, with all available cores. Find the one named **Arduino Mbed OS Nano Boards** and install it. + +![List of cores.](assets/install_mbed_img03.png) + +This process may take some time, and you may need to accept the installation window that comes up (depending on your operative system). When it is finished, it should say `"INSTALLED"` under the title. + +>**Note:** This process may take several minutes. + +Exit the board manager, and go to **Tools > Board > Arduino > Arduino Mbed OS Nano Boards**. Here you can see all the Mbed boards listed, where you can select the board you are using. You have now successfully installed the core. + +![List of available boards.](assets/install_mbed_img04.png) + +### Selecting the port + +Now, let's make sure that our board is found by our computer, by selecting the port. Regardless what kind of program we are uploading to the board, we **always** need to choose the port for the board we are using. This is simply done by navigating to **Tools > Port**, where you select your board from the list. + +![Selecting the right board and port.](assets/install_mbed_img05.png) + +This will look different depending on what kind of operative system you are using. + +For **Windows** users, it could look like this: + +- ` (Arduino Nano BLE)` + +For **MAC** users, it could look like this: + +- `/dev/cu.usbmodem14112 (Arduino Nano BLE)` + +### Uploading a simple example + +You are now ready to start using your board! The easiest way to check that everything is working, is to upload just a simple blink example to your board. This is done by navigating to **File > Examples > 01.Basics > Blink**. + +![Selecting the blink example.](assets/install_mbed_img06.png) + +To upload the sketch, simply click on the arrow in the top left corner. This process takes a few seconds, and it is important to not disconnect the board during this process. + +![Uploading the sketch.](assets/install_mbed_img07.png) + +When the code is uploaded, the text `"Done uploading."` is visible in the bottom left corner. + +If you look closely at your board, you will notice an orange LED blink with an interval of one second. This means you have successfully uploaded a program to your board. \ No newline at end of file diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img01.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img01.png new file mode 100644 index 0000000000..0c88aa450e Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img01.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img02.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img02.png new file mode 100644 index 0000000000..7a2dc42936 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img02.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img04.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img04.png new file mode 100644 index 0000000000..bd9d37d856 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img04.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img05.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img05.png new file mode 100644 index 0000000000..8ef4345359 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img05.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img06.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img06.png new file mode 100644 index 0000000000..777f6b8f6c Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img06.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img07.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img07.png new file mode 100644 index 0000000000..77f0784d42 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img07.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img08.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img08.png new file mode 100644 index 0000000000..285cfecff8 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/assets/install_mbed_nicla_img08.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/installing-mbed-os-nicla.md b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/installing-mbed-os-nicla.md new file mode 100644 index 0000000000..18b72f06d4 --- /dev/null +++ b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_nicla/installing-mbed-os-nicla.md @@ -0,0 +1,91 @@ +--- +title: Installing Mbed OS Nicla boards +description: 'A step-by-step guide to install the core needed for the Nicla board.' +compatible-products: [nicla-sense-me] +difficulty: beginner +author: 'Benjamin Dannegård' +--- + +## Installing Mbed OS Nicla boards + +In this tutorial, we will go through a few simple steps on installing the core needed for the **Nicla** boards. This installation is necessary to use your board with the offline Arduino IDE. + +This tutorial uses the **Arduino IDE**. You can download the editor easily from [our software page](https://www.arduino.cc/en/software). + +If you are using the **Cloud Editor**, you can follow the [getting started with the Cloud Editor tutorial](/cloud/web-editor/tutorials/getting-started/getting-started-web-editor). + +### Boards using the Mbed Nicla core + +- Arduino Nicla Sense ME +- Arduino Nicla Vision + +### Downloading and installing + +1. First, we need to download the Arduino IDE, which can be done from the [software page](https://www.arduino.cc/en/software). + +2. Install the Arduino IDE on your local machine. + +3. Open the Arduino IDE. + +### Installing the Mbed OS core for the Nicla boards + +After we have downloaded, installed and opened the Arduino IDE, let's continue to install the core needed. + +When we open the editor, we will see an empty sketch. + +![An empty Arduino IDE sketch window.](assets/install_mbed_nicla_img01.png) + +Now we need to navigate to **Tools > Board > Board Manager**. + +![Selecting board manager.](assets/install_mbed_nicla_img04.png) + +This will open up a new window, with all available cores. Find the one named **Arduino Mbed OS Nicla Boards** and install it. + +![List of cores.](assets/install_mbed_nicla_img05.png) + +This process may take some time, and you may need to accept the installation window that comes up (depending on your operative system). When it is finished, it should say `"INSTALLED"` under the title. + +>**Note:** This process may take several minutes. + +Exit the board manager, and go to **Tools > Board > Arduino Mbed OS Nicla Boards**. Here you can see all the Mbed boards listed, where you can select the board you are using. You have now successfully installed the core. + +![List of available boards.](assets/install_mbed_nicla_img06.png) + +### Selecting the port + +Now, let's make sure that our board is found by our computer, by selecting the port. Regardless what kind of program we are uploading to the board, we **always** need to choose the port for the board we are using. This is simply done by navigating to **Tools > Port**, where you select your board from the list. + +This will look different depending on what kind of operative system you are using. + +For **Windows** users, it could look like this: + +- ` (Nicla Sense ME)` + +For **MAC** users, it could look like this: + +- `/dev/cu.usbmodem14112 (Nicla Sense ME)` + +If you are using a Nicla Vision board it will say (Arduino Nicla Vision), instead of (Nicla Sense ME). + +### Uploading a simple example + +You are now ready to start using your board! The easiest way to check that everything is working, is to upload just a simple blink example to your board. This is done by navigating to **File > Examples > Nicla_System > Blink_Nicla**, if you are using a **Nicla Sense ME**. + +If you are using the **Nicla Vision**, then please use the **File > Examples > 01.Basics > Blink** + +![Selecting the blink example.](assets/install_mbed_nicla_img07.png) + +To upload the sketch, simply click on the arrow in the top left corner. This process takes a few seconds, and it is important to not disconnect the board during this process. + +![Uploading the sketch.](assets/install_mbed_nicla_img08.png) + +When the code is uploaded, the text `"Done uploading."` is visible in the bottom left corner. + +If you look closely at your board, you will notice an green LED blink with an interval of one second. This means you have successfully uploaded a program to your board. + +**Please read:** The microcontroller runs at min 3V and max 5V. +>**Note:** Connecting higher voltage signals will damage the board. + +### Troubleshooting + +If you are having issues uploading a sketch to your **Nicla Vision** board and you are using Windows, it might be necessary to install the drivers manually. When you have the Nicla Mbed OS core installed, go to the core's folder, usually located in **C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\mbed_nicla\3.0.1\drivers**. Here you can find *dpinst-x86.exe*, running this program will install the necessary drivers for the **Nicla Vision**. \ No newline at end of file diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img01.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img01.png new file mode 100644 index 0000000000..0c88aa450e Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img01.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img02.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img02.png new file mode 100644 index 0000000000..bd9d37d856 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img02.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img03.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img03.png new file mode 100644 index 0000000000..f20a4d5942 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img03.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img04.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img04.png new file mode 100644 index 0000000000..916b7859a2 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img04.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img05.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img05.png new file mode 100644 index 0000000000..3a4688045e Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img05.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img06.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img06.png new file mode 100644 index 0000000000..327c9f9b52 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img06.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img07.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img07.png new file mode 100644 index 0000000000..285cfecff8 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/assets/install_mbed_portenta_img07.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/installing-mbed-os-portenta-boards.md b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/installing-mbed-os-portenta-boards.md new file mode 100644 index 0000000000..74f17411f8 --- /dev/null +++ b/content/software/app-labs/tutorials/getting-started/cores/arduino-mbed_portenta/installing-mbed-os-portenta-boards.md @@ -0,0 +1,88 @@ +--- +title: Installing Mbed OS Portenta boards +compatible-products: [portenta-h7, portenta-h7-lite, portenta-h7-lite-connected] +difficulty: beginner +description: 'A step-by-step guide to install the core needed for the Portenta boards.' +author: 'Benjamin Dannegård' +--- + +## Installing Mbed OS Portenta boards + +In this tutorial, we will go through a few simple steps on installing the core needed for **Mbed OS Portenta** boards. This installation is necessary to use your board with the offline Arduino IDE. + +This tutorial uses the **Arduino IDE**. You can download the editor easily from [our software page](https://www.arduino.cc/en/software). + +If you are using the **Cloud Editor**, you can follow the [getting started with the Cloud Editor tutorial](/cloud/web-editor/tutorials/getting-started/getting-started-web-editor). + +***IMPORTANT: Please make sure to update the bootloader to the most recent version to benefit from the latest improvements. How to do so is explained in the ["Updating the Portenta Bootloader"](/tutorials/portenta-h7/updating-the-bootloader) tutorial*** + + + +### Boards using the Mbed core + +- [Arduino Portenta H7](https://store.arduino.cc/portenta-h7) +- [Arduino Portenta Machine Control](https://store.arduino.cc/portenta-machine-control) +- [Arduino Portenta H7 Lite](https://store.arduino.cc/products/portenta-h7-lite) +- [Arduino Portenta H7 Lite Connected](https://store.arduino.cc/products/portenta-h7-lite-connected) + +### Downloading and installing + +1. First, we need to download the Arduino IDE, which can be done from the [software page](https://www.arduino.cc/en/software). + +2. Install the Arduino IDE on your local machine. + +3. Open the Arduino IDE. + +### Installing the Mbed OS core for Portenta boards + +After we have downloaded, installed and opened the Arduino IDE, let's continue to install the core needed. + +When we open the editor, we will see an empty sketch. + +![An empty Arduino IDE sketch window.](assets/install_mbed_portenta_img01.png) + +Here we need to navigate to **Tools > Board > Board Manager**. + +![Selecting board manager.](assets/install_mbed_portenta_img02.png) + +This will open up a new window, with all available cores. Find the one named **Arduino Mbed OS Portenta Boards** and install it. + +![List of cores.](assets/install_mbed_portenta_img03.png) + +This process may take some time, and you may need to accept the installation window that comes up (depending on your operative system). When it is finished, it should say `"INSTALLED"` under the title. + +>**Note:** This process may take several minutes. + +Exit the board manager, and go to **Tools > Board > Arduino Mbed OS Portenta Boards**. Here you can see all the Mbed boards listed, where you can select the board you are using. You have now successfully installed the core. + +![List of available boards.](assets/install_mbed_portenta_img04.png) + +### Selecting the port + +Now, let's make sure that our board is found by our computer, by selecting the port. Regardless what kind of program we are uploading to the board, we **always** need to choose the port for the board we are using. This is simply done by navigating to **Tools > Port**, where you select your board from the list. + +![Selecting the right board and port.](assets/install_mbed_portenta_img05.png) + +This will look different depending on what kind of operative system you are using. + +For **Windows** users, it could look like this: + +- ` (Arduino Portenta H7 (M7 core))` + +For **MAC** users, it could look like this: + +- `/dev/cu.usbmodem14112 (Arduino Portenta H7 (M7 core))` + +### Uploading a simple example + +You are now ready to start using your board! The easiest way to check that everything is working, is to upload just a simple blink example to your board. This is done by navigating to **File > Examples > 01.Basics > Blink**. + +![Selecting the blink example.](assets/install_mbed_portenta_img06.png) + +To upload the sketch, simply click on the arrow in the top left corner. This process takes a few seconds, and it is important to not disconnect the board during this process. + +![Uploading the sketch.](assets/install_mbed_portenta_img07.png) + +When the code is uploaded, the text `"Done uploading."` is visible in the bottom left corner. + +If you look closely at your board, you will notice an green LED blink with an interval of one second. This means you have successfully uploaded a program to your board. \ No newline at end of file diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img01.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img01.png new file mode 100644 index 0000000000..0c88aa450e Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img01.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img02.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img02.png new file mode 100644 index 0000000000..bd9d37d856 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img02.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img03.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img03.png new file mode 100644 index 0000000000..6c9f73ef94 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img03.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img04.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img04.png new file mode 100644 index 0000000000..718e1f5579 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img04.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img05.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img05.png new file mode 100644 index 0000000000..ce4730fea2 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img05.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img06.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img06.png new file mode 100644 index 0000000000..327c9f9b52 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img06.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img07.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img07.png new file mode 100644 index 0000000000..285cfecff8 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/assets/install_megaavr_img07.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/installing-megaavr-core.md b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/installing-megaavr-core.md new file mode 100644 index 0000000000..c9f9f73ff9 --- /dev/null +++ b/content/software/app-labs/tutorials/getting-started/cores/arduino-megaavr/installing-megaavr-core.md @@ -0,0 +1,85 @@ +--- +title: 'Installing the core for megaAVR boards' +compatible-products: [nano-every, uno-wifi-rev2] +difficulty: beginner +description: 'A step-by-step guide to install the core needed for the UNO WiFi Rev2 and Nano Every boards.' +author: 'Karl Söderby' +--- + +## Installing megaAVR boards + +In this tutorial, we will go through a few simple steps on installing the core for **megaAVR** boards. This installation is necessary to use your board with the offline Arduino IDE. + +This tutorial uses the **Arduino IDE**. You can download the editor easily from [our software page](https://www.arduino.cc/en/software). + +If you are using the **Cloud Editor**, you can follow the [getting started with the Cloud Editor tutorial](/cloud/web-editor/tutorials/getting-started/getting-started-web-editor). + + +### Boards using the megaAVR + +- Arduino UNO WiFi Rev 2 +- Arduino Nano Every + +### Downloading and installing + +1. First, we need to download the Arduino IDE, which can be done from the [software page](https://www.arduino.cc/en/software). + +2. Install the Arduino IDE on your local machine. + +3. Open the Arduino IDE. + +### Installing the megaAVR core + +After we have downloaded, installed and opened the Arduino IDE, let's continue to installing the avrMEGA core. + +When we open the editor, we will see an empty sketch. + +![An empty Arduino IDE sketch window.](assets/install_megaavr_img01.png) + +Here we need to navigate to **Tools > Board > Board Manager**. + +![Selecting board manager.](assets/install_megaavr_img02.png) + +This will open up a new window, with all available cores. Type in `"megaavr"` in the search field, and install the **Arduino mbed-enabled boards** core. + +![List of cores.](assets/install_megaavr_img03.png) + +This process may take some time, and you may need to accept the installation window that comes up (depending on your operative system). When it is finished, it should say `"INSTALLED"` under the title. + +>**Note:** This process may take several minutes. + +Exit the board manager, and go to **Tools > Board > Arduino > Arduino megaAVR Boards**. Here you can see all the Mbed boards listed, where you can select the board you are using. You have now successfully installed the core. + +![List of available boards.](assets/install_megaavr_img04.png) + +### Selecting the port + +Now, let's make sure that our board is found by our computer, by selecting the port. Regardless what kind of program we are uploading to the board, we **always** need to choose the port for the board we are using. This is simply done by navigating to **Tools > Port**, where you select your board from the list. + +![Selecting the right board and port.](assets/install_megaavr_img05.png) + +This will look different depending on what kind of operative system you are using. + +For **Windows** users, it could look like this: + +- ` (Arduino Nano Every)` + +For **MAC** users, it could look like this: + +- `/dev/cu.usbmodem14112 (Arduino Nano Every)` + +### Uploading a simple example + +You are now ready to start using your board! The easiest way to check that everything is working, is to upload just a simple blink example to your board. This is done by navigating to **File > Examples > 01.Basics > Blink**. + +![Selecting the blink example.](assets/install_megaavr_img06.png) + +To upload the sketch, simply click on the arrow in the top left corner. This process takes a few seconds, and it is important to not disconnect the board during this process. + +![v](assets/install_megaavr_img07.png) + +When the code is uploaded, the text `"Done uploading."` is visible in the bottom left corner. + +If you look closely at your board, you will notice an orange LED blink with an interval of one second. This means you have successfully uploaded a program to your board. + + diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img01.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img01.png new file mode 100644 index 0000000000..0c88aa450e Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img01.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img02.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img02.png new file mode 100644 index 0000000000..bd9d37d856 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img02.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img03.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img03.png new file mode 100644 index 0000000000..be58c935a6 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img03.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img04.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img04.png new file mode 100644 index 0000000000..14e342eaff Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img04.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img05.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img05.png new file mode 100644 index 0000000000..36ad9bc25d Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img05.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img06.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img06.png new file mode 100644 index 0000000000..4dbc5c0149 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img06.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img07.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img07.png new file mode 100644 index 0000000000..3b098ae003 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img07.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img08.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img08.png new file mode 100644 index 0000000000..ea3e74559c Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img08.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img09.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img09.png new file mode 100644 index 0000000000..327c9f9b52 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img09.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img10.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img10.png new file mode 100644 index 0000000000..285cfecff8 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/assets/install_due_img10.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/installing-sam-core.md b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/installing-sam-core.md new file mode 100644 index 0000000000..1b8e45d232 --- /dev/null +++ b/content/software/app-labs/tutorials/getting-started/cores/arduino-sam/installing-sam-core.md @@ -0,0 +1,107 @@ +--- +title: 'Installing the SAM core for the Arduino Due' +compatible-products: [due] +difficulty: beginner +description: 'A step-by-step guide to install the core needed for the Arduino Due board.' +author: 'Karl Söderby' +--- + +## Installing the Due board + +In this tutorial, we will go through a few simple steps on installing the SAM core, designed for the Arduino DUE board. This installation is necessary to use your board with the offline Arduino IDE. + +This tutorial uses the **Arduino IDE**. You can download the editor easily from [our software page](https://www.arduino.cc/en/software). + +If you are using the **Cloud Editor**, you can follow the [getting started with the Cloud Editor tutorial](/cloud/web-editor/tutorials/getting-started/getting-started-web-editor). + + +### Boards using the SAM core + +- Arduino Due + +### Downloading and installing + +1. First, we need to download the Arduino IDE, which can be done from the [software page](https://www.arduino.cc/en/software). + +2. Install the Arduino IDE on your local machine. + +3. Open the Arduino IDE. + +### Installing the SAM core + +After we have downloaded, installed and opened the Arduino IDE, let's continue to installing the SAM core. + +When we open the editor, we will see an empty sketch. + +![An empty Arduino IDE sketch window.](assets/install_due_img01.png) + +Here we need to navigate to **Tools > Board > Board Manager**. + +![Selecting board manager.](assets/install_due_img02.png) + +This will open up a new window, with all available cores. Type in `"due"` in the search field, and install the **Arduino SAM Boards (32-bits ARM Cortex-M3)** core. + +![List of cores.](assets/install_due_img03.png) + +This process may take some time, and you may need to accept the installation window that comes up (depending on your operative system). When it is finished, it should say `"INSTALLED"` under the title. + +>**Note:** This process may take several minutes. + +Exit the board manager, and go to **Tools > Board > Arduino Arduino ARM (32-bits) Boards**. Here you can choose between: + +- Arduino Due (Programming Port) +- Arduino Due (Native USB Port) + +Select the **Arduino Due (Programming Port)**. + +![List of available boards.](assets/install_due_img04.png) + +### Selecting the port + +Now, let's make sure that our board is found by our computer, by selecting the port. Regardless what kind of program we are uploading to the board, we **always** need to choose the port for the board we are using. This is simply done by navigating to **Tools > Port**, where you select your board from the list. + +![Selecting the right board and port.](assets/install_due_img05.png) + +This will look different depending on what kind of operative system you are using. + +For **Windows** users, it could look like this: + +- ` (Arduino Due (Programming Port))` + +For **MAC** users, it could look like this: + +- `/dev/cu.usbmodem14112 (Arduino Due (Programming Port))` + +### Updating the driver manually (Windows) + +If you cannot see your Arduino Due in the port list, you may need to manually update the driver. Don't worry, this is a quick process! + +- Close down the Arduino IDE. + +- Navigate to the **"Device Manager"** for your computer. + +- Look for a section called **"Ports (COM & LPT)**. Your board should be listed here. Right click on the device, and click on **"Update Driver"**. + +![](assets/install_due_img06.png) + +- Choose the **"Browse my computer for driver software"** option, and in the next window, click on **"Next"**. + +![](assets/install_due_img07.png) + +- This will install the drivers necessary for your Due board, and you will get a confirmation when it is complete! + +![](assets/install_due_img08.png) + +### Uploading a simple example + +You are now ready to start using your board! The easiest way to check that everything is working, is to upload just a simple blink example to your board. This is done by navigating to **File > Examples > 01.Basics > Blink**. + +![Selecting the blink example.](assets/install_due_img09.png) + +To upload the sketch, simply click on the arrow in the top left corner. This process takes a few seconds, and it is important to not disconnect the board during this process. + +![Uploading the sketch.](assets/install_due_img10.png) + +When the code is uploaded, the text `"Done uploading."` is visible in the bottom left corner. + +If you look closely at your board, you will notice an orange LED blink with an interval of one second. This means you have successfully uploaded a program to your board. diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img01.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img01.png new file mode 100644 index 0000000000..0c88aa450e Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img01.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img02.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img02.png new file mode 100644 index 0000000000..bd9d37d856 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img02.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img03.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img03.png new file mode 100644 index 0000000000..642c7da936 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img03.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img04.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img04.png new file mode 100644 index 0000000000..517ad81f20 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img04.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img05.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img05.png new file mode 100644 index 0000000000..aabb043efc Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img05.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img06.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img06.png new file mode 100644 index 0000000000..327c9f9b52 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img06.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img07.png b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img07.png new file mode 100644 index 0000000000..285cfecff8 Binary files /dev/null and b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/assets/install_samd21_img07.png differ diff --git a/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/installing-samd21-core.md b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/installing-samd21-core.md new file mode 100644 index 0000000000..5c844197a3 --- /dev/null +++ b/content/software/app-labs/tutorials/getting-started/cores/arduino-samd/installing-samd21-core.md @@ -0,0 +1,93 @@ +--- +title: 'Installing the SAMD21 core for MKR boards' +compatible-products: [mkr-1000-wifi, mkr-zero, mkr-wifi-1010, mkr-fox-1200, mkr-wan-1300, mkr-wan-1310, mkr-nb-1500, mkr-vidor-4000, nano-33-iot, zero] +difficulty: beginner +description: 'A step-by-step guide to install the core needed for the MKR Family, Zero and Nano 33 IoT boards.' +author: 'Karl Söderby' +--- + +## Installing the SAMD21 core for MKR boards + +In this tutorial, we will go through a few simple steps on installing the **SAMD21** core. This installation is necessary to use your board with the offline Arduino IDE. + +This tutorial uses the **Arduino IDE**. You can download the editor easily from [our software page](https://www.arduino.cc/en/software). + +If you are using the **Cloud Editor**, you can follow the [getting started with the Cloud Editor tutorial](/cloud/web-editor/tutorials/getting-started/getting-started-web-editor). + + +### Boards using the SAMD21 core + +- MKR Zero +- MKR WiFi 1000 +- MKR WiFi 1010 +- MKR FOX 1200 +- MKR WAN 1300 +- MKR WAN 1310 +- MKR GSM 1400 +- MKR NB 1500 +- MKR VIDOR 4000 +- Arduino Nano 33 IoT +- Arduino Zero + +### Downloading and installing + +1. First, we need to download the Arduino IDE, which can be done from the [software page](https://www.arduino.cc/en/software). + +2. Install the Arduino IDE on your local machine. + +3. Open the Arduino IDE. + +### Installing the SAMD core + +After we have downloaded, installed and opened the Arduino IDE, let's continue to installing the SAMD21 core. + +When we open the editor, we will see an empty sketch. + +![An empty Arduino IDE sketch window.](assets/install_samd21_img01.png) + +Here we need to navigate to **Tools > Board > Board Manager**. + +![Selecting board manager.](assets/install_samd21_img02.png) + +This will open up a new window, with all available cores. Type in `"samd"` in the search field, and install the **Arduino SAMD Boards (32-bits ARM Cortex-M0+)** core. + +![List of cores.](assets/install_samd21_img03.png) + +This process may take some time, and you may need to accept the installation window that comes up (depending on your operative system). When it is finished, it should say `"INSTALLED"` under the title. + +>**Note:** This process may take several minutes. + +Exit the board manager, and go to **Tools > Board > Arduino SAMD Boards (32-bits ARM Cortex-M0+)**. Here you can see all the SAMD boards listed, where you can select the MKR board you are using. You have now successfully installed the core. + +![List of available boards.](assets/install_samd21_img04.png) + +### Selecting the port + +Now, let's make sure that our board is found by our computer, by selecting the port. Regardless what kind of program we are uploading to the board, we **always** need to choose the port for the board we are using. This is simply done by navigating to **Tools > Port**, where you select your board from the list. + +![Selecting the right board and port.](assets/install_samd21_img05.png) + +This will look different depending on what kind of operative system you are using. + +For **Windows** users, it could look like this: + +- ` (Arduino MKR WiFi 1010)` + +For **MAC** users, it could look like this: + +- `/dev/cu.usbmodem14112 (Arduino MKR WiFi 1010)` + +### Uploading a simple example + +You are now ready to start using your board! The easiest way to check that everything is working, is to upload just a simple blink example to your board. This is done by navigating to **File > Examples > 01.Basics > Blink**. + +![Selecting the blink example.](assets/install_samd21_img06.png) + +To upload the sketch, simply click on the arrow in the top left corner. This process takes a few seconds, and it is important to not disconnect the board during this process. + +![Uploading the sketch.](assets/install_samd21_img07.png) + +When the code is uploaded, the text `"Done uploading."` is visible in the bottom left corner. + +If you look closely at your board, you will notice an orange LED blink with an interval of one second. This means you have successfully uploaded a program to your board. + diff --git a/content/software/app-labs/tutorials/ide-v1-security/ide-v1-security.md b/content/software/app-labs/tutorials/ide-v1-security/ide-v1-security.md new file mode 100644 index 0000000000..c2187d6f3e --- /dev/null +++ b/content/software/app-labs/tutorials/ide-v1-security/ide-v1-security.md @@ -0,0 +1,62 @@ +--- +title: 'Security of Arduino IDE' +description: 'Learn about the secure development process behind the Arduino IDE.' + +tags: + - Security +author: 'Arduino Security Team' +--- + +Arduino IDE 2.x is the latest version of the Arduino Programming tool and it is built on Eclipse Theia, an open-source framework for building IDEs. + +Arduino is committed to regularly monitor and update security measures applied to the Arduino IDE to ensure proper protection from any threats or vulnerabilities detected. + +Arduino's defined principles and requirements to be followed within the secure development lifecycle of Hardware, System and Software and the development of the open-source Arduino software makes no exception. In particular, Arduino follows the **Secure by Design** principle in every stage of the software development and the **Security Principles** listed below are followed during the secure development lifecycle: + + +- **Apply Defense in Depth**: Layered security mechanisms are in place to increase security as a whole. +- **Use a Positive Security Model**: A ‘positive’ security model defines what is allowed and rejects everything else. +- **Fail Securely**: It is important that failures are handled so that exceptions do not enable unwanted behavior. +- **Run with Least Privileges**: The principle of least privilege is required to perform every business process. +- **Avoid Security through Obscurity**: Security through obscurity alone is a weak security mechanism, however when combined with all principles it can be used as an additional layer of security. +- **Keep Security Simple**: Keeping the application’s security simple is a better option than having complex designs. +- **Assuming compromise**: The assuming compromise principle is useful to improve the detection and response capabilities in order to predict and remediate the security events before they evolve into security incidents. +- **Keep people away from data**: Usage of mechanisms, patterns and tools to reduce or eliminate the need for direct data access or manual processing data with the aim of reducing the risk of mishandling or modification and human error when handling sensitive data. + +Moreover, the members of Arduino take in considerations the following pillars as part of the Arduino Secure Software Development Lifecycle: + +- **Education and Guidance**: developers have specific know-how and receive training on secure architectural and coding standards. +- **Secure Data Management**: sensitive data (such as PII) are properly managed in accordance with legislation and recommended security standards are properly implemented. +- **Secure Repository Management**: software repositories are protected with the Least of privilege and Separation of duties principles. +- **Secure Environment**: services and data are segregated between different environments: Development, Staging and Production. +- **Secure Development**: security requirements and best practices are taken into consideration in all the steps of the development lifecycle. +- **Security Testing**: activities performed by the security team to identify residual vulnerabilities as a result of the artifacts being developed. + +As part of the security testing activities, Arduino periodically performs the following tasks on the Arduino IDE: + +- **Secure Code Review (SCR)**: the code is reviewed in order to ensure the safety against main security vulnerabilities and threats. +- **Secure Component Analysis (SCA)**: security engineers evaluate components related to Theia npm packages and Electron. +- **Secrets scanning analysis**: activities performed to ensure that secrets are not inadvertently leaked within the repository. + +Finally, should an Arduino user or customer suspect a vulnerability or security issue, they are invited to report it as described in our Coordinated Vulnerability Disclosure policy available at: [https://www.arduino.cc/en/security_cvd](https://www.arduino.cc/en/security_cvd). + +## Third Party Components + +In the process of conducting Secure Component Analysis, Arduino puts particular attention on the aforementioned external dependencies (Eclipse Theia and OpenJS Electron) and reports any found vulnerability to the respective project maintainer: + +- Eclipse Theia manages vulnerabilities using the process described in [https://www.eclipse.org/security](https://www.eclipse.org/security). +- OpenJS Electron vulnerabilities are managed using the process described in [https://www.electronjs.org/docs/latest/tutorial/security](https://www.electronjs.org/docs/latest/tutorial/security). + +When vulnerabilities in third party components are fixed by the respective maintainer, Arduino will update the component involved as required, in a commercially reasonable time, based on the severity of the identified vulnerability. + +## Version Management + +When it comes to managing multiple versions of the Arduino IDE, the following policy will be applied: + +- all security principles that are applicable to the process (design, development, testing, release) will apply to any version currently in development +- considerations related to finding and fixing vulnerability, and providing security fixes for the same, are applicable to the latest stable release of Arduino IDE; in addition: + - no security fixes are provided on nightly builds; + - no security fixes are provided on versions marked as “Legacy versions” of Arduino IDE as identified on arduino.cc/en/software + +In general, Arduino will prefer releasing a new version of Arduino IDE containing required security fixes rather than applying a security fix on an existing version. Users are recommended to stay current with the latest stable release of Arduino IDE, also leveraging the auto-update feature provided by the software itself, to ensure the latest and greatest features and security updates. + diff --git a/content/software/app-labs/tutorials/installing-libraries/assets/ImportLibraryFromZIPFile.png b/content/software/app-labs/tutorials/installing-libraries/assets/ImportLibraryFromZIPFile.png new file mode 100644 index 0000000000..e275be86a8 Binary files /dev/null and b/content/software/app-labs/tutorials/installing-libraries/assets/ImportLibraryFromZIPFile.png differ diff --git a/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_1.jpg b/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_1.jpg new file mode 100644 index 0000000000..882bf21230 Binary files /dev/null and b/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_1.jpg differ diff --git a/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_2.jpg b/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_2.jpg new file mode 100644 index 0000000000..222f95ab14 Binary files /dev/null and b/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_2.jpg differ diff --git a/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_3.jpg b/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_3.jpg new file mode 100644 index 0000000000..eae885abee Binary files /dev/null and b/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_3.jpg differ diff --git a/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_4.jpg b/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_4.jpg new file mode 100644 index 0000000000..03a4d42d34 Binary files /dev/null and b/content/software/app-labs/tutorials/installing-libraries/assets/Lib_ZIP_4.jpg differ diff --git a/content/software/app-labs/tutorials/installing-libraries/assets/LibraryManager_1.png b/content/software/app-labs/tutorials/installing-libraries/assets/LibraryManager_1.png new file mode 100644 index 0000000000..09ab42885c Binary files /dev/null and b/content/software/app-labs/tutorials/installing-libraries/assets/LibraryManager_1.png differ diff --git a/content/software/app-labs/tutorials/installing-libraries/assets/LibraryManager_2.png b/content/software/app-labs/tutorials/installing-libraries/assets/LibraryManager_2.png new file mode 100644 index 0000000000..31e088aea8 Binary files /dev/null and b/content/software/app-labs/tutorials/installing-libraries/assets/LibraryManager_2.png differ diff --git a/content/software/app-labs/tutorials/installing-libraries/assets/LibraryManager_3.png b/content/software/app-labs/tutorials/installing-libraries/assets/LibraryManager_3.png new file mode 100644 index 0000000000..f30b9067e7 Binary files /dev/null and b/content/software/app-labs/tutorials/installing-libraries/assets/LibraryManager_3.png differ diff --git a/content/software/app-labs/tutorials/installing-libraries/assets/SelectLibraryZip.png b/content/software/app-labs/tutorials/installing-libraries/assets/SelectLibraryZip.png new file mode 100644 index 0000000000..9009046d8e Binary files /dev/null and b/content/software/app-labs/tutorials/installing-libraries/assets/SelectLibraryZip.png differ diff --git a/content/software/app-labs/tutorials/installing-libraries/assets/Sketchbook_Prefs.jpg b/content/software/app-labs/tutorials/installing-libraries/assets/Sketchbook_Prefs.jpg new file mode 100644 index 0000000000..0038242ce4 Binary files /dev/null and b/content/software/app-labs/tutorials/installing-libraries/assets/Sketchbook_Prefs.jpg differ diff --git a/content/software/app-labs/tutorials/installing-libraries/installing-libraries.md b/content/software/app-labs/tutorials/installing-libraries/installing-libraries.md new file mode 100644 index 0000000000..8d41a28968 --- /dev/null +++ b/content/software/app-labs/tutorials/installing-libraries/installing-libraries.md @@ -0,0 +1,84 @@ +--- +title: 'Installing Libraries' +description: 'Learn how to install additional libraries in the Arduino IDE 1.' +author: Arduino +tags: [Libraries] +--- + +Once you are comfortable with the Arduino software and using the built-in functions, you may want to extend the ability of your Arduino with additional libraries. + +## What are Libraries? + +Libraries are a collection of code that makes it easy for you to connect to a sensor, display, module, etc. For example, the [LiquidCrystal library](https://www.arduino.cc/reference/en/libraries/liquidcrystal/) makes it easy to talk to character LCD displays. + +There are thousands of libraries available for download directly through the Arduino IDE, and you can find all of them listed at the [Arduino Library Reference](https://www.arduino.cc/reference/en/libraries/). + + +## Using the Library Manager + +To install a new library into your Arduino IDE you can use the Library Manager (available from IDE version 1.6.2). +Open the IDE and click to the "Sketch" menu and then _Include Library > Manage Libraries_. + +![](assets/LibraryManager_1.png) + +Then the Library Manager will open and you will find a list of libraries that are already installed or ready for installation. In this example we will install the Bridge library. Scroll the list to find it, click on it, then select the version of the library you want to install. Sometimes only one version of the library is available. If the version selection menu does not appear, don't worry: it is normal. + +![](assets/LibraryManager_2.png) + +Finally click on install and wait for the IDE to install the new library. Downloading may take time depending on your connection speed. +Once it has finished, an _Installed_ tag should appear next to the Bridge library. You can close the library manager. + +![](assets/LibraryManager_3.png) + +You can now find the new library available in the _Sketch > Include Library_ menu. +If you want to add your own library to Library Manager, follow [these instructions](https://github.com/arduino/library-registry#adding-a-library-to-library-manager). + +## Importing a .zip Library + +Libraries are often distributed as a ZIP file or folder. The name of the folder is the name of the library. Inside the folder will be a .cpp file, a .h file and often a keywords.txt file, examples folder, and other files required by the library. Starting with version 1.0.5, you can install 3rd party libraries in the IDE. Do not unzip the downloaded library, leave it as is. + +In the Arduino IDE, navigate to _Sketch > Include Library > Add .ZIP Library_. At the top of the drop down list, select the option to "Add .ZIP Library''. + +![](assets/ImportLibraryFromZIPFile.png) + +You will be prompted to select the library you would like to add. Navigate to the .zip file's location and open it. + +![](assets/SelectLibraryZip.png) + +Return to the _Sketch > Include Library menu._ menu. You should now see the library at the bottom of the drop-down menu. It is ready to be used in your sketch. +The zip file will have been expanded in the _libraries_ folder in your Arduino sketches directory. + +NB: the Library will be available to use in sketches, but with older IDE versions examples for the library will not be exposed in the _File > Examples_ until after the IDE has restarted. + +## Manual Installation + +When you want to add a library manually, you need to download it as a ZIP file, expand it and put in the proper directory. The ZIP file contains all you need, including usage examples if the author has provided them. The library manager is designed to install this ZIP file automatically as explained in the former chapter, but there are cases where you may want to perform the installation process manually and put the library in the _libraries_ folder of your sketchbook by yourself. + +You can find or change the location of your sketchbook folder at _File > Preferences > Sketchbook_ location. + +![](assets/Sketchbook_Prefs.jpg) + +Go to the directory where you have downloaded the ZIP file of the library + +![](assets/Lib_ZIP_1.jpg) + +Extract the ZIP file with all its folder structure in a temporary folder, then select the main folder, that should have the library name + +![](assets/Lib_ZIP_2.jpg) + +Copy it in the "libraries" folder inside your sketchbook. + +![](assets/Lib_ZIP_3.jpg) + +Start the Arduino Software (IDE), go to _Sketch > Include Library_. Verify that the library you just added is available in the list. + +![](assets/Lib_ZIP_4.jpg) + +***Please note: Arduino libraries are managed in three different places: inside the IDE installation folder, inside the core folder and in the libraries folder inside your sketchbook. The way libraries are chosen during compilation is designed to allow the update of libraries present in the distribution. This means that placing a library in the "libraries" folder in your sketchbook overrides the other libraries versions.*** + +The same happens for the libraries present in additional cores installations. It is also important to note that the version of the library you put in your sketchbook may be lower than the one in the distribution or core folders, nevertheless it will be the one used during compilation. When you select a specific core for your board, the libraries present in the core's folder are used instead of the same libraries present in the IDE distribution folder. + +Last, but not least important is the way the Arduino Software (IDE) upgrades itself: all the files in Programs/Arduino (or the folder where you installed the IDE) are deleted and a new folder is created with fresh content. +This is why we recommend that you only install libraries to the sketchbook folder so they are not deleted during the Arduino IDE update process. + +_This tutorial based on text by Limor Fried._ \ No newline at end of file diff --git a/content/software/app-labs/tutorials/macOS/assets/Application-Folder-MacOS.png b/content/software/app-labs/tutorials/macOS/assets/Application-Folder-MacOS.png new file mode 100644 index 0000000000..0069e8347c Binary files /dev/null and b/content/software/app-labs/tutorials/macOS/assets/Application-Folder-MacOS.png differ diff --git a/content/software/app-labs/tutorials/macOS/assets/Downloads-Folder-MacOS.png b/content/software/app-labs/tutorials/macOS/assets/Downloads-Folder-MacOS.png new file mode 100644 index 0000000000..f677afa2ec Binary files /dev/null and b/content/software/app-labs/tutorials/macOS/assets/Downloads-Folder-MacOS.png differ diff --git a/content/software/app-labs/tutorials/macOS/macOS.md b/content/software/app-labs/tutorials/macOS/macOS.md new file mode 100644 index 0000000000..59b6c089e9 --- /dev/null +++ b/content/software/app-labs/tutorials/macOS/macOS.md @@ -0,0 +1,19 @@ +--- +author: 'Arduino' +description: 'Install the Arduino Software (IDE) on macOS' +title: 'Arduino IDE 1 Installation (macOS)' +tags: [Installation, macOS] +--- + +This document explains how to install the Arduino Software (IDE) on macOS machines. + +## Download the Arduino Software (IDE) + +Get the latest version from the [download page](https://www.arduino.cc/en/software). The file is in Zip format. If you use Safari it will be automatically extracted. If you use a different browser you may need to extract it manually. + +![Open the downloads folder.](assets/Downloads-Folder-MacOS.png) + +Copy the Arduino application bundle into the Applications folder (or elsewhere on your computer). + +![Copy to the Applications folder.](assets/Application-Folder-MacOS.png) + diff --git a/package-lock.json b/package-lock.json index e814c55170..c91da1a88d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "hasInstallScript": true, "license": "ISC", "dependencies": { - "@arduino/docs-arduino-cc": "^2.1.1", + "@arduino/docs-arduino-cc": "^2.1.2-alpha.1", "gatsby": "^5.11.0", "gatsby-background-image": "^1.6.0", "gatsby-image": "^3.11.0", @@ -309,9 +309,9 @@ } }, "node_modules/@arduino/docs-arduino-cc": { - "version": "2.1.1", - "resolved": "https://npm.pkg.github.com/download/@arduino/docs-arduino-cc/2.1.1/a8468d82907f6d5fac98334e24abc31c439bcd6d", - "integrity": "sha512-cwgGyDlDm//9eTC5figuYLsdVIC6rzxirsA7xt/iQuQ3lC3qVKGSoWYbBQnAUwOUMEQ5qgrRJDGqEUNCk6Mffg==", + "version": "2.1.2-alpha.1", + "resolved": "https://npm.pkg.github.com/download/@arduino/docs-arduino-cc/2.1.2-alpha.1/168363f080f98e62d0dba5d27316725069fdaa1e", + "integrity": "sha512-Gizbgj7s1T1RubWaUu/m1jmtT7JIey5aKWgpbduGY3JHXjl1DooMODpmoBYXEUM/vXgGiSHC1O3AfHe0VAq2UQ==", "dependencies": { "@algolia/autocomplete-core": "^1.10.0", "@algolia/autocomplete-plugin-recent-searches": "^1.17.0", diff --git a/package.json b/package.json index 2500941b73..105623e60b 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ }, "homepage": "https://github.com/arduino/docs-content#readme", "dependencies": { - "@arduino/docs-arduino-cc": "^2.1.1", + "@arduino/docs-arduino-cc": "^2.1.2-alpha.1", "gatsby": "^5.11.0", "gatsby-background-image": "^1.6.0", "gatsby-image": "^3.11.0",