Arduino IDE 1.0.1 – New Features

The Arduino development team’s release of the new Arduino 1.0.1 IDE includes the big ticket items of Arduino Leonardo board support and translation into 32 languages.  However, a number of other features and bug fixes are included in this release. The following are some highlights from the 1.0.1 release notes.

Faster Compiles

The IDE now reuses compiled object files, when possible, to decrease compilation time. This includes the files which are pulled in through includes and by the IDE, so it can lead to some dramatic improvements (using the blink sketch, I saw re-compile time drop by about half).  No special actions are required to see this speed improvement.

Faster Code Uploads

The Preferences dialog now includes the option to disable verification on upload in order to decrease upload times. On my sample sketch, this trimmed upload time by roughly a third.  You can edit the Preferences dialog by selecting the Arduino menu, then clicking the Preferences… menu item.  Uncheck the Verify code after upload checkbox and click OK to see the speed increase.

The Return of Wire.write(0)

The Wire library now contains overloaded methods to support calling Wire.write(0) without needing to typecast the parameter.  This addresses a breaking change which was introduced in the 1.0 release.

Find / Replace Enhancements

The Find / Replace system has added the ability to find previous when searching. This can be accessed through the Find dialog, menu items, or keyboard shortcuts. The dialog has gone through some visual cleanup and now sports a checkbox option to wrap the search when it reaches the end of the document.  The Find dialog can be reached by selecting the Edit menu and clicking the Find… menu item.

Improved Accessibility for Serial Monitor and Log Panel

Changing the editor font size in the preferences dialog also changes the font size in the serial monitor and message console. You can edit the Preferences dialog by selecting the Arduino menu, then clicking the Preferences… menu item.  Change the text value for the Editor font size text box, click OK, and restart the IDE to see the font change.

Intelligent Text Selection

The IDE has gained some additional smarts when selecting text. To see this in action, double click on a word and start dragging the mouse. The selection will grow and shrink on word boundaries. Triple click before dragging and the selection grows and shrinks on line boundaries.

Enabling / Disabling Internal Pull-Up Resistors

The implementation of pinMode has changed in this release in regards to how the internal pull-up resistors are handled. Setting pinMode to INPUT now has the side effect of disabling the pull-up resistor. The new constant, INPUT_PULLUP, can be passed to pinMode to enable the pull-up resistor when setting the pin as an input.

Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.

Join 7,500+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython in 2018 – Python on Microcontrollers is here!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/

Maker Business — Rethink Robotics closes shop. Long live collaborative robots #makerbusiness

Wearables — Zip it up

Electronics — Serial overkill

Biohacking — Biohacking Resources – Books, Talks and Podcasts

Python for Microcontrollers — CircuitPython @ Hackaday SuperCon #ICYMI @circuitpython @micropython @ThePSF #Python

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !


  1. Stupid question: what are internal pull up resistors and what do they do?

  2. When an input pin is not connected to an active component it tends to float, resulting in unpredictable values on read. By attaching a pull-up resistor to the input, you change that behavior so that it will read near the source voltage. An active component on the input will override the source voltage provided through the pull-up resistor. Additional detail – http://en.wikipedia.org/wiki/Pull-up_resistor

    The Atmega chip on the Arduino provides 20K pull-up resistors to +5V (these resistors are internal to the chip itself) on the digital and analog pins. You can enable and disable these resistors by making method calls. Additional detail is available in the documentation on the digital pins – http://www.arduino.cc/en/Tutorial/DigitalPins

  3. I can’t express how awesome the “faster compile” changes are. When I’m building a project that depends on a lot of libraries, it makes things so much faster, it’s a completely different world. I like to recompile a lot, but only upload when I’m actually ready to test, so not only does it make all the compiling faster, when I compile, and then decide to upload, it doesn’t recompile everything again just to upload.
    So awesome! Great work everybody.

  4. Question: Do you know offhand if the old way of doing input pull-ups still work? (pinMode INPUT, digitalWrite HIGH) If not I’ve got to go through and update all of my old code, kind of annoying.

  5. My read on it is that the old way should work, as long you follow that order – pinMode INPUT, digitalWrite HIGH. I think the issue would be if you called pinMode INPUT after calling digitalWrite HIGH. That said, I haven’t tested it myself yet.

    The specific issue in Google Code:

    The commit in github: https://github.com/arduino/Arduino/commit/76c964d32b13f1fc01e3a5b07460d96f2dcaecd6

  6. I think the method for setting pull-ups is the same across all AVR’s — almost like a standard extension of the instruction set. If a pin can be addressed, it can be pull-up enabled. Likewise the method for setting pins to a Hi-Z state.

Sorry, the comment form is closed at this time.