Freetronics Ether10 Details
The EtherTen is a combination of the Freetronics Eleven and an Ethernet Shield all on the one board. It is fully compatibible with the Arduino Uno and the Arduino Ethernet Shield. It uses the ATmega328P as the Uno the same Wiznet W5100 as the official Arduino Ethernet Shield. It is fully compatible with the Ethernet library and sketches.
- Wiznet W5100 Ethernet Interface
- ATmega328 microcontroller
- Input Voltage between 7 - 12V, PoE Regulator
- 14 Digital Inputs of which 6 provide a PWM (Pulse Width Modulated) Output
- 6 Analog Pins
- 40mA DC current per I/O pin
- 50mA DC current for 3.3V Pin
- 32KB Flash Memory (0.5KB used by the bootloader
- 2KB SRAM
- 1KB EEPROM
- 16MHz Clock Speed
- MicroSD Card for storing web files or logging data to a file.
During programming and testing the EtherTen board can be powered via the USB connector. However we would not normally use the USB port for power. So we have alternatives such as Inline Power Injection wich utilizes the spare pair in the ethernet cable to provide a power source. The power supply is split from the cable prior to connecting to the ethernet port. This is then fed into the DC jack.
You can power the Freetronics EtherTen board via the DC power jack. The power jack is 2.1mm center powered.
You can use between 6V and 20V DC to power the board. It is recommended that you should not go below 7V to allow for the voltage drop across the power regulator. If you go too low then the regulator output might drop below 5V and this can cause issues with the boards operation.
It is also recommended that you do not go above 12V. The power regulator may over heat and cause damage to the board.
The pins are used as follows:
- Power over Ethernet (PoE) There are several ways of implementing PoE for this board. However some require additional daughter boards to provide the full 802.3af PoE support. For more details click here on how to implement to different types of PoE.
- 5V: This is a regulated output from the on board voltage regulator. This power will come from either the USB or DC input jack. This is fed into the on board 5V voltage regulator. The output from the regulator is connected to this pin. You use this pin to provide 5V to power components connected to the Arduino board. The maximum current draw is approx 400mA on usb and higher if using the DC power jack.
- 3.3V: This is a regulated output from the on board voltage regulator. The output from the 3.3V regulator is connected to this pin. You use this pin to provide 3.3V to power components connected to the Arduino board. The maximum current draw is 50mA
- You can power the board by connecting a regulated 5V source to the 5V pin or 3.3V to the 3.3V Pin. The power will go directly into the ATMega328 micro controller. The on board power regulators are bypassed. If something goes wrong here then you could very easily damage the ATMega328 chip. Arduino advise against powering the board this way.
- GND: Board ground as fed from the ground pins on the DC input jack and the USB connector. Use this ground for components connected to the Arduino board.
- VIN: This pin is connected to the input side of the on board voltage regulators. Whatever input DC is supplied to the board by the DC input jack will also appear on the VIN pin. You could also connect power to the board using this pin instead of the USB or DC input jack. Because it is connected to the input side of the voltage regulators the regulated 5V and 3.3V Dc will be supplied to the board. css
There are 16 digital pins on the Arduino board. They can be used as inputs or outputs. They operate at 5V and have a maximum current draw of 40mA. They have an internal pull up resistor that is disabled by default. The pullup resistors are betwen 2 - 50kOhms and can be enabled via software.
We can control the digital I/O pins using the pinmode(), digitalWrite() and digitalRead functions.
Some of the digital I/O pins have additional functions:
- Serial: Pin 0 (RX) and 1 (TX). These pins are used to transmit and receive serial TTL (5V) data. These pins are also connected to the Atmega16u2 USB to Serial TTL chip on the Arduino board.
- PWM: Pins 3,5,6,9,10 and 11. The pins can provide a PWM (Pulse Width Modulated) 8 bit output. We use the analogWrite() function with a value between and 0 and 255 to control the duty cycle of the output.
- SPI: Pin 10 (SS), 11 (MOSI), 13 (SCK) are used to provide SPI (Serial Peripheral Interface) communications using the SPI library
- External Interrupts: Pins 2 and 3 can be configured to trigger a interrupt on the signal going low or on a rising or falling edge. We use the attachInterrupt() function to enable interrupts.
- LED: There is a LED connected to Pin 13. When the output on pin 13 is high the LED will be turned on. The LED will be turned off when the output is low.
The Freetronics EtherTen has 6 analog inputs that are labled A0 through to A5. Each of these Analog pins have 10 bits of resolution which translates from 0 to 1024 different values. By default they measure from ground to 5 volts. It is possible to extend the range using the AREF pin and the analogReference() function. Some of these pins have additional functionality.
- TWI: A4 or SDA pin and A5 or SCL pin. These pins are used to support TWI communications using the Wire library.
- AREF: Used to provide a reference voltage for the analog inputs. Used with analogReference().
- RESET: By bringing this line LOW it will reset the ATMega328 micro controller. Can be wired to shields to provide a reset button when the reset button on the Arduino Uno is blocked by the shield.
Using Analog Pins as Digital Pins
We can configure the Analog I/O pins to function the same as Digital pins. The Analog to Digital pin mappings are as follow:
- A0 => Digital Pin 14
- A1 => Digital Pin 15
- A2 => Digital Pin 16
- A3 => Digital Pin 17
- A4 => Digital Pin 18
- A5 => Digital Pin 19
We can now use the pinmode command to define the pin as a INPUT or OUTPUT. So for pin AO we would use 14 as the pin value. To write to the pin we would use digitalWrite with the appropiate digital pin value as shown in the list above.
The Arduino has several modes of communications.
- Ethernet: The Freetronics EtherTen uses the Wiznet W5100 ethernet chip. The connection speed is 10/100Mb. The W5100 ethernet chip communicates with the Arduino via the SPI port.
- USB: The Freetronics EtherTen uses an onboard ATmega8U2 to connect the serial TX and RX pins on the ATmega 328. The 8u2 replaces the FTTI usb chip used on other boards. This serial data is sent out by the USB chip to appear as a virtual com port on the computer connected to the USB port. The Arduino IDE Serial monitor also uses the USB port to send serial data to and from the Freetronics board. The TX and RX leds will flash when data is sent and received via the USB port.
- Serial TTL: The Arduino Uno board has a TTL level (5V) serial communications on the digital pins 0 (RX) and 1 (TX). This could also be connected to a RS232 or RS484 chip to provide serial communications to another device. Note: The onboard TX and RX leds will NOT flash when using serial comms on digital pins 0 and 1. These LEDS are USB comms only.
- I2C and SPI communications: The EtherTen supports both of these serial communication formats. Use the Wire library for the I2C bus. Use the SPI library for the SPI bus.