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.

Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here:

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in!

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

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

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community!

CircuitPython – The easiest way to program microcontrollers –

Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

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


  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 –

    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 –

  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:

  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.