I love the Arduino as a simple and accessible controller platform for many varied projects. A few months ago, a purchased an Ethernet shield for my Arduino controller to work on some projects with a mate of mine - it was a massive hit - for the first time, I could control my projects remotely using simple software.
That got me thinking - The Arduino costs about $30AUD, and the Ethernet board cost about $30AUD as well. That is a lot of money - Could I make a simple, dedicated remote controller for much cheaper? Why Yes I could. Could I make it the size of a credit card? Why Yes - I could!!
This project is my simple Arduino compatible controller that has embedded Ethernet, and the capacity to drive some extra I/O lines for projects, such as a Remote thermometer, a Remotely accessible Fridge controller, and a Remote Humidity sensor. I have to say from the start that I didn't write all of the software, my mate Mikal did that - but this instructable is about making your own controller board!
Step 1: Here Is the Schematic Diagram
For the curious, this is the schematic diagram of my simple Ethernet board.
As you can see, there are a number of exposed header connectors that can be used to connect peripheral devices to.
The board is powered with a supply of between 7 and 12v. It contains voltage regulators to provide +5v and +3.3v for the Ethernet controller.
There is also a 4 position DIP switch that can be used to allow programmed functions to be modified. A failing of the standard Arduino Ethernet library is that the IP address for the board has to be set in code. Using the DIP switch, a block of addresses can be selected from as required. You can make 16 boards, and have each board automatically select a different address based on the switch setting. This is *really* handy when you have deployed 10 sensors around the house. All you need to do is set a switch and then they are configured.
The pinouts of the I/O connectors are;
I/O1 - 1 - PD5 (Arduino Pin 5)
I/O1 - 2 - PD6 (Arduino Pin 6 +pullup to +5v) - Used to connect a DS1820 Temperature sensor.
I/O1 - 3 - PD7 (Arduino Pin 7)
I/O1 - 4 - PD8 (Arduino Pin 8)
I/O1 - 5 - GND
I/O2 - 1 - +5v
I/O2 - 2 - GND
I/O2 - 3 - PD4 (Arduino Pin 4)
I/O2 - 4 - PC0 (Arduino Analog 0)
I/O2 - 5 - PD3 (Arduino Pin 5)
I/O2 - 6 - PC1 (Arduino Analog 1)
I/O2 - 7 - PC2 (Arduino Analog 2)
I/O2 - 8 - PC3 (Arduino Analog 3)
I/O2 - 9 - PC4 (Arduino Analog 4)
I/O2 - 10 - PC5 (Arduino Analog 5)