Go Down

Topic: ENC28J60 vs Wiznet: what's the CURRENT status? (Read 15 times) previous topic - next topic

Ran Talbott

Chip prices are pretty much irrelevant to my situation, because I don't have the ability to use the Wiznet chip: I could design a board for it,  but I couldn't assemble it.  The board in that instructable is doable, though.

That "rumored ethernet+Arduino" might, indeed, be a solution.  If it ever arrives.  Meanwhile, I just found this little critter, which is very close to what I'd build, myself (except for using the dual-row headers: I prefer single-row for ease of use with stripboards and breadboards).  It's kinda like a "Baby Netburner", with an ATMega128 on it.  It's intended to be programmed with AVR Studio,  but it's got a JTAG connector,  so I'm a-thinkin' it should be possible to put an Arduino bootloader on it.



I dont have any of the other ethernet shields so cant really compare them myself, just share my feedback from using the ENC28J60 and the shields I've used from nuelectronics (I have about 5 of them!). Thanks for linking to my site too.

I found the original library fairly complex and inflexible so re-wrote it using the code from tuxgraphics.org tcp/ip stack. This was much better but still had some limitations such as everything had to fit into a single packet, whether acting as a server or a client. The tcp part of the library only caters for sending a single message before closing the connection (something I need to fix for another project!).

The protocol you use needs to be implemented in the software, such as IP, then TCP or UDP, the packets need to be built up manually byte by byte as there is no current equivalent to the print function. If you want to create a server then you need to make the pages very simple and small enough to fit into a single buffer and packet. The problem here is that if you make a larger buffer, you reduce the available memory for other variables and data structures. There is also the risk of over running the buffer and corrupting other areas of memory which is something I've not really addressed with the library and could be whi I sometimes see the odd lockup or reset.

Recently I've added DNS lookup support to the library and have been thinking of looking at DHCP too but thats as far as I've got with it!

With the enc28j60 most of the functionality needs to be on the software side, this makes it more difficult to use for beginners, but also makes it more flexible as you are able to implement whatever protocol you need.

Hope this helps



The big difference is that the Wiznet includes a TCP/IP stack and the ENC28J60 doesn't. Well worth the $2.50 difference in chip prices.

If you're making a bunch of items I think the way to save money would be to make your own circuit board and assemble them. It wouldn't be that hard to do.

Look at the NKC ethernet shield kit: http://www.nkcelectronics.com/nkc-ethernet-shield-diy-kit-without-wiz812mj-mod812.html

and the RBBB kit:

The layout for the RBBB is available in eagle format (see this thread: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1239340243)

What you would have to do is modify it to include the guts of the ethernet shield kit.

I estimate the finished product would cost about $40 for parts.  Maybe $70 for the pre-made version isn't so bad...


The big difference is that the Wiznet includes a TCP/IP stack and the ENC28J60 doesn't.

While this does give flexibility over the Wiznet device... all that SILICON based code in the Wiznet device now has to steal code space on the Arduino... leaving less room for your project code.


I am starting to be a little worried about a TCP/IP chip that doesn't support IPv6.

Go Up