Tuesday 5 August 2014

Credit card sized Arduino with Ethernet

I dunno about you but I find the whole Arduino board format very cumbersome. It can also get very expensive too. Frustrated with boards stacked on top of each other I decided it was time to create a smaller board format that housed my most common components: ethernet, I2C, 12v PSU and of course the micro processor itself. 

One can find anything on Al Gore's Interweb if one looks hard enough. It was not long before I discovered something that could be fashioned into use. It had a few minor issues but as I would have to design a board anyway it was a good jumping off point.

The completed board
My version differs from drj113's in that I have removed the DIP switches and replaced them with a dual header so that one can use the header for either analog inputs or as a DIP selector. I returned all the components back to normal size (some were SMD). I've also brought out all the unused digital pins to a header on the edge of the board and added a FTDI interface so that one may connect a serial programmer.

Well, it almost worked first time. I stuffed the PCB, uploaded a sample sketch that would connect to the Internet and .... nothing. Crap! I hate diagnosing circuits. But for some odd reason rather than get the meter out and poke on about the board I decided that the problem MUST be with the software. I get like that after a beer or 3.



I was kinda sorta right too! It would seem that there are in fact 2 different libraries for the ENC28j60 Ethernet chip I'm using and of course, I had the other one. Easily fixed. I edited the library source code to reflect the moving of one of the signal pins used by the Arduino to talk to the Ethernet. It appears that the 2 libraries exist because of the addition of an SD card reader. The SD card would share some of the same pins as the Ethernet. To allow for both, the Ethernet pins get moved around a bit. Great! I fixed it. Upload the sketch and ..... nothing. 

Well, not nothing but not anything useful. I had established communication with the Ethernet chip but no further. This was proved by the reading of the Ethernet chip's version number and then the failing of any DHCP. CRAP!!!!

It turned out to be a trivial fix in the end but it took me over an hour to diagnose; I had neglected to add a pull down resistor onto one of the Ethernet controllers pins. 2K7 later and bingo! It did not take long to correct the PCB files and re-upload them to oshpark for others to use.

The final board with all the bugs ironed out
I've already pressed this board into service with my NTP shack clock. It works great!!

The design files in Eagle format . . .




2 comments:

  1. nice layout, I am anxious to get one made. BTW, the "brd" link is incorrect. Take care.

    ReplyDelete
  2. Incorrect link? How so? The .brd file downloads just fine here.

    ReplyDelete