Instructables

Add Ethernet to any Arduino project for less than 10$

Picture of Add Ethernet to any Arduino project for less than 10$
So you have a neat Arduino project going on. Wouldn't it be nice to add Internet connectivity and do it on the cheap as well? This Instructable will show you how to add Internet connectivity in the form of an Ethernet interface for a few dollars and in less than half an  hour. More info at: http://hwstartup.wordpress.com/
 
Remove these adsRemove these ads by Signing Up

Step 1: Order an ENC28j60 Ethernet module on eBay

Picture of Order an ENC28j60 Ethernet module on eBay
Apart from your Arduino, you need a read-made Ethernet module. You can easily get these on eBay for as low as 10$. Just search eBay for ENC28J60 module. In addition, you need to have a bit of electrical wire, a soldering iron and some soldering 'tin'.

Step 2: Wire up the Ethernet module

Picture of Wire up the Ethernet module
Now it's time to wire up the module. Either use a connector to put on the Ethernet module header or solder straight onto the pins (like I did). You will need just six wires, I used about 3-4 inches length, but this is not critical (as long as it's not a foot long).

Wire up as following (ENC = module side):
- ENC SO -> Arduino pin 12
- ENC SI -> Arduino pin 11
- ENC SCK -> Arduino pin 13
- ENC CS -> Arduino pin 8
- ENC VCC -> Arduino 3V3 pin
- ENC GND -> Arduino Gnd pin

Markings are on the module in white text. The result should look similar to the picture.

If you done this rigt, the LEDs on the module will light up when the Arduino is powered. Stick in an Ethernet cable and the LEDs on the Ethernet connector should light up, showing local Ethernet traffic.
Hansaplast27 days ago

Great article!

I've been playing with a comparable [eBay: $18 w/Arduino Nano] ethernet shield, also based on the ENC28J60.

I tried a few libraries (ETHER_28J60, EtherCard and UIPEthernet) and found UIPEthernet to work very well as well, specially since it's a drop-in replacement library for the "standard" Ethernet Library that comes with your Arduino IDE. So all the Ethernet Examples included with your Arduino IDE work by just replacing the "#include <Ethernet.h>" with "#include <UIPEthernet.h>".

http://www.tweaking4all.com/hardware/arduino/ardui...

demonspells made it!1 month ago

Hello,

Thanks for a perfectly simple tutorial, I was able to set it up in less than 10 minutes, all thanks to you.

1926685_601661906583579_13647449_n.jpg
mickeypop1 year ago
There are similar at dx.com for about $5.90 and work with Arduino's ethernet library right out of the box.   Shipping is free.

They also have many other Arduino add-ons at very good prices.

For you other hackers, this can be a great source and save money at the same time.
And here is one on That Auction Site for less than that....

http://www.ebay.com/itm/like/111114905350?lpid=82
classtopher11 months ago
I was expecting to see a level converter between the 5v arduino and 3v Ethernet enc28 board on the data lines. I've seen other DIY arduino Ethernet boards that use it. But yours indicates that is not necessary? Thanks.
francisroan11 months ago
Hi well i did bought the bigger version of this module but i really wanted to know how to actually communicate the arduino to the actual internet and not the LAN..! could you pls tell us how..?
francisroan11 months ago
Hi could you please tell us how to connect this module with the arduino to communicate to the outside world(the internet) and not just the LAN . I want it to send me emails.!

Pls help.

Thank you for your time.!
awsome! i purchased one of these modules on amazon for 7 bucks and i tried getting it running but failed but this is alot more clear than the translated chinese instructions. THANKS A TON!
hansc44 (author)  kyle brinkerhoff11 months ago
Hi Kyle,

How far have you come?
- Do you have the LED on the PCB on?
- When you connect to your router/modem, do you see the LEDs on the Ethernet connector light up?
- What do you see on your serial port (copy here?)?

Hope this helps you.

Hans
well heres what i got, i used the example script that uses dhcp to obtain an ip and it basically says it cant obtain an ip, im gonna check my wiring....
photo.JPG
hansc44 (author)  kyle brinkerhoff11 months ago
Kyle,

Traveling now, so I cannot help now. Sorry.
oh its all good, its wiring on my end that just has to be troubleshooted
jerbs12 months ago
I'm getting an Ethernet has not been declared error while compiling.. anyone else with this problem?
hansc44 (author)  jerbs11 months ago
I think that the Ethershield library is not where Arduino expects it to be. Have you downloaded it form github as described in step 3? Where is it placed in your file tree?

BTW The provided Sketch of step 3 is used with Arduino 022.
jerbs hansc4411 months ago
Sorry, I thought I deleted that right after I posted it... I didn't read the post all the way through, so of course I didn't download the correct libs.. that's what I get I suppose. Thx for replying though.
How well do these modules work compared to the W5100?
hansc44 (author)  rocketman22111 months ago
They have similar functionality. Big difference is that W5100 has all the networking stuff (TCP/IP) in the chip, whereas with the ENC28J60, this is done in the Arduino with the two mentioned libraries.
aramperez1 year ago
Thanks for the project, I had an Ethernet board but hadn't connected it yet. I downloaded the following EtherShield library (http://trollmaker.com/data/documents/ethershield_v1.1_for_arduino_v1.0.zip). To use it, I had to change ENC CS -> Arduino pin 8 to ENC CS -> Arduino pin 10.
hansc44 (author)  aramperez11 months ago
Thanks for sharing
Hi, congratulations itś very good proyect. Warm the atmega when the device is turn on due to the ethernet adaptor? I' bought a similar adaptor that broke my arduino.
horphmyre1 year ago
Excuse me for being a little dumb with regard to electronics, but what does this do?
You're not being dumb, as you are asking. The high level explanation is that this takes a network controller and connects it to an Arduino, so that whatever you are doing with an arduino can be done across your lan, or the internet. There are several turorials out there showing how to add a temperature sensor to an Arduino and have the Arduino present that information to your computer. You can also use light sensors, a wide variety of alarm sensors, etc. that allow you to gather information from the environment of the Arduino. This tutorial shows how to add the hardware, and some of the support software for that hardware to an arduino to make use of the information across the internet. To do that you will have to look to some of the other instructables related to Arduino and Netduino projects.

One of the reasons to consider this project is that the Netduino shield, and several of the netduino variations on the Arduino board tend to cost significantly more than $10 on top of an Arduino. As noted elsewhere, there are other options as well, but this is one that the instructable author found, and is sharing the information on.

A slightly lower level explanation is that this network interface controller is a SISO connectable device that you can add to an Arduino in one of a number of ways. SISO simply is one of several ways of communicating between a controller like an Arduino, and various devices such as this Network interface, sensors, and switches and relays. Some other ways of doing similar things is with MIMO and I2C, each of which has different requirements and capabilities.
erigovrin1 year ago
thank you for a good and simple explanation. can i now give orders to the arduino from another computer through the internet? what will happend to the code of the ethernet?
thanks eri govrin
bill20091 year ago
very nice - thanks for the step-by-step hookup instructions.
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!