We’ve said it time and again, the Arduino is a prototyping platform. In that spirit, [Doug Jackson] shows you how to conserve the expensive Arduino board and Ethernet shield by building your own Arduino Ethernet module. You may remember the ENC28j60 as a NIC for your microcontrollers. [Doug’s] board makes use of that chip and adds an ATmega168 with a crystal, power regulator, breakout pins, and even a few DIP switches which can come in quite handy.
22 thoughts on “Stepping Beyond The Ethernet Shield”
Leave a Reply
Please be kind and respectful to help make the comments section excellent. (Comment Policy)
nice; single-sided, mostly through-hole, no super-expensive or weird parts, and arduino-compatible. now I just need something useful to do with one!
This would be great for an ArpCop network. Add one of these to each segment of my network and find out where exactly the attacks are coming from. Next step, get the baseball bat out of the server room…
hmm, no TCP/IP stack. Say goodbye to using any of the space left on your ATMega to do much useful. The ENC28J60 is okay for chips that have a bit more Flash + RAM, but for Arduino, forget it. Get one of the Wiznet modules (not ethernet shield).
Thanks my friend, i finally got the meaning of the word “millenial”….
Now i see why you keep buying bitcoins! =) lol, well…
PS: My real reply was so damn cruel (but honest, real and not bad intention behind it, i mean, just the reallity from an old engineer pov) that i preffer to delete it… since, showing reality might be the right honest thing to do… But… not if the price of reality slap is your own ambition and capacity to wonder, imagine and dream….
So i hope u did learn all the things i did put on my deleted reply…
I mean… to me… it doesnt matter… will be poor for ever, since well… see? spoilingf the fun again! =) well, my friend, i will resume it in an easy way:
Juice Nutritional Food Processing Machines….
1940: Mecanical mostly using classical –force ++distance = –distance ++force
1960: Motors, buttons…
1990: More powerful torque and handy buttons to select how does it juices food.
2010: More pretty, same crap, less reliable (since u get the minimal electronic matter, with the scuse of less power consumption, as if electromagnetic motor devices werent the main power waste on a juicer…)
2020: More Or Less Pretty, same crap, less buttons, it has touchpad, mmm well a capactive micronic surface makes it 50US$$ more expensive, plus more “theccnhy” right? lol
My friend, use i2c, onewire, or get ur own protocol…
Then route it to one or two mcus (meaning u could get any interconection voltage/frecuency, and maybe even preprocessed data… like… compresion, like crc, and so on) all for the price of an usb or serial port… then in that computer, just get an old pc, put it linux, make ur software network stack be: Kernel, Init (ur damn software gateway!!!)
And thats it….
U dont need that damn #1 pid to be anything but your forkable poolable proxy/transoder or what ever u want to call it….
Well… i mean… if u know raw c… and u know whip like upiex, then… u can have a damn pretty state of art domotics… for the price of an old piece of garbage.. plus… hundreds of gb of ide to store ur analitics, your telemetry or whar ever u wish to get…
Trust me, the easy way is fun, the hard way.. i mean…. u can spend years, tryng to reinnovate the weel…. but… when you make it…. probbly there will no need for weels at all…
Cheers =) happy 21
@Cageybee As Anon pointed out, there are plenty of other perfectly useful network protocols other than TCP/IP. UDP and ARP for ex. are doable with next to no resources.
Plus, you dont -need- to implement a complete stack – for a sensing application, for example, you might only need to send packets, eliminating half of the stack entirely.
Just a thought.
@nes & Moggie100 I guess that’s okay if all you’re wanting the ATMega to do is take a few measurememts to send over a network to be processed be something else.
The point I was trying to make is that if you wanted to make a stand-alone project that automatically posts to t’internet, you’d be screwed with this approach.
For instance, I’m currently working on an internet connected weather station, that posts it’s reading to a mySQL db every 15 mins, auto time syncs, has an LCD, has a built in server to allow the device to be setup, like a router.
It’s already 24k and is no where finished.
What it comes down to is horses for courses, I can see that this would be useful in many circumstances, but similarly, it wouldn’t for many.
The Cageybee
So I know the Arduino is basically a prototyping monster, but how would one translate their creation to a breadboard or PCB? You program the a new chip with the code you write and place components where they need to be? I’ve been wanting to get down and dirty with this stuff, but I’m reluctant to commit because I don’t know how to go from prototype > final build on a PCB…
@The Cageybee
Why not build the Arduino Webserver, but substitute this for the ethernet shield? This may also solve the bus conflicts.
In other words, he recreated the tuxgraphics board from 4 years ago, which runs the uIP stack just fine.
@anonymous You do realise that the sd cadr is only used for servining HTML pages don’t you. I.e. you can’t run code from the SD.
As I daid, it’s horses for courses. I only wanted to point out to people who aren’t that familier with the Arduino platform that, this is not directly comparable to the Arduino and the Ethernet shield.
Personally, I don’t use the shield, I have a wiz810mj. I don’t use shields at all. That’s because I like to build full projects with protoboard. If I had the money produce PCBs, I would. But at the same time to place an Arduino and a shield or two in to a finished project and call it done justy feels half arsed to me.
@Lee If you’re looking to move from Arduino to protoboard, you only need 4 components minimum.
Check ‘Instructables.com’ for some guides.
The Cageybee
Sorry for all the mistakes. I really shouldn’t drink. :-)
@Cageybee, you can get circuit boards fabricated very cheaply these days. BatchPCB is only $2.50 per square inch, but there’s a $10 fee, plus about $10 shipping. Laen at DorkbotPDX is doing a similar batch order, at $5 per square inch, but no extra fee and shipping is included. So if you can design the board small, it’s very cheap!
http://www.dorkbotpdx.org/wiki/pcb_order
The one in the photo is a USB multiplexer I made about a month ago. The 3 boards in the photo were only $7, including shipping!
Most people are using Eagle to do the layouts, which is free for 2 layer boards at smaller sizes.
PS: anyone else interested in cheap PCB, please spread the word…. Laen’s a really nice guy and he’s certainly not making much money, if any, and he’s even lost money on a couple orders but wants to keep this going.
@Lee: Search around here, I think there are some guides.
But basically, just make a board in EAGLE with an ATMEGA, crystal, etc. and tack on what you need. You can get bare chips with the Arduino bootloader or you can burn your code to the chips directly.
Hit me up in the comments if you need me to elaborate.
@The Cageybee: Why not use some sort of server side script to handle your SQL database? Something simple that uses sockets to talk to your microcontroller. Sockets in python is dead easy, and combined with something like SQLAlchemy, is very powerful and would vastly reduce code needed on the micro.
Where can the source code to the IP-stack and the ethernet driver be found? This is worthless without it.
Arduinos are cool because they enable people to play with MCU’s without having the understanding necessary to wire one up. It’s interesting how many more people are doing this stuff now that they don’t have to really understand the hardware.
I don’t know why everyone insists on calling everything with an AVR microcontroller in it an arduino. It’s like calling your computer a Windows or a Linux, almost accurate but not really.
It seems perfect to develop DIY OSC controllers!
great work Doug!
a couple of modifications will make the board perfect for what I need.
do you plan to release the kicad files?
what’s the cheapest way to do single sided boards around 12-15 cm square? (For antennas..)
Besides doing them myself…
So why even use the adrino in this case… I see no advantage. The router itself is many times more powerful and has i2c, jtag, usb, pci buses plus it runs a linux os with a full stack…