-->
Page 1 of 2

espthernet - 10BASE-T Ethernet running ON an ESP

PostPosted: Fri Apr 01, 2016 12:33 pm
by cnlohr
After several months of development, I got the I2S port to talk 10BASE-T Ethernet - no PHY, no MAC, no controller. I figured I should post here so it would be an official thread of sorts for this project. Feedback, questions, etc.

For those who are wondering, the "April Fools" of this is that there is in fact no hardware dedicated ethernet controller, instead it is a software-assisted 10BASE-T Ethernet controller. It is surprisingly high performance. <1ms ping times, able to transfer ~3MBits/s without a hitch. This could easily replace the use of an ENC28J60 and other controllers for getting wired Ethernet hooked up to the ESP.

The HackADay article has a good bit of detail of how the project works: http://hackaday.com/2016/04/01/ethernet ... e-esp8266/ the Github link has the code: http://github.com/cnlohr/espthernet and the youtube video shows it in action.


There's a lot of directions this project would go and I'm hoping to raise some interest to see if I can get some help with it! I'll be updating this main thread with more information as it goes.

Re: espthernet - 10BASE-T Ethernet running ON an ESP

PostPosted: Fri Apr 01, 2016 6:12 pm
by wififofum
I was wondering why you wanted to do this: viewtopic.php?f=6&t=9041

Thanks and congrats. Might be good for espmesh bridge.

Re: espthernet - 10BASE-T Ethernet running ON an ESP

PostPosted: Sat Apr 02, 2016 1:31 am
by cnlohr
...And when I was asking about duplex I2S several weeks back.

Regarding the TCP/stack hooks: The way I hooked in currently is just plain AWFUL. I have a second IP/ARP/UDP/TCP stack that runs alongside it :(. Hopefully espressif will be a little more open with their stack, or amenable to giving us access to the wifi frames and we write a stack.

Re: espthernet - 10BASE-T Ethernet running ON an ESP

PostPosted: Sat Apr 02, 2016 4:32 am
by wififofum
Have you tried anything with one of the alternate sdks with lwip sources and adding a second network interface via netif_add? I don't know if it is a reasonable approach, just throwing it out there.