chipKIT® Development Platform

Inspired by Arduino™

chipKIT Network Shield + ChipKit Core Or UECIDE

Created Fri, 09 Dec 2016 13:48:34 +0000 by Gianni


Fri, 09 Dec 2016 13:48:34 +0000

Long time ago I worked with chipKit Network Shield + Chipkit max32 using MPIDE 023 and the library "chipKitEthernet". Now I've seen that things are changed: there is no more MPIDE but I must use Arduino IDE with chipkit core or UECIDE.

Well, I've installed both chipkit core for Arduino and UECIDE.. but there is no more the library "chipkitEthernet" and using the "Ethernet library", nothing works.

So I've used my old installation of MPIDE 023 where "chipKitEthernet" library is, but library has several issues (webpage is loaded if I connect via a pc using ethernet but no response if I connect with a device via Wifi. My network has no problems since If I use an ESP8266 or an Old Arduino with an old Arduino Ethernet shield, web page is accessible both via ethernet and via wifi. Clearly the old chipkitEthernet library has some problems).

Now I've downloaded the latest available version of MPIDE, but nothing works since there is no more the "chipKitEthernet" library.

The question is: I must put in the garbage the very expensive chipKit Network shield or there is a way to get it working in 2016?


Fri, 09 Dec 2016 16:52:10 +0000

The libraries to use are the (somewhat cryptically named) DEIPcK and IM8720PHY libraries. DEIPcK provides the core networking facilities (IP, TCP, etc) and IM8720PHY is the Ethernet adaptor on the chipKIT Network shield.

You can also use the HPPTServer library if you want to create a web server (requires an SD card, using DFATFS.h, to store content).


Fri, 09 Dec 2016 17:23:57 +0000

Thank you for the reply. I've seen the examples you told. But I want to use the bare chipkit network shield, without an SD reader... I don't understand why I must have an sd reader... I want to run a simple code that shows digital/analog IO status on a webpage such as the good old Arduino Ethernet example


Fri, 09 Dec 2016 17:37:55 +0000

I need the "Examples -> Ethernet -> Webserver" This example is also available when I select chipKit MAX32 as board... but doesn't work. Other examples with DEIPck and so on are too complex and very far by simplicity of Arduino.


Fri, 09 Dec 2016 18:18:38 +0000

I know, they're not good, They're all we have at the moment though.

One of the big problems is that DEIPcK wasn't written to fit into the normal Arduino Client/Server class format (since those are somewhat restrictive) and neither do we have a wrapper to give those facilities.

The HTTPServer library is written with using an SD card in mind - it's not been made flexible enough (IMO) to do anything else (it really should have been made generic and it should be the role of the sketch to get things from SD if wanted, not the library).

It can take a bit of getting your head around how the DEIPcK library works (and I still don't fully understand it) because it is so complex. But the end results are generally considerably more efficient (much more non-blocking) than the Arduino style.

Your best bet is to start from the TCPEchoServer example and write an HTTP parsing routine to deal with the incoming request and respond with the HTTP data you need to send.


Fri, 09 Dec 2016 21:40:48 +0000

I've just bought an Arduino Mega clone (since I've already an Arduino Ethernet Shield). I'll use chipkit network shield as keychain


Wed, 04 Jan 2017 19:25:55 +0000

Since it sounds like the Max32 and chipkit network shield does not work as an HTTPServer from the arduino IDE without an SD card, is there another method anyone has implemented to allow the Max32 to be an HTTPServer? Is there a different network card compatible with the max32 which has functional libraries?

I really need to use the max32 because of the fast ADC. A mega just won't do it. I am considering a dropping the max32 in favor of a "Freetronics Etherdue" if I can't find a max32 solution


Wed, 04 Jan 2017 21:22:09 +0000

It can work fine as a HTTP server, there just isn't an example that doesn't use the SD card. You can adapt the TcpEchoServer sketch to read data from a connection and interpret it as an HTTP request quite easily - as long as you can understand Keith's cryptic Finite State Machine...