maniacbug is an Arduino wizard…

February 1, 2012 | Arduino | By: Mark VandeWettering

Ken Boak was nice enough to gift me with a pair of Nanodes when he was out visiting last month. Much to my embarrassment, I haven’t had much time to play with them, so tonight I tried to do a bit more research to figure out how I could use them in some more advanced projects. Previously I had found the Ethercard library which was developed by Jeelabs. It works okay for many things, but has a web server implementation which is too limited for many uses: all web pages must fit in a single TCP/IP packet. I was digging around trying to find a TCP/IP implementation that could handle larger ones. I knew about Adam Dunkel’s uIP stack for microcontrollers which has been ported to many microcontrollers, but the first link I found to an implementation on the Nanode didn’t seem to have any example web server code. But then I ran across this posting on maniacbug’s blog describing a complete webserver using uIP. He’s got his own github repository which seems to have a lot more complete examples fleshed out. I downloaded and tested the code, and it appears to work pretty well. I’ll be digging into it over the next few days, and perhaps making my own webserver application to run on the nanode.

He’s also got a huge number of other rather sophisticated postings on stuff he’s done with the Arduino. Check them all out, I know I will be too.

maniacbug | AVR Microcontroller Projects

Comments

Comment from Elwood Downey, WB0OEW
Time 2/2/2012 at 11:32 am

FYI, uIP uses the same buffer for RX and TX and thus does not support full duplex sockets, if you need that. Also, unless you implement the “booster hack”, the transmission throughput is very low due to lack of support for the delayed ACK algorithm used on contemporary receivers. Its larger cousin, lwIP, addresses both of these issues and, IMHO, has a nicer API, but at the cost of about 3x each more RAM and ROM footprint. All this learned through hand-to-hand combat on the ARM side of a TI dual-core Concerto.

PS: these Captcha things are annoying, had to try several before I got one right. I like the blogs that ask for the next element in a simple series.

Comment from Mark VandeWettering
Time 2/2/2012 at 3:45 pm

Thanks for the post Elwood, and am glad you endured my CAPTCHA. I’ll try to find something a bit better (I frankly don’t like the plugin either).

lwip would indeed be better, but it can’t be done on my Arduino/Nanode. I like doing more with less, I think of it as QRP computing. 🙂