open-source electronics platform

Overview

Arduino is an open-source physical computing platform based on a simple I/O board and a development environment that implements the Processing/Wiring language. Arduino can be used to develop stand-alone interactive objects or can be connected to software on your computer (e.g. Flash, Processing and MaxMSP). The boards can be assembled by hand or purchased preassembled; the open-source IDE can be downloaded for free at https://arduino.cc

Github

More info at

Bug reports and technical discussions

  • To report a bug in the software or to request a simple enhancement go to Github Issues

  • More complex requests and technical discussion should go on the Arduino Developers mailing list

  • If you're interested in modifying or extending the Arduino software, we strongly suggest discussing your ideas on the Developers mailing list before starting to work on them. That way you can coordinate with the Arduino Team and others, giving your work a higher chance of being integrated into the official release

Security

If you think you found a vulnerability or other security-related bug in this project, please read our security policy and report the bug to our Security Team 🛡️ Thank you!

e-mail contact: [email protected]

Installation

Detailed instructions for installation in popular operating systems can be found at:

Contents of this repository

This repository contains just the code for the Arduino IDE itself. Originally, it also contained the AVR and SAM Arduino core and libraries (i.e. the code that is compiled as part of a sketch and runs on the actual Arduino device), but those have been moved into their own repositories. They are still automatically downloaded as part of the build process and included in built releases, though.

The repositories for these extra parts can be found here:

Building and testing

Instructions for building the IDE and running unit tests can be found on the wiki:

Credits

Arduino is an open source project, supported by many.

The Arduino team is composed of Massimo Banzi, David Cuartielles, Tom Igoe and David A. Mellis.

Arduino uses GNU avr-gcc toolchain, GCC ARM Embedded toolchain, avr-libc, avrdude, bossac, openOCD and code from Processing and Wiring.

Icon and about image designed by ToDo

Comments
  • Updating/Downgrading Arduino-Pico core fails at file extraction

    Updating/Downgrading Arduino-Pico core fails at file extraction

    Versions

    Arduino IDE: Latest 1.8.19 OS: Windows 11 x64, (ver: Version 10.0.22000.1219), in Oracle VirtualBox from Microsoft Arduino-Pico: 2.6.3 -> 2.6.1

    Description

    Per https://github.com/earlephilhower/arduino-pico/issues/976.

    Users report that when upgrading or downgrading the Arduino-Pico core from 2.6.1 to 2.6.3 (or reverse), updating of the core would fail at the Python interpreter. This leaves the Python interpreter package folder without some crucial files without which it cannot start, and so users get a

    Fatal Python error: initfsencoding: unable to load the file system codec
    ModuleNotFoundError: No module named 'encodings'
    

    when attempting to further compile something.

    Reproduction

    The steps I used (some may not be needed though):

    1. Install the Arduino IDE from the .zip package for Windows
    2. Install Arduino-Pico's latest version as described
    3. Compile a blink sketch for the Pico. It should compile normally
    4. Close the Arduino IDE
    5. Install Python3 from https://www.python.org/downloads/, tick the checkmark for "Add python to PATH"
    6. Reopen the Arduino IDE
    7. Go to the board manager to downgrade the RP2040 core to 2.6.1

    Expected Behavior

    The downgrade is done successfully.

    Actual behavior

    The downgrade fails with

    grafik

    Exception text

     Can't extract file C:\Users\User\AppData\Local\Arduino15\packages\rp2040\tools\pqt-python3\1.0.1-base-3a57aed\_ctypes.pyd, file already exists!
    java.lang.RuntimeException: java.io.IOException: Can't extract file C:\Users\User\AppData\Local\Arduino15\packages\rp2040\tools\pqt-python3\1.0.1-base-3a57aed\_ctypes.pyd, file already exists!
    	at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$2(ContributionManagerUI.java:179)
    	at java.lang.Thread.run(Thread.java:748)
    Caused by: java.io.IOException: Can't extract file C:\Users\User\AppData\Local\Arduino15\packages\rp2040\tools\pqt-python3\1.0.1-base-3a57aed\_ctypes.pyd, file already exists!
    	at cc.arduino.utils.ArchiveExtractor.extract(ArchiveExtractor.java:215)
    	at cc.arduino.utils.ArchiveExtractor.extract(ArchiveExtractor.java:82)
    	at cc.arduino.contributions.packages.ContributionInstaller.install(ContributionInstaller.java:141)
    	at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$2(ContributionManagerUI.java:172)
    	... 1 more
    

    The Python folder is half-deleted / upgraded, with many files missing, crippling it so heavily that python3.exe cannot start anymore.

    grafik

    Should look like

    grafik

    Type: Bug Waiting for feedback 
    opened by maxgerhardt 2
  • Update arduino-linux-setup.sh

    Update arduino-linux-setup.sh

    Updating to the newest version of the script from: https://github.com/artynet/arduino-linux-setup containing some minor bugfixes and improvements. I am not the author of the code, I just noticed that the change I wanted to make in the script, along with other changes has already been made in the original repo but not merged in a long while.

    feature request OS: Linux 
    opened by tofilwiktor 1
  • Wire.h signature uint8_t requestFrom(uint8_t, uint8_t); (and others) missing in ArduinoCore-megaavr

    Wire.h signature uint8_t requestFrom(uint8_t, uint8_t); (and others) missing in ArduinoCore-megaavr

    Wire.h in ArduinoCore-megaavr for Arduino Nano Every misses signatures which are used in the ArduinoCore

    in megaavr core

        size_t requestFrom(uint8_t, **size_t**);
        size_t requestFrom(uint8_t, **size_t**, bool);
        size_t requestFrom(int, int);
        size_t requestFrom(int, int, int);
    

    in the Arduino Core from https://github.com/arduino/ArduinoCore-avr/blob/master/libraries/Wire/src/Wire.h

        uint8_t requestFrom(uint8_t, uint8_t);
        uint8_t requestFrom(uint8_t, uint8_t, uint8_t);
        uint8_t requestFrom(uint8_t, uint8_t, uint32_t, uint8_t, uint8_t);
        uint8_t requestFrom(int, int);
        uint8_t requestFrom(int, int, int);
    

    this miss match can throw warnings in libraries using the interface according to the the Arduino-Core - which i consider as "standard" how to do...

    example

    #include <Wire.h>
    
    void foo()
    {
      uint8_t address = 1;
      Wire.requestFrom(address, (uint8_t)1);
    }
    
    void setup() {
      Wire.begin();
    }
    
    void loop() {
    }
    
    

    brings

    
    C:\Daten\myrepository\Arduino\Forum no SVN\sketch_sep18a\sketch_sep18a.ino: In function 'void foo()':
    C:\Daten\myrepository\Arduino\Forum no SVN\sketch_sep18a\sketch_sep18a.ino:7:41: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
         Wire.requestFrom(address, (uint8_t)1);
                                             ^
    In file included from C:\Daten\myrepository\Arduino\Forum no SVN\sketch_sep18a\sketch_sep18a.ino:2:0:
    C:\Users\werner\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.7\libraries\Wire\src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
         size_t requestFrom(int, int);
                ^~~~~~~~~~~
    C:\Users\werner\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.7\libraries\Wire\src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
         size_t requestFrom(uint8_t, size_t);
                ^~~~~~~~~~~
    
    
    Type: Bug Library: Wire 
    opened by noiasca 0
  • Trojan:Win32/PackBackdoor ?

    Trojan:Win32/PackBackdoor ?

    I was trying to install Arduino IDE 1.8.19 and as always I ran the installer through VirusTotal. One of the Security Vendor's Analysis detects Trojan:Win32/PackBackdoor.0142b83b. I am thinking that this could mostly be a false alarm? Any thoughts?

    Arduino_IDE_1 8 19

    Component: IDE security 
    opened by mm108 4
  • Bug? VERY predictable output from random()

    Bug? VERY predictable output from random()

    VERY predictable output from random(), after being seeded with an incrementing counter.

    Attached sketch shows how I'm getting four streams of almost perfectly sequential numbers from an algorithm that uses multiple calls to random() after using an incrementing counter as a seed via randomSeed(). It should not be possible to get anything orderly from that, especially over such an immediately short period.

    The sketch (below) produces mac-addresses as my original script does, then has four columns: The first three columns show sequential numbers from the high-byte of the last octet, the fourth column shows sequential numbers from the low-byte of the last octet.

    Right from the start, with seed 0xb53fdfdf:

    
    // Random Seed:    0xb53fdfdf
         e2:fa:74:b3:a5:9c            9
         0e:9c:eb:97:7f:4c        4        c
         3a:3e:62:7a:59:fc    f         
         6a:e0:d9:5e:34:ac            a
         96:82:50:41:0e:5c        5     
         c2:24:c7:25:e8:0c    0         
         f2:c6:3e:08:c3:bc            b
         1e:68:b5:ec:9d:6c        6     
         4a:0a:2c:d0:77:1c    1         
         7a:ac:a3:b3:52:cc            c
         a6:4e:1a:97:2c:7c        7     
         d2:f0:91:7a:06:2c    2         
         02:92:08:5e:e1:dc            d
         2e:34:7f:42:bb:8d        8     
         5a:d6:f6:25:95:3d    3         
         8a:78:6d:09:70:ed            e
         b6:1a:e4:ec:4a:9d        9        d
         e2:bc:5a:d0:24:4d    4         
         12:5e:d1:b3:ff:fd            f
         3e:00:48:97:d9:ad        a     
         6a:a2:bf:7b:b3:5d    5         
         9a:44:36:5e:8e:0d            0
         c6:e6:ad:42:68:bd        b     
         f2:88:24:25:42:6d    6         
         22:2a:9b:09:1d:1d            1
         4e:cc:12:ec:f7:cd        c     
         7a:6e:89:d0:d1:7d    7         
         aa:10:00:b4:ac:2d            2
         d6:b2:77:97:86:de        d     
         02:54:ee:7b:60:8e    8         
         32:f6:65:5e:3b:3e            3
         5e:98:dc:42:15:ee        e        e
         8a:3a:53:25:f0:9e    9         
         b6:dc:ca:09:ca:4e            4
         e6:7e:41:ed:a4:fe        f     
         12:20:b8:d0:7f:ae    a         
         3e:c2:2e:b4:59:5e            5
         6e:64:a5:97:33:0e        0     
         9a:06:1c:7b:0e:be    b         
         c6:a8:93:5e:e8:6e            6
         f6:4a:0a:42:c2:1e        1     
         22:ec:81:26:9d:ce    c         
         4e:8e:f8:09:77:7f            7
         7e:30:6f:ed:51:2f        2     
         aa:d2:e6:d0:2c:df    d         
         d6:74:5d:b4:06:8f            8
         06:16:d4:97:e0:3f        3        f
         32:b8:4b:7b:bb:ef    e         
         5e:5a:c2:5f:95:9f            9
         8e:fc:39:42:6f:4f        4     
         ba:9e:b0:26:4a:ff    f         
    
    

    That's seeded with 0x3ffe883c, and that output is near the beginning.

    The first three columns to the right of the MAC addresses all show the high-byte of the last octet:

    • The 1st column shows 0xf - 0xf, sequentially
    • The 2nd column shows 0x4 - 0x4, sequentially
    • The 3rd column shows 0x9 - 0x9, sequentially

    The 4th column counts the low-byte of the last octet over a longer period, but the whole pattern repeats almost perfectly, and seemingly indefinitely, regardless of how it's seeded. Not the behaviour I expect from a PRNG!

    Just looking at the "random" MAC addresses I was wanting, it's obvious that the low-byte of the last octet is repeating for 14-15 times (14.7, on average) and then incrementing. Again, should be 100% impossible to get this from any self-respecting PRNG being seeded by a counter.

    nb the sketch has a delay() towards the bottom, so it scrolls up on a console at human-readable speed. For data-collection, just comment out the delay.

    nb2 the random seed can be set manually.

    sketch:

    /*
      ===========================================
    
      buggy "random()" function, as observed here:
      https://github.com/atom-smasher/esp8266_beaconSpam
    
      this sketch starts with a random seed "randomMacSeed"
    
      that seeds the prng via "randomSeed()" and an incrementing counter
      
      calls to "random()" are producing some very predictable outputs!
    
      this sketch shows the mac-addresses as they would be generated,
      and derived from those mac-addresses are four columns, all counting
      incrementally, with very few errors
    
      expected results: using an incrementing counter to seed the prng, i expect
      to NOT have predictable output like this
    
      ===========================================
    */
    
    
    const uint64_t randomMacSeed = os_random();     // random seed on startup
    //const uint64_t randomMacSeed = 0x1234abcd ;   // fixed seed; make it your own
    
    
    uint32_t i = 0;
    uint8_t  macAddr[5];
    
    
    void mayhemMac(uint32_t ssidNum) {
      randomSeed(uint32_t((randomMacSeed) + (ssidNum)));
      macAddr[0] = uint8_t(random(0x0, 0x100)) & 0xfe | 0x02 ;
      macAddr[1] = uint8_t(random(0x0, 0x100));
      macAddr[2] = uint8_t(random(0x0, 0x100));
      macAddr[3] = uint8_t(random(0x0, 0x100));
      macAddr[4] = uint8_t(random(0x0, 0x100));
      macAddr[5] = uint8_t(random(0x0, 0x100));
    }
    
    
    void setup() {
    
      // start serial
      Serial.begin(115200);
      //Initialize serial and wait for port to open:
      while (!Serial) {
        delay(10);
      }
      // wait for serial port to connect
      delay(300);
      Serial.println();
    
      Serial.printf("\n// Random Seed:    0x%x\n",  uint64_t(randomMacSeed));
    
    }
    
    void loop() {
    
        for (i = 0; ; i++) {
          yield(); // needed for extra-large lists
          mayhemMac(i);
          Serial.printf("     %02x:%02x:%02x:%02x:%02x:%02x",
            macAddr[0], macAddr[1], macAddr[2], macAddr[3], macAddr[4], macAddr[5]);
            yield();
    
            if (0 == i % 3) {
              Serial.printf("            %x", macAddr[5] >> 0x4);
            }
            if (1 == i % 3) {
              Serial.printf("        %x     ", macAddr[5] >> 0x4);
            }
            if (2 == i % 3) {
              Serial.printf("    %x         ", macAddr[5] >> 0x4);
            }
            if (1 == i % 15) {
              Serial.printf("   %x", macAddr[5] & 0x0f );
            }
    
           Serial.println(); 
           delay(200);
    
           }
        }
    
    

    Edited to correct how the seed is displayed, and share output with a verified seed.

    Component: Core Type: Bug 
    opened by atom-smasher 0
  • Window 10 Monitor Copy fails (empty clipboard) when first char included in the selection

    Window 10 Monitor Copy fails (empty clipboard) when first char included in the selection

    Tested using Arduino IDE 1.8.19 on Windows 10. with this sketch

    // Uno test for monitor copy/paste on Windows10
    void setup() {
      Serial.begin(9600);
      Serial.println("Line 1");
      Serial.println("Line 2");
    }
    void loop() {
    }
    

    With AutoScroll OFF or ON Ctrl+A (shows both lines highlighted) followed by Ctrl+C and then Ctrl+V into notepad => no text

    With AutoScroll OFF or ON Click and drag over both lines (showing both lines highlighted) followed by Ctrl+C and then Ctrl+V into notepad => no text

    With AutoScroll OFF or ON Click and drag over both lines BUT NOT the first char of the first line followed by Ctrl+C and then Ctrl+V into notepad =>

    ine 1
    Line 2
    
    
    Type: Bug Component: IDE Serial monitor 
    opened by drmpf 0
Releases(1.8.19)
  • 1.8.16(Sep 6, 2021)

  • 1.8.15(May 14, 2021)

  • 1.8.14(May 12, 2021)

    IDE

    • Fix status bar custom board preferences disappearing (thanks @magedrifaat)
    • Boards Manager bugfix: sometimes the "Install" button appeared instead of "Update" after entering a search term.
    • Libraries/Boards Manager: the Type and Category filters are kept after install/uninstall.
    • Added 'deprecated' label support in Boards Manager, platforms marked as deprecated are shown at the bottom of the list.
    • Serial Plotter: line endings dropdown menu now comply with the global preference settings. (thanks @sceniclife)
    • Libraries Manager: Maintainer is displayed instead of the Author.
    • Firmware Updater: Added new firmwares and support for Nano RP2040 Connect.
    • Boards Manager: cached 3rd party package_index.json are no more deleted if the origin URL is removed from preferences, this allows other tools (like arduino-cli), that may have different URLs configuration, to work properly.
    • The board configuration submenus are now scrollable.
    • New shortcut: Shift+click on Serial Monitor button will open the Serial Plotter. (thanks @n-elia)
    • Fixed NPE if no board is selected. (thanks @matthijskooijman)

    arduino-builder

    • Improved lib detection: check for matching name in library.properties
    • Fix compile if invalid build.options.json is found (thanks @d-a-v)
    • Improved error messages for .cpp/.h file in the sketch
    Source code(tar.gz)
    Source code(zip)
    arduino-1.8.14.tar.xz(29.28 MB)
    arduino-1.8.14.tar.xz.asc(833 bytes)
    arduino-1.8.14.tar.xz.sha512(171 bytes)
  • 1.8.13(Jun 16, 2020)

    IDE

    • Fixed crash on MacOSX >=10.15 with multiple monitor setups.
    • The boards in the boards list in the "Tools" menu are now grouped by platform. This should make the selection easier when there are lots of boards loaded in the IDE. (thanks @matthijskooijman)
    • Fixed save of proxy username/password settings in "manual proxy" section.
    • In "Tools / Programmers" menu only shows programmers related to the currently selected board. (thanks @matthijskooijman)
    • Fixed: sketch window out-of-display if the IDE is restarted after removing an external monitor.
    • Allow baudrate/config change when the Serial Monitor/Plotter is disabled. (thanks @matthijskooijman)
    • Updated jmdns to 3.5.5. Should improve network board detection.
    • Optimized libraries scanning during startup. (thanks @ricardojlrufino)
    • Better vertical centering of file names in tabs. (thanks @ricardojlrufino)
    • Better console rendering of progress bar during upload. (thanks @matthijskooijman)
    • Fixed invalid http "Accept" header.

    arduino-builder

    • Updated arduino-builder to 1.5.4
    • FIX REGRESSION: Fixed precompiled libraries containing "wrapper" code that has to be compiled together with the precompiled part.
    • Removed automatic '--relax' for compiles on Atmega2560 MCU
    • Fixed skethbook+bootloader hex merger when the bootloader is in .bin format.
    • Fixed relative path errors when traversing different partitions (in particular on macosx for larger sketches)
    • Added #define variable during lib discovery phase
    • Improved progress report from compile

    core

    • Updated AVR core to 1.8.3:
      • Wire class now supports timeout
      • Upgraded avr-gcc to 7.3.0-atmel3.6.1-arduino7
    Source code(tar.gz)
    Source code(zip)
    arduino-1.8.13.tar.xz(32.74 MB)
    arduino-1.8.13.tar.xz.asc(833 bytes)
    arduino-1.8.13.tar.xz.sha512(171 bytes)
  • 1.8.12(Feb 13, 2020)

    IDE

    • Reverted the bundled Java JRE to the latest freely redistributable Oracle JRE for all platforms except:

      • macOS (due to notarization)
      • aarch64 (due to missing graphical support)

      Switching to AdoptJDK demonstrated to be more challenging than expected, bringing in some corner case bugs that were not being caught by our testing procedures:

      • https://github.com/arduino/Arduino/labels/OpenJDK

      To guarantee the best user experience we decided to revert to the latest working JRE until all the issues are resolved.

    • Improved visualization of compiler errors (@matthijskooijman)

    • Fixed: "Comparison method violates its original contract" error in library manager

    • Serial monitor is no more cleared during upload, so it can be copy/pasted (@PaulStoffregen)

    arduino-builder

    • Updated arduino-builder to 1.5.2.
    • FIX REGRESSION: library priority selection for bundled libraries (like SD or Ethernet)
    • FIX REGRESSION: use AVR core installed via Board Manager (when present) instead of the one bundled in the IDE
    • Improved precompiled libraries handling
    • FIX: paths with spaces are now correctly printed in compiler output
    Source code(tar.gz)
    Source code(zip)
    arduino-1.8.12.tar.xz(32.94 MB)
    arduino-1.8.12.tar.xz.asc(833 bytes)
    arduino-1.8.12.tar.xz.sha512(171 bytes)
  • 1.8.11(Jan 27, 2020)

    IDE

    • FIX: Serial plotter do not hang if empty lines are received
    • A lot of accessibility improvements in Libs and Board managers GUI for screen readers (thanks @joew46167)
    • Sligtly improved support for themes in Libs and Board managers (thanks @matthijskooijman)
    • Serial plotter: added serial input text field (thanks @cactorium)
    • MacOSX: support for notarization (thanks @PaulStoffregen for the support)
    • Fix wrong bracket match rectangle on auto format (thanks @magedrifaat)
    • Pluggable discoveries: runtime.platform.path and runtime.hardware.path are now available as variables (thanks @PaulStoffregen)

    arduino-builder

    • Updated arduino-builder to 1.5.1
    • FIX: missed library-detection cache (forcing lib detection on each build)
    • FIX: Windows: the build folder may reside on a different partition
    • FIX: Segfault in arduino-builder with -dump-prefs if no sketch is specified
    • FIX: Allow loading of global user-define platform.txt
    • FIX: Fixed nil pointer exception on some rare case with multiple libs
    • FIX: Print "multiple libraries found for header.h" message only when it really happens
    • FIX: Fixed library priorities on some rare circumstances

    core

    • updated AVR core to 1.8.2

    wifi-updater

    • updated to 0.10.10
    Source code(tar.gz)
    Source code(zip)
    arduino-1.8.11.tar.xz(32.93 MB)
    arduino-1.8.11.tar.xz.asc(833 bytes)
    arduino-1.8.11.tar.xz.sha512(171 bytes)
  • 1.8.10(Sep 13, 2019)

    IDE

    • Live font resize now applies to console and serial monitor too @Pieter12345
    • Make it easier to build the IDE from sources on Windows @Pieter12345
    • Smaller Preference window, suitable for supersmall screens
    • Cache downloaded json and only retrieve them when changed @mattiabertorello
    • Suspend serial monitor if the board gets disconnected abruptly
    • Libraries can now declare dependencies that will be proposed during lib installation
    • SerialPlotter: allow adding labels @chromhelm
    • Support tar.xz archives for Board Manager @vowstar
    • SerialMonitor: add command history (via arrow keys) @Pieter12345
    • Accessibility: add checkbox to enable accessibility in Preferences @joew46167 This mode enables a plethora of improvements on voiceover and keyboard navigation. eg. links become accessible buttons, lists are scrollable via arrow keys without much pain

    wifi-updater

    • Add latest NINA firmware

    hardware

    • Bundle new avr toolchain (fixes lto issue with 5.4.0 and 64bit compatibility with upcoming macOS Catalina)

    arduino-builder

    • updated arduino-builder to 1.4.7 (based on the new arduino-cli)
    Source code(tar.gz)
    Source code(zip)
    arduino-1.8.10.tar.xz(32.92 MB)
    arduino-1.8.10.tar.xz.asc(833 bytes)
    arduino-1.8.10.tar.xz.sha512(173 bytes)
  • 1.8.9(Apr 1, 2019)

    IDE

    • New target! ARM64 boards are now fully supported (Nvidia Jetson and RaspberryPi3 with 64bit operating system)
    • Fix UTF8 related bugs on Windows
    • Fixed: can now compile again using OpenJDK (removed dependency on JavaFx)
    • Fixed: only use touchBar on OSX 10.12 or higher
    • PluggableDiscovery: easily add your own discoverer and make it available in Boards/Port menu (thanks @PaulStoffregen for the idea and the initial implementation)
    • LibManager: reduce slowdown when searching
    • Fixed: ensure a sketch line is visible when it contains an error and must be highlighted
    • Linux: the installer now tries to install a symlink is /usr/local/bin (this doesn't affect usual non-systemwide installation) Thanks @2E0PGS

    wifi-updater

    • Fix firmware upgrade not being available for 3rd party WINC boards

    arduino-builder

    • Updated arduino-builder to 1.4.4
    • Use lexicographic distance as last chance to spot the right library (if every other tecnique failed)
    • Fix some prototypes being inserted in the middle of a function
    Source code(tar.gz)
    Source code(zip)
    arduino-1.8.9.tar.xz(29.16 MB)
    arduino-1.8.9.tar.xz.asc(833 bytes)
    arduino-1.8.9.tar.xz.sha512(172 bytes)
  • 1.8.8(Dec 6, 2018)

    IDE

    • Fixed: command line parsing of version parameters when installing cores/libraries
    • Platform indexes are now downloaded using https
    • Fixed: on some newer linux distrubitions, NPE when loading GTK look-and-feel without libgtk2 installed
    • MacOSX: added touch bar support
    • MacOSX: do not exit app after closing last window
    • Fixed: serial monitor timestamps not always printed. Thanks @nitram509
    • Kill active programmer if still alive after closing last IDE window
    • Fixed: "Export compiled binary" now works also with unsaved sketches
    • Improved automatic port re-selection after upload
    • Added scroller to "INCOMPATIBLE" examples menu

    Wifi Firmware

    • Added firmware upgrade for NINA-based boards
    Source code(tar.gz)
    Source code(zip)
    arduino-1.8.8.tar.xz(29.14 MB)
    arduino-1.8.8.tar.xz.asc(833 bytes)
    arduino-1.8.8.tar.xz.sha512(170 bytes)
  • 1.8.7(Sep 12, 2018)

    (bugfix service release)

    IDE

    • Fixed: IDE doesn't start if library_index.json is corruped.
    • Fixed: IDE doesn't start if a library with invalid version is found.
    • Fixed: Rare build errors in very complex sketches (like Marlin firmware).
    • Fixed: Better dialog explaining that MacOSX 10.8 is now required. Thanks @PaulStoffregen
    • Fixed: Slow "File" and "Tools" menus in MacOSX
    • Fixed: Weird Board Manager behaviour if AVR core is downgraded to a version earlier than 1.6.22
    • Improved first-use usability if the user don't select the serial port. Thanks @PaulStoffregen
    • Custom "Tools" menu now keeps the order as defined in boards.txt.

    Core

    • AVR: Fixed EEPROM warnings. Thanks @bxparks
    • AVR: Treat "narrowing conversion" as warning, not error. This will make some libraries to compile again. Thanks @PaulStoffregen
    Source code(tar.gz)
    Source code(zip)
    arduino-1.8.7.tar.xz(28.83 MB)
    arduino-1.8.7.tar.xz.asc(833 bytes)
    arduino-1.8.7.tar.xz.sha512(170 bytes)
  • 1.8.6(Aug 23, 2018)

    IDE

    • Updated arduino-builder to 1.4.0:
      • parallel build (improve compile speed)
      • better reuse of already compiled files
      • Windows: fixed build for sketch stored under OneDrive cloud folders
    • Added translations for library types. Thanks @ReAlUA
    • Added scroller in programmers menu.
    • Added "accelerator" in scrollable menu, press "a" key while scrolling
    • Keep "Board Manager" menu item always as first in the menu
    • "Manage Libraries" is now also in the "Tools" menu. Thanks @feikname
    • Compiler errors now have both column and line
    • Serial monitor how has "Show Timestamp" option. Thanks @MichalSy
    • Improved DPI detection for hi-resolution montior on Linux
    • Added copy/paste contextual menu in Find/Replace text fields
    • Fixed long IDE startup time when some virtual/not-connected network interfaces are present
    • Fixed inconsistent line-endings when saving files on Windows
    • mdns: Make board disappear via TTL instead of reachability. Thanks @kurtgo
    • Library Manager: display install/remove buttons with mouse on-hover instead of mouse click
    • Board Manager: fixed some rare case with corrupted index download
    • Windows: removed some debug output when running the IDE from command line
    • Support selectable user-defined themes. User's theme are zip files inside the sketchbook "theme" folder
    • Library Manager: library search now search also for headers (.h) declared by the library in library.properties
    • Added "--version" to the CLI. Thanks @yohsuke
    • Fixed Serial Plotter/Monitor permanently disabled if Plotter fails to open
    • Fixed window title that sometimes is not updated on "Save as...". Thanks @JxJxJxMxNxS
    • Fixed keybindings for Increase/Decrease font size
    • Improved accessibility in the Preferences dialog. Thanks @coreyknapp

    Core

    • AVR: Set Optiboot as default bootloader for Nano. This is the bootloader installed on new Arduino Nano boards. If you have a Nano with the old bootloader you must select Tools > Processor > ATmega328P (Old Bootloader) to upload.
    • AVR core has been moved to its own repository: https://github.com/arduino/ArduinoCore-avr
    • Updated toolchain to gcc 5.4.0

    WiFi101 Firmware

    • SECURITY FIX: Released fix for WPA2 KRACK vulnerability (latest WINC1500 firmware 19.5.2).
    Source code(tar.gz)
    Source code(zip)
  • 1.8.5(Oct 2, 2017)

  • 1.8.4(Aug 21, 2017)

    IDE

    • IDE Toolbar can now go full width on 4K display.
    • Environment variable LIBRARY_INDEX_URL is now correctly parsed (LIBRARY_INDEX_URL_GZ can also be optinally specified). Thanks @xardael
    • Added per-board generic option in config file boards.txt for disabling control of dtr+rts. Thanks @d-a-v
    • CLI: fixed missing "runtime.platform.path" when running without the --board option
    • Linux: fixed desktop icon not launching the IDE in certain Window Managers (thanks @herrold)
    • Allow setting low values for console size (correctly applies console.lines=x in preferences.txt)
    • Make Preference window fit 600px height displays
    • Fix error when renaming an unsaved, newly added file. Thanks @matthijskooijman
    • Added the ability to increase/decrease font size via keyboard + mouse shortcuts (Ctrl + MouseWheel)
    • Sketch names starting with a digit are now allowed
    • Serial monitor is opened on a default position if the multi-monitor setup change (this should fix cases when the serial monitor is opened outside of the visibile space)

    Libraries

    • Fixed wrong folder name for "Adafruit Circuit Playground" library, now it can be updated cleanly.
    • Fixed wrong include for "RobotIRRemote", now it should not interfere anymore with the real IRRemote.
    Source code(tar.gz)
    Source code(zip)
    Arduino-1.8.4.tar.xz(34.07 MB)
    Arduino-1.8.4.tar.xz.asc(801 bytes)
    Arduino-1.8.4.tar.xz.sha512(151 bytes)
  • 1.8.3(Jun 5, 2017)

    (bugfix service release)

    IDE

    • Fixed RESOURCE_NAME in install.sh script
    • Serial Monitor: added "Clear output" button. Thanks @MichaelSy
    • added options in preferences.txt for: custom title, comment/uncomment shortcut, always show file extensions. Thanks @MichaelSy
    • added options in preferences.txt to enable/disable typing assistance (auto close brace, auto indent)
    • Enabling "Use external editor" option now requires to save all sketches.

    Core

    • AVR: added availableForWrite() method in generic Stream class. Thanks @eric-wieser
    • AVR: moved flush() method up in the class hierarchy from Stream to Print class. Thanks @matthijskooijman

    Other

    • Update Wifi101 Firmware Updater plugin
    Source code(tar.gz)
    Source code(zip)
    Arduino-1.8.3.tar.xz(34.07 MB)
    Arduino-1.8.3.tar.xz.asc(801 bytes)
    Arduino-1.8.3.tar.xz.sha512(151 bytes)
  • 1.8.2(Mar 22, 2017)

    IDE

    • Fix command line: works again with relative paths (regression)
    • Fix command line: "--save-prefs" works again (regression)
    • AVR toolchain has been updated with a tentative fix for the ld-returned-5-exit-status bug
    • Update arduino-builder to 1.3.25
      • avoid name clashing for libraries
      • cache core archives to speedup compilation consistently
    • Allow BoardManager to fetch FreeBSD tools (thanks @kevans91)
    • Serial monitor: the input string box is automatically focused when window is selected
    • Serial monitor: now can not be opened during upload
    • Serial monitor: now properly decodes UTF8 characters (thanks @aknrdureegaesr)
    • Serial monitor: added 500k, 1M and 2M baudrates (thanks @dsstutts)
    • Updated RSyntaxTextArea to 2.6.1 (textarea component)
    • Updated jmdsn (mDNS discovery)
    • Allow plugins to attach a listener to compile progress (thanks @tomneutens)

    Core

    • Add Atmel-ICE and JTAGICE3 programmers for AVR chips (thanks @matthijskooijman)
    • AVR: Set unused bits of extended fuse to 1, should remove some avrdude warning during burn bootloader (thanks @descampsa)
    • AVR: USB: send ZLP when needed (allows full 64 bytes packets)
    • AVR: USB: use IAD descriptors instead than Generic (thanks @cuitoldfish)

    Other

    • SAM platform source code has been moved to its own repository (https://github.com/arduino/ArduinoCore-sam) - all PRs and issues have been moved as well
    • Update Wifi101 Firmware Updater plugin
    Source code(tar.gz)
    Source code(zip)
    Arduino-1.8.2.tar.xz(25.58 MB)
    Arduino-1.8.2.tar.xz.sha512(192 bytes)
    Arduino-1.8.2.tar.xz.sig(819 bytes)
  • 1.6.6(Nov 4, 2015)

    Downloads at https://www.arduino.cc/en/Main/Software

    ARDUINO 1.6.6 - 2015.11.03

    [ide]

    • Switched to Java 8, which is now both bundled and needed for compiling the IDE
    • Added link to unofficial boards support list in preferences
    • Limit of possible new sketches in a day raised to 676. Thanks @Chris--A
    • Windows: fixed a bug when running username had non ASCII chars
    • Lots of fixes
    • ArduinoISP examples moved under 11.ArduinoISP folder
    • MacOSX: binary is now able to tell the IDE its current working directory. Eases life to those using the IDE from the CLI
    • CLI: if specified board doesn't exist, fail instead of using a default one
    • Windows: IDE stores its stuff under %LOCALAPPDATA% instead of %APPDATA% (which was a roaming folder). %APPDATA% content is automatically migrated to new location
    • Added 74880 baud rate to serial monitor. Thanks @Chris--A
    • When changing tab, file name is shown in window title
    • IDE groups compiled files into "libraries", "core" and "sketch" folders
    • Added Serial Plotter. Thanks @henningpohl
    • Editor: triple click selects whole line
    • Windows: IDE startup feels faster
    • Examples of libraries with a .development flag file in their root folder won't get marked as read-only. See #2619
    • Update notifications: when updates are available from either Library or Boards Managers, a popup will be shown
    • Introducing arduino-builder, a command line tool that properly calls gcc. Fixes lots of issues about buggy preprocessing.
    • Each open sketch gets built in its own folder, allowing the IDE to recycle previous compilations and being much faster
    • "Go to line": CTRL+L or Edit > Go to line... will open a dialog where you can type the line number where you want the editor to jump to
    • Added boards.local.txt support: like platform.local.txt, allows to enrich a boards.txt definition without modifying the original file. Thanks @Wackerbarth
    • Library to library dependencies: when your sketch imports a library, and that library uses another, the IDE will find out without you having to add a useless #include to your sketch
    • Allow per-platform keywords.txt. Thanks @PaulStoffregen
    • Allow spaces in IDE install path on Linux. Thanks @matthijskooijman
    • Fixed a lot of documentation. Thanks to @per1234 @q2dg
    • Fixed parsing for SystemProfiler when scanning for available serial ports on Macosx El Capitan

    [libraries]

    • Bridge: YunClient.connected() returns true if there are bytes available for read. Thanks @RobAtticus
    • Bridge: YunClient.stop() now empties all buffers. Thanks @RobAtticus
    • Ethernet: Added missing keywords. Thanks @per1234
    • Ethernet: Fixed DNSClient.inet_aton() function. Thanks @jhorck
    • Ethernet: Expose optional DHCP timout parameters to Ethernet:begin(). Thanks @chaveiro
    • Wire: Implemented Wire.end().
    • Wire: Fixed bug with repeated START for AVR. Thanks Nate Williams
    • Wire: Resolved timing issues on AVR. See #2173 #1477.
    • Wire: Fixed bug in repeated start in slave mode on SAM. See #3908
    • SD: Change "char *" to "const char *" on methods accepting a string as a parameter. Thanks @Ivan-Perez
    • Scheduler: Added support for cortex-M0. Thanks @PeterVH

    [core]

    • Added new PluggableUSB and HID support. This change introduces a more powerful API for libraries that wants use advanced features of USB-Device. Thanks to @obra @NicoHood @matthijskooijman @nospam2000 @weizenspreu
    • AVR: fixed wrong turnOffPWM() for TIMER0B. Thanks @gonzoveliki
    • AVR: added support for AtmegaXXu2. Thanks @NicoHood
    • AVR: a bunch of USB Core bug fix. Thanks @NicoHood
    • AVR: Expose serial setting from USB-CDC serial port. Thanks @matthijskooijman
    • ArduinoISP is now compatible with every architecture (not only AVR) and is much more stable. Thanks @PeterVH
    • Print not aborting on write() failure. Thanks @stickbreaker
    • AVR: Faster interrupts patch. Thanks @xxxajk
    • AVR: Fixed pulseInLong wrong measurements.
    • AVR: Removed a bunch of compiler warnings. Thanks @NicoHood
    • Improved variants files for Boards Gemma and Ethernet
    Source code(tar.gz)
    Source code(zip)
  • 1.6.5-r3(Jul 20, 2015)

  • 1.6.5-r2(Jul 20, 2015)

  • 1.6.5(Jun 15, 2015)

    ARDUINO 1.6.5 - 2015.06.15

    [ide]

    • File, Sketch and Tools menu items are properly handled when switching between different windows
    • Sketch > Export compiled Binary: saves the compiled binary (hex, bin) into the sketch folder. Thanks @championswimmer
    • New editor, based on RSyntaxTextArea. Thanks @ricardojlrufino
    • New keywords. Thanks @Chris--A
    • Easier "additional boards manager url" field: a wide text area opens by clicking the added button (right side of the text field)
    • Rewritten code of Preferences window: its content is now correctly drawn on every OS
    • Fixed a bug that made the IDE notify users of invalid libraries too many times. Thanks @Chris--A
    • Removed JNA. Less native stuff and less chances of incurring into an UnsatisfiedLinkError
    • Many new and old issues closed. Thanks to many, and @Chris--A in particular
    • Faster libraries list update
    • Serial monitor stays opened during upload, disabled. Thanks @avishorp and @Wackerbarth
    • CLI: --get-pref can now be called without a pref name. If pref name is missing, IDE dumps all preferences
    • Holding SHIFT when hovering the save icon will trigger a "Save As"
    • Removed proxy settings from File > Preferences: IDE will use system settings
    • Linux versions bundle the latest JVM, 1.8.0_45
    • Local docs: if your sketch has a "docs" folder, you can add local links to it. For example file://./docs/index.html will use your browser to open file index.html from the "docs" folder of your sketch
    • When using "external editor" mode, sketch code is updated when the IDE gets focused
    • Added keyboard shortcuts to IDE menus: ALT+F for File, ALT+E for Edit and so on
    • Added support for Dangerous Prototypes Bus Pirate as ISP
    • Added "Close" button to Boards/Libs Managers, in order to help linux people with weird Window Managers
    • Added File > Open Recent menu, showing the last 5 opened sketches
    • Windows: added Arduino Zero drivers
    • Tons of minor fixes

    [libraries]

    • LiquidCrystal fixes. Thanks @newbie15
    • Added SPI Transactions to TFT lib
    • Stepper: support for 5-phase/5-wires motors. Thanks @rdodesigns
    • Stepper: increased precision in timing calculations. Thanks @ekozlenko
    • Firmata and Temboo: dropped our vesions, tagged released are downloaded from their respective git repos

    [core]

    • AVR: delayMicroseconds(..) doesn't hang if called with 0. Thanks @cano64
    • AVR: delayMicroseconds(..), added support for 1Mhz, 12Mhz and 24Mhz. Thanks @cano64
    • AVR: added missing case in detachInterrupt(). Thanks @leres, @vicatcu
    • SAM: added watchdog routine for Due. Thanks @bobc
    • AVR+SAM: reworked pulseIn() function to become GCC agnostic
    • AVR+SAM: added pulseInLong() (based on micros()) to help getting good results in interrupt-prone environments
    • AVR: fixed regression in HardwareSerial.flush(). Thanks @chromhelm
    Source code(tar.gz)
    Source code(zip)
  • 1.6.4(May 6, 2015)

    ARDUINO 1.6.4 - 2015.05.06

    [ide]

    • Restored previous "error" colour in black lower part of the IDE
    • Relaxed IDE checks against libraries versions
    • Fixed colour of 'char' keyword. Thanks @mixania
    • Tools submenu show selected subentry. Thanks @PaulStoffregen
    • Boards and Libraries Managers command line (with contribs from @Lauszus): --install-board "arduino:Arduino SAM Boards (32-bits ARM Cortex-M3):1.6.3" and --install-library "Bridge:1.0.1". Version can be omitted: if omitted, latest version available is automatically picked
    • Warning levels can be set in File > Preferences
    • When compilation fails, editor highlights the reported row
    • Windows and MacOSX: updated bunbled JVM to 1.8.0_45 (latest available atm)
    • Disabled "uncertified" warning (requires avr core >= 1.6.6, sam core >= 1.6.4)
    • Additional boards/cores can be listed specifying comma separated list of package_SOMETHING_index.json url in File > Preferences
    • MacOSX: fixed wrong sketch opened when double clicking on a .ino file
    • Boards and Libraries main files are downloaded directly (no proxy php script), fixing some glitches when using a proxy server
    • Added notification if the bundled AVR core is newer than the one installed through Boards Manager (useful when upgrading the IDE)
    • Fixed error when in Serial and Network discovery that was leaving the Ports menu greyed out
    • IDE now deletes temporary files on exit. When using the CLI, --preserve-temp-files arguments skips deletion

    [libraries]

    • Bridge fixes
    • SD: allow multiple SD instances (@squelched)
    • SD: fix examples with Ethernet shield
    Source code(tar.gz)
    Source code(zip)
  • 1.6.1(Mar 11, 2015)

    Changelog

    IDE

    • Improved Yun detection for upload via network (Ron Guest)
    • In platforms.txt "objcopy" recipe is no more tied to the "hex" format (Arnav Gupta)
    • /dev/cu.* serial ports are now filtered from the port list on MacOSX
    • Ports in ports list are now grouped by type
    • Upgraded avr-gcc toolchains to 3.4.5
    • Fixed: wrong parsing of boards.txt when using submenu and boards id with underscores
    • Windows: updated bundled JVM to latest 8u31
    • Windows: JVM memory settings can be customized editing arduino.l4j.ini and arduino_debug.l4j.ini files
    • "new" button now behaves as "File -> New..." menu: a new window with an empty sketch is created
    • Windows: opening a lonely sketch caused the IDE to crash. Fixed with a bounty on bountysource @gerito1
    • Bridge: fixed bug with multiple and failing YunClient.connect calls @sngl
    • Translations updated
    • Improved SoftSerial library and optimized its memory usage @matthijskooijman
    • Fixed: status board was not changing when using custom menu @PaulStoffregen
    • Fixed: better error message when using a busy serial device
    • Fixed: missing bool operator on EthernetClient
    • Fixed: missing bool operator on SoftSerial
    • MacOSX: back to native file dialogs and buttons, when using experimental version
    • MacOSX: command line interface now works also with java-latest version
    • Improved library name matching @PaulStoffregen. Avoids conflicts with libraries that bundle files equally named
    Source code(tar.gz)
    Source code(zip)
  • 1.6.0(Mar 11, 2015)

  • 1.6.0rc2(Jan 23, 2015)

    Changelog

    IDE

    • Reenabled speed of 38400 on serial monitor
    • Improved Find/Replace dialog layout (Eberhard Fahle)
    • Fixed missing .dll error on some Windows box

    Core

    • Arduino "boolean" type is now mapped to "bool" instead of "uint8_t" (Christopher Andrews)
    • sam: HardwareSerial now has buffered transmission (Collin Kidder)
    • sam: HardwareSerial fixed modes (parity, data bits, stop bits) (bluesign2k)
    • avr: Fixed regression in pulseIn() function accuracy

    Libraries

    • GSM: minor changes and bug fix (https://github.com/arduino/Arduino/pull/2546)

    The following changes are included also in the Arduino IDE 1.0.7:

    IDE

    • Mitigated Serial Monitor resource exhaustion when the connected device sends a lot of data (Paul Stoffregen)
    Source code(tar.gz)
    Source code(zip)
  • 1.6.0rc1(Jan 23, 2015)

    Changelog

    • IDE internals have been refactored and sorted out. (Claudio Indellicati) https://github.com/arduino/Arduino/pull/2328 The builder and the GUI now have clearly separated source code making it easier for IDE developers to maintain and propose patch. From a user point of view nothing changes and the IDE should behave exactly as before.

    IDE

    • Autosave on sketch Upload/Verify (Fulvio Ieva)
    • Sketch build process: fixed full rebuild on windows even if not needed
    • Sketch build process: core.a rebuild only if needed (Matthijs Kooijman)
    • Updated AStyle formatter to v2.05: http://astyle.sourceforge.net/notes.html
    • Improved avrdude verbose upload (Matthijs Kooijman)
    • (Mac OSX) Add Exported UTI for ino files, allows quick look to view the content of the file and external editors to syntax highlight as C++ (Matt Lloyd)

    Core

    • sam: added -MMD flag to let gcc produce dependency files (full rebuild on Arduino Due is now triggered only if needed)

    Libraries

    • LiquidCrystal: added setRowOffsets function to support different LCD hardware configurations (Mark Sproul)
    • LiquidCrystal: various improvements and optimizations (Matthijs Kooijman)
    • Fixed PROGMEM error in Robot_Control/examples/explore/R06_Wheel_Calibration
    • SD: Fixed SPI transaction mismatch (Paul Stoffregen)

    The following changes are included also in the Arduino IDE 1.0.7:

    Libraries

    • EthernetClien: use IANA recommended ephemeral port range, 49152-65535 (Jack Christensen, cifer-lee)

    Core

    • Fixed regression in HardwareSerial::available() introduced with https://github.com/arduino/Arduino/pull/2057
    Source code(tar.gz)
    Source code(zip)
  • 1.5.8(Oct 7, 2014)

    Changelog

    IDE

    • Find/Replace over multiple tabs (Erwin Ried, Fulvio Ieva)
    • Fix wrong "Replace" behavior with empty "Find" field (Fulvio Ieva)
    • A lot of command-line improvements (Matthijs Kooijman)
    • Cursor is not moved when invoking autoformat

    Libraries

    • SPI: added transaction API (Paul Stoffregen) https://github.com/arduino/Arduino/pull/2223 https://groups.google.com/a/arduino.cc/forum/#!msg/developers/TuZLfjeZjDI/6deNjw3Y9m4J
    • FileIO bridge: fixed wrong return value in File::size() for size >32768
    • Updated Temboo to latest version
    • Updates/Fix to various examples

    Core

    • sam: "new" and "delete" do not bring in 50Kb of stdclib anymore
    • Correct implementation of gcc specific internal functions (_cxa_guard*) (Alexey Guseynov)
    • Fix for upload problems on Leonardo (and derivative boards based on mega32u4)
    • Small improvements on String class (Matthijs Kooijman)
    • Fixed size of available flash for mega2560 boards (Leonardo Milani, Arnav Gupta)
    • sam: removed useless empty digitalPinToTimer(..) macro stub (Bill Perry)

    The following changes are included also in the Arduino IDE 1.0.6:

    Core

    • avr: Added replacement stub for cstdlib atexit() funciton (Christopher Andrews)
    Source code(tar.gz)
    Source code(zip)
  • 1.0.6(Sep 17, 2014)

    Changelog

    Core

    • avr: Improved USB-CDC write speed (Justin Rajewski)
    • avr: Improved USB-CDC read code (Paul Brook)
    • avr: Fixed race condition in USB-CDC transmit (Paul Brook)
    • avr: Added replacement stub for cstdlib atexit() funciton (Christopher Andrews)
    • Fixed wrong NULL pointer handling in Stream class (Amulya Kumar Sahoo)
    • Backported String class from IDE 1.5.x (Matt Jenkins)
    • Backported Print class from IDE 1.5.x
    • Backported digitalPinToInterrupt macro from IDE 1.5.x
    • Added initVariant() hook to allow 3rd party variant-specific initialization
    • Added replacement stub for cstdlib atexit() function (Christopher Andrews)

    IDE

    • Added compatibility for IDE 1.5.x libraries layout
    • Fix toolchain command line to compile assembler files (Jimmy Hedman)
    • If two libraries have the same header file use the lib with the same folder name (Paul Stoffregen)

    Libraries

    • Robot_Control: removed duplicated SPI and Wire (Xun Yang)
    • Robot_Control: fixed issue on motors being opposite (Xun Yang)
    • Robot_Control: updated turning algorithm (Xun Yang)
    • Esplora: added reading form Tinkerkit inputs
    • SoftwareSerial: Fix idle level when initializing with inverted logic (Jens-Christian Skibakk)
    • fixed a bunch of examples

    Firmware

    • Wifishield: fixed paths on firmware upgrade scripts
    Source code(tar.gz)
    Source code(zip)
Owner
Arduino
This org contains the official Arduino tools (IDE, Pro IDE, CLI...) as well as the official cores. See @arduino-libraries for the official libraries.
Arduino
Business Application Platform - no-code/low-code platform to build business applications

Orienteer What is Orienteer Orienteer is Business Application Platform: Easy creation of business applications Extendable to fit your needs Dynamic da

Orienteer 189 Dec 6, 2022
Desktop size version of my Open 6DOF Platform.

Mini-6DOF Desktop size version of my Open 6DOF Platform. This is an expansion on my initial learning that I did to get up to speed for the big version

Christopher Knauf 4 Aug 26, 2022
Spring-Boot-Plus is a easy-to-use, high-speed, high-efficient,feature-rich, open source spring boot scaffolding

Everyone can develop projects independently, quickly and efficiently! What is spring-boot-plus? A easy-to-use, high-speed, high-efficient, feature-ric

geekidea 2.3k Dec 31, 2022
Hcode Online Judge(HOJ):An open source online judge system base on SpringBoot, Springcloud Alibaba and Vue.js !

Hcode Online Judge(HOJ) 前言 基于前后端分离,分布式架构的在线测评平台(hoj),前端使用vue,后端主要使用springboot,redis,mysql,nacos等技术。 在线Demo:https://hdoi.cn 在线文档:https://www.hcode.top/

Himit_ZH 179 Dec 31, 2022
An open source Minecraft plugin that allows operators to control who has access to the nether.

Nether Access Controller Description Nether Access Controller is a Minecraft plugin that allows operators to control access to the nether. It is essen

Daniel Stephenson 2 Feb 12, 2022
log4j-scanner is a project derived from other members of the open-source community by CISA's Rapid Action Force team to help organizations identify potentially vulnerable web services affected by the log4j vulnerabilities.

Log4j Scanner This repository provides a scanning solution for the log4j Remote Code Execution vulnerabilities (CVE-2021-44228 & CVE-2021-45046). The

Cybersecurity and Infrastructure Security Agency 1.3k Dec 22, 2022
Apache Maven artifacts for bootstrapping new open-source projects

OSS Quickstart Apache Maven archetypes for bootstrapping new open-source projects. Think Maven Quickstart Archetype and friends, but more modern, comp

ModiTect 49 Dec 31, 2022
🕊️ The world's most advanced open source instant messaging engine for 100K~10M concurrent users https://turms-im.github.io/docs

简体中文 What is Turms Turms is the most advanced open-source instant messaging engine for 100K~10M concurrent users in the world. Please refer to Turms D

null 1.2k Dec 27, 2022
Rivr is a lightweight open-source dialogue engine enabling Java developers to easily create enterprise-grade VoiceXML applications.

Overview Rivr is a lightweight open-source dialogue engine enabling Java developers to easily create enterprise-grade VoiceXML applications. Read our

Nu Echo Inc. 57 Jun 27, 2022
Free and 100% open source Progressive Java Runtime for modern Java™ deployments supported by a leading OpenJDK contributor

BellSoft Liberica JDK is a build of OpenJDK that is tested and verified to be compliant with the Java SE specification using OpenJDK Technology Compat

null 195 Dec 22, 2022
GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes.

GreenMail GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes. Supports SMTP, POP3, IMAP with SSL

null 529 Dec 28, 2022
Ethylene is a open-source, lightweight, general-purpose compatibility layer standing between the developer and the chaotic world of configuration file formats.

Ethylene Ethylene is a open-source, lightweight, general-purpose compatibility layer standing between the developer and the chaotic world of configura

Steank 7 Aug 9, 2022
An open source civilization like game made in LibGDX

OpenCiv A turn based strategy game built on LibGDX, with a rouge-like tile set. About OpenCiv is a love letter to turn based strategy games inspired b

Rhin 58 Dec 26, 2022
Java based open source static site/blog generator for developers & designers.

JBake JBake is a Java based open source static site/blog generator for developers. Documentation Full documentation is available on jbake.org. Contrib

JBake 1k Dec 30, 2022
FreeLogJ - Start a conversation in your company about paying open source maintainers

Start a conversation in your company about paying open source maintainers! In the meantime enjoy this super-simple logging framework^W class.

Chris Newland 11 Jan 24, 2022
An open-source, free, scanner for exotic armour in Hypixel Skyblock

TheExoticsMod An open-source, free, scanner for exotic armour in Hypixel Skyblock! Searches friendslists, the auction house, and inventories to find e

null 4 Dec 26, 2022
Onepop is an utlity client previously paid, but now public and open source

onepop Onepop is an utlity client previously paid, but now public and open source, the client license is the GNU General Public License v3.0. The clie

Wks JanStudio 50 Dec 30, 2022
An open source Discord Bot made in Java!

ShiShi An open source Java Discord bot Report Bug . Request Feature About The Project This is a open source Java discord bot making use of the JDA lib

kb 2 Aug 5, 2022
Keycloak - an Open Source Identity and Access Management tool

Keycloak is an Open Source Identity and Access Management tool. You can use it to add authentication to applications and secure services with minimum effort. No need to deal with storing users or authenticating users.

Erdem Günay 9 Sep 20, 2022