Arduino Ethernet Shields

The Arduino Ethernet Shield connects your Arduino to the internet. Just plug Arduino Ethernet Shield module onto your Arduino board, connect it to your network with an RJ45 cable and follow a few simple instructions to start controlling your world through the internet. The original Arduino Ethernet Shield is based on the Wiznet W5100 ethernet chip. The Wiznet W5100 provides a network (IP) stack capable of both TCP and UDP. Arduino communicates with both the W5100 and SD card using the SPI bus. Here is a video of Ethernet shield in use: Arduino + Ethernet Shield – Web controlled LED

Some time ago I bought Ethernet Shield V1.1 for Arduino. This product is also called Ethernet Shield. At high level does the same (connects Arduino to Internet/Ethernet) but is cheaper (which is good). Ethernet Shield V1.1 for Arduino is technically very different from original Arduino Ethernet Shield. This board does not work with the Ethernet Shield Driver supplied with Arduino IDE :-( This implementation is built using different chips that need different software.

sku_66908_1

Ethernet Shield V1.1 for Arduino uses ENC28J60 SPI Ethernet controller and compatible HR911102A RJ45 socket. It is designed to be stackable by accepting prototype shield or any other boards with Arduino compatible interface. This board can be made with some work on Arduino IDE. Manually action is needed to download additional driver and put the driver in use. But this not too hard thing to do. This board works right out of the box with the sources that you can download at https://github.com/thiseldo/EtherShield. There is a web server application example to use Arduino as a distributed network sensor. There are plenty of examples to get going. It was pretty easy to build a test application that allows to control a LED connected to Arduino board through a web browser.

The only downside (it applies to original Arduino Ethernet Shield) is that the RJ-45 connector has so high profile that it is impossible to plug full size Arduino Shield like always useful Arduino Sensor Shield directly on top of the Ethernet shield. Some form of spacers (similar connectors as used in building Arduino Shields should do) are needed between the connectors on the Ethernet shield and the shield on top of this.

4 Comments

  1. Tomi Engdahl says:

    EtherCard
    Ardino interface library for the ENC28J60 Ethernet controller chip (GPL).
    http://jeelabs.net/pub/docs/ethercard/

    Reply
  2. Tomi Engdahl says:

    Link Trucker is a Tiny Networking Giant
    http://hackaday.com/2016/01/22/link-trucker-is-a-tiny-networking-giant/

    [Kristopher Marciniak] designed and built an inexpensive device that verifies the basics:

    Is the link up? Is this cable connected?
    Can it get a DHCP address?
    Can it perform a DNS lookup?
    Can it open a webpage?

    What’s going on under the hood? A Raspberry Pi, you’d think. A BeagleBoard? Our hearts were warmed to see a throwback to a more civilized age: an ENC28J60 breakout board and an Arduino Uno. That’s right, [Kristopher] replicated a couple-hundred dollar network tester for the price of a few lattes.

    LinkTrucker
    https://hackaday.io/project/9229-linktrucker

    Inspired by other hardware, this Arduino UNO and ENC28J60 checks your Ethernet Link, DHCP, DNS, and connects to a server for < $25!

    The Arduino initializes the Ethernet Module and shows a link or not. It then tries to get a DHCP address (if none defaults to stored IP and warns you). Then it connects to Google DNS at 8.8.4.4 and looks up our friendly neighborhood time server "0.pool.ntp.org" (if it can't find it it warns you). Finally it makes a web connection to "www.google.com" (if it can't it warns). So all green lights mean that we got an IP and we can see then internet!

    Reply
  3. Tomi Engdahl says:

    Arduino Ethernet Library 2.0.0
    https://www.pjrc.com/arduino-ethernet-library-2-0-0/

    released the Arduino Ethernet Library version 2.0.0, for all Arduino boards (not just Teensy).

    Version 2.0.0 adds many new features and greatly improves performance. Here’s a detailed look at what’s new.

    Auto-Detect Hardware
    All 3 SPI-based chips from Wiznet, W5100, W5200, and W5500 are supported. Ethernet.begin() automatically detects which chip you have connected.

    Version 2.0.0 greatly improves performance. Optimizations at multiple levels within the library work together to vastly improve performance, especially on the oldest W5100 hardware, and also make the most of the newer W5200 and W5500 chips.

    The Wiznet chips transmit and receive Ethernet packets with their internal buffer memory.

    W5100 chips see a tremendous TCP speed boost, because the delayed ACK feature was poorly implemented in that old chip. Even W5200 & W5500 speed is improved, especially when larger buffers are used.

    Block Mode For Data Transfer

    EthernetClient has 3 new functions similar to the ones from EthernetUDP. The remoteIP() function is very nice after connecting, if you used a name and DNS found the IP number.

    EthernetServer now has an accept() function, for use by more advanced projects. The traditional available() function would only tell you of a new client after it sent data, which makes some protocols like FTP impossible to properly implement.

    Reply

Leave a Reply to Tomi Engdahl Cancel reply

Your email address will not be published. Required fields are marked *

*

*