A little while back, I decided to go make my Minecraft server compatible with an ESP8266.
It worked out quite well.
The chip is very powerful.
It's got plenty of speed, RAM and other resources.
Made porting it to it very easy.
It could fit in this little redstone block here.
If you're curious about that video you can click on it right here.
Somewhere in that video, though I said "I think this is the world's smallest Minecraft
server."
And at the time I might have been right, but not any more, because right here is a little
AVR it's an ATMega32u2 and uuh it is probably the world's smallest minecraft server now.
You can see it compared to the size of the keys on my keyboard.
Here it is in my hand.
And uum it's actually a lot more tough to get the Minecraft server to run on here.
The ATMega32u2 only has 1 kB of RAM and 32 kB of flash.
That 1kB of RAM is where the tough part is.
So, as you can see here, it's very small, very compact.
And, it has on the back this little USB port.
It's actually the male side, it's actually the first time I've ever tried making a circuit
board with USB on the back, but surprisingly it just worked the first time.
Not very well.
There are some changes I would make - shorten up the pads, change things around a little
bit.
But it works!
If I plug it into my computer.
I go over here and say dmesg.
Right here, it registers as an RNDIS host.
This is actually the same from LUFA.
This is the first time I've ever used LUFA and I'm really annoyed at how bloated LUFA
is.
I don't know how they can get away with calling it 'lightweight' considering how ridiculous
it is in size.
Including the fact that they include a TCP/IP driver that expects you to do things like
copy the buffers around.
What do they think they are?
They expect more than four kilobytes of RAM??
So, I ripped most of that out and put in my own TCP/IP driver.
I called it tcp_awful.c, because it doesn't bother retransmitting or anything else it's
just uh too bad.
But it works.
So, from here I can configure my computer's IP, and I can ping the little USB driver.
So, I am actually pinging, through a virtual network stack, the AVR right here.
You can see it's pretty stable it keeps coming back.
Additionally, I can now connect to Minecraft that little device right there.
And I'm presented with all of these switches.
All little colored switches.
And, for all of these switches here I can flip them and they'll do something.
So, let's turn out the lights.
So, here I have hooked up to it this string of WS2812 LEDs.
Let's go walk up to the wall, and I can click this yellow lever right here, and it'll turn
the lights on to yellow.
Or Blue.
Or Orange, Purple.
By the way, this is super duper horrible.
The stack I think there's some smashing going on.
There's just not enough RAM to do this right and I didn't put a lot of effort into it.
It's just awful.
It does work, though.
Proof of concept.
I think I now have the world's smallest Minecraft server.
Despite this being an awful project, I hope you guys liked the video.
You can leave comments and I have the designs for this, despite it being completely terrible
and barely working in the description.
Cya.