Use your Wiring boards with the Arduino IDE
The Wiring project was initiated in 2003 by Hernando Barragán. In 2005 Wiring was used as the starting point and inspiration for the creation of Arduino. The Wiring IDE is no longer under active development and the Wiring boards are no longer in production. For more Wiring history see https://arduinohistory.github.io.
In addition to the Wiring boards hardware definitions, this package provides advanced configuration options. The referenced core libraries also provide Wiring API functions.
- Supported Boards
- Installation
- Usage
- Troubleshooting
- Contributing
- Acknowledgments
- Wiring Theme
- Wiring Boards
- License
- Wiring S
- Wiring S with Play Shield
- Wiring V1.0
- Wiring Mini V1.0
- Wiring V1.1 ATmega1281
- Wiring V1.1 ATmega2561
There are two options for installing wirino in the Arduino IDE:
- Open the Arduino IDE.
- Open the File > Preferences menu item.
- Enter the following URL in Additional Boards Manager URLs:
https://per1234.github.io/wirino/package_per1234_wirino_index.json - Open the Tools > Board > Boards Manager... menu item.
- Wait for the platform indexes to finish downloading.
- Scroll down until you see the wirino entry and click on it.
- Click Install.
- After installation is complete close the Boards Manager window.
- Download wirino
- Stable releases: https://github.com/per1234/wirino/releases
- Beta test version: https://github.com/per1234/wirino/archive/master.zip
- Extract the downloaded file.
- Rename the extracted folder wirino.
- Move the wirino folder into the hardware subfolder of your sketchbook folder. You can find the location of your sketchbook folder in the Arduino IDE at File > Preferences > Sketchbook location:.
- If the Arduino IDE is running then restart it.
wirino only provides hardware definitions and bootloader files. You also need to install the core files to support your Wiring board. Follow the installation instructions found on the core's page.
- Wiring S, Wiring S with Play Shield - MightyCore (v2.0.0 or newer required)
- Wiring V1.1, Wiring V1.0 - MegaCore (v2.0.0 or newer required)
After installation, several new boards will be added under the wirino section of the Tools > Board menu. When any of these boards are selected additional menus will appear under the Tools menu.
Whenever you change a setting in any of these menus other than Compiler LTO you need to do a Tools > Burn Bootloader to reconfigure your board.
BOD stands for Brown-out Detection. This feature is intended to avoid improper operation caused by insufficient supply voltage. If the supply voltage drops below the BOD value then the microcontroller is reset.
- 16MHz - This is the default clock speed of the Wiring boards.
- 8MHz Internal - May be used to reduce power consumption.
- Wiring - The bootloaders included with the Wiring IDE v1.0 build 0101.
- WARNING: When using the Wiring bootloader, uploading will hang for certain sketches. If you have verbose output enabled you will see an error
avrdude: stk500v2_recv(): checksum error
followed by periodicavrdude: stk500v2_ReceiveMessage(): timeout
. At this point the sketch has actually successfully been uploaded but the upload process won't finish until you pull the USB cable. I welcome any help in solving this issue or identifying the cause (see #1).
- WARNING: When using the Wiring bootloader, uploading will hang for certain sketches. If you have verbose output enabled you will see an error
- Optiboot - This is a more modern bootloader which will free up 1 kB of flash memory. This is actually a special variant of Optiboot which allows writing to flash from the application. See File > Examples > Optiboot flash read/write > SerialReadWrite.
- None - If you use an ISP (in-system programmer) to upload sketches to your Wiring board with this option selected you will be able to use the full flash memory capacity of the microcontroller.
- Yes - The contents of the EEPROM will be preserved through Tools > Burn Bootloader and Sketch > Upload Using Programmer.
- No - The contents of the EEPROM will not be preserved through Tools > Burn Bootloader and Sketch > Upload Using Programmer.
Link Time Optimization (LTO) is a compiler optimization that can significantly reduce memory usage of your sketch. It requires Arduino AVR Boards 1.6.12 or newer to be installed.
- wirino entry doesn't appear in Boards Manager when using Arduino IDE 1.6.6.
- Close Boards Manager and then open it again.
- wirino boards don't appear in the Tools > Board menu after manual installation.
- wirino requires Arduino IDE 1.6.1 or newer.
The current selected board needs the core 'MegaCore:MCUdude_corefiles/MightyCore:MCUdude_corefiles' that is not installed.
orSelected board depends on 'MegaCore/MightyCore' core (not installed).
orfatal error: Arduino.h: No such file or directory
- You must install the required core.
- Make sure you are using v2.0.0 or newer of the required core.
Your compiler does not support LTO. Please either upgrade Arduino AVR Boards or select Tools > Compiler LTO > No.
- You have Tools > Compiler LTO set to Yes but have a version of Arduino AVR Boards installed that doesn't support LTO. Either update to a newer version of Arduino AVR Boards or select Tools > Compiler LTO > No.
Bootloader file specified but missing
warning while compiling when using Arduino IDE 1.6.6.- Please ignore, this is caused by a bug in that IDE version and will not cause any problems.
- A library or sketch doesn't work correctly with wirino.
- The microcontroller models used on the Wiring boards are different from those used on the Arduino boards. Many libraries and example sketches will work fine on Wiring boards. However, the authors of some Arduino libraries or sketches have only written their hardware specific code to work with the microcontrollers used on standard Arduino boards. MightyCore contains a collection of libraries modified to work with Wiring S and Wiring Play Shield boards. MegaCore contains libraries modified to work with Wiring V1.1 and Wiring V1.0 boards. You can easily modify other libraries/code to support your microcontroller, see https://github.com/MCUdude/MightyCore/blob/master/Library_porting.md for instructions.
- When using the Wiring bootloader, uploading hangs for certain sketches. If you have verbose output enabled you will see an error
avrdude: stk500v2_recv(): checksum error
followed by periodicavrdude: stk500v2_ReceiveMessage(): timeout
.- At this point the sketch has actually successfully been uploaded but the upload process won't finish until you pull the USB cable.
- If you burn the Optiboot bootloader to your board (Tools > Bootloader > Optiboot) the problem will no longer occur.
- I welcome any help in solving this issue or identifying the cause (see #1).
avrdude: verification error; content mismatch
error during lock verification while burning bootloader with AVRISP mkII or other STK500v2 programmer.- wirino is not compatible with Arduino AVR Boards 1.6.12 (included with Arduino IDE 1.6.10). Please use any other version of Arduino AVR Boards.
avrdude: AVR Part "build.mcu" not found.
oravr-g++: error: unrecognized argument in option '-mmcu=build.mcu'
.- wirino requires Arduino IDE 1.6.1 or greater,
- Uploading fails after configuring the board to run at 8 MHz.
- The internal oscillator used for the 8 MHz clock is not as accurate as the external 16 MHz clock source on your board. In some cases it might be so far off as to not allow uploads. Use the 16 MHz clock speed instead.
- I found a bug.
- Please read the Contribution Rules for instructions on reporting it.
Pull requests or issue reports are welcome! Please see the contribution rules for instructions.
- Hernando Barragán - Founder of Wiring.
- MCUdude
- MightyCore
- MegaCore
- MightyCore:standard variant used as a base for the Wiring S and Wiring Play Shield variant files.
- MegaCore:64-pin-avr variant used as a base for the Wiring 1.0 and Wiring 1.1 variant files.
- Modifications to Optiboot source code to support the ATmega128.
- majekw - Modifications to Optiboot to support microcontrollers with larger flash sizes and writing to flash from the application.
If you like Wiring and Arduino you might be interested in a theme for the Arduino IDE that will make it look like the Wiring IDE:
https://github.com/per1234/ino-themes/tree/Wiring-theme
The primary purpose of this project is to provide Arduino IDE support for existing Wiring boards. Although no longer being produced, there are still some boards available for purchase and design files you can use to to make your own.
- Wiring S
- Wiring S Play Shield
- Wiring V1.0
- Board design files: http://wiring.org.co/download/Wiringhardware.zip
- Schematic: http://wiring.org.co/download/wiring-Rev0004.pdf
- Updated design files by WestfW: https://hackaday.io/project/62511-revive-wiring
- Wiring Mini V1.0
- Board design files: http://wiring.org.co/download/WiringMini.zip
- Schematic: http://wiring.org.co/download/WiringMini.pdf
- Wiring V1.1: I have not found design files for this board. If you know where they may be found please submit an issue or pull request.
See the license file.
That license applies to all files included with this package unless a different license is included in the file or subfolder.