Go to Main menu -> Tools-> Update Firmware
ACC already has set of binary files(firmware) included in installation or archived distribution package. These files are compiled C++ code(code you write in Arduino IDE).
With built-in firmware uploader, user can prepare Arduino board for usage(controlling Inputs and Outputs) and data visualisation without writing single line of code.
Why Arduino Control Center has so many firmware listed in Upload Firmware window?
At first Arduino device setup, you will have to choose one of listed firmware and upload this file to Arduino device. Read more HERE
- By default, each firmware has built in support for following elements, controlled from Arduino Control Center:
INPUTS: Switches, Buttons, Push Buttons, ANALOG sensors(any 3_wire GND,VCC,DATA), LDR (light), LM35(Temperature), ML8511(UV), TEMT6000(Light) sensors
OUTPUTS: PWM (Pulse With Modulation), DIGITAL OUTPUTS(HI - LOW state outputs for toggling relays, led)
LOGIC: Logic commands - IF, THEN, AND, OR, AND NOT, OR NOT
I2C_Slave: I2C Master - Slave communication between Master(ACC controlled Arduino) and max 2(two)Slave arduino devices
ANALOG: MAP RANGES(Integer, Float) values, expanded Arduino map() function
For example, if you want to use the most popular digital temperature sensors DS18B20, and send these data over the network with classic Arduino Ethernet shield based on Wiz5100 chip, in firmware has to be included libraries for this hardware.
With very limited flash(and RAM) free space in ATMEL ATmega328p chip, with all required libraries nothing else can be added.
So, if you want other types of configuration, there are other types of firmware with different configurations
When is time to update firmware in your Arduino boards?
It depends of what version of Arduino Control Center you are running.
NOTE: Upgrading(updating) firmware is usually required (always read release notes) when you upgrade Arduino Control Center to a new major version.
As an example, receiving data protocol from the Arduino devices is not changed since 0.9 beta version. It means, that configuration in Arduino device will be properly displayed in v1,2,3 Arduino Control Center versions.
But, uploading new configurations from v3.0.0 Arduino Control Center to Arduino with firmware v1.0 will brake this compatibility. Upgrading to the latest firmware included in actual Arduino Control Center and re-upload Inputs, Outputs and Program(rules) configuration is mandatory.
Upgrade Firmware (USB connection is required!):
Select Arduino board, go to Tools - Update firmware and update Arduino firmware to the latest version.