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.
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 has had paid day off for voting for our team for years, if you need help getting that going for your organization, let us know – we can share how and why we did this as well as the good results. Here are some resources for voting by mail, voting in person, and some NY resources for our NY based teams as well. If there are additional resources to add, please let us know – adafruit.com/vote
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 code.org, 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.
Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !
Stupid question: what are internal pull up resistors and what do they do?
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
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.
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.
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.
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.