I would look at the design of bi-directional level converters like the Sparkfun one. If you don't need Ethernet then maybe one of the 3.3V Arduino's like this will do the job.