PIC32 Ethernet Starter Kit review

3 09 2010

I have attended the PIC32 Ethernet Starter Kit RoadTest event, won a kit and here is my review. The PIC32 Ethernet Starter Kit is the 3rd version of a series of PIC32 starter kits. This is not my first time for working with Ethernet enabled microcontrollers but a first for PIC32 family.

Package Content

The kit came in a black plastic box which resembles a DVD box. The contents were:

  • PIC32 Ethernet Starter Kit development board
  • USB Mini-B to full-sized A cable – USB debug cable to debug and power the board
  • USB Micro-B to full-sized A cable – PIC32 USB cable to communicate with the PIC32 USB port
  • RJ-45 CAT5 Ethernet patch cable – Ethernet CAT5 cable to communicate with the PIC32 Ethernet port
  • Software CD
  • Registration card

Package contents

Hardware

The PIC32 Ethernet Starter Kit board has the same form factor and expansion connector as the previous starter kits. It contains PIC32MX795F512L as the main microcontroller, a PIC32MX440F512H as the on-board debugger, a National DP83848 PHY for ethernet connection, a 120-pin Hirose connector for expansions and three LEDs (green, orange and red) & three pushbuttons for user interaction.

Top side, switches & LEDs highlighted

The board also has a USB Mini-B for debugger connection, a USB Micro-A/B for USB peripheral and OTG applications, a USB full-sized A for USB host applications and a RJ-45 jack for Ethernet connection.

USB & Ethernet Connectors

The board also has some unpopulated parts such as Y3, C15, C16 for RTCC; R24 and R27 for USB-OTG voltage converter and C19-C24 decoupling capacitors.

Top side, unpopulated parts highlighted

Bottom side, unpopulated parts highlighted

The microcontroller has the following specifications:

  • MCU Core: 80MHz, 1.56 DMIPS/MHz, 32-bit MIPS M4K® Core USB 2.0 On-The-Go peripheral with integrated PHY 10/100 Ethernet MAC with MII/RMII Interfaces; 2 x CAN2.0b modules with 1024 buffers; 8 dedicated DMA Channels for USB OTG, Ethernet, and CAN; 5 stage pipeline, Harvard architecture; MIPS16e mode for up to 40% smaller code size; single cycle multiply and hardware divide unit; 32 x 32-bit core registers; 32 x 32-bit shadow registers; and fast context switch & interrupt response.
  • MCU System Features: 512K flash (plus 12K boot flash); 128K RAM (can execute from RAM;) 8 channel general hardware DMA controller flash; pre-fetch module with 256 byte cache; lock instructions or data in cache for fast access; and programmable vector interrupt controller.
  • Analog Features: Fast and accurate 16 channel 10-bit ADC, max 1 mega sample per second at +/- 1LSB, and conversion available during SLEEP & IDLE.
  • Power Management Modes: RUN, IDLE, and SLEEP modes; multiple switchable clock modes for each power mode, enables optimum power settings.
  • Debug Features: iFlow Trace: Non-intrusive Hardware Instruction Trace port (5 Wires); 8 hardware breakpoints (6 Instruction and 2 Data); 2 wire programming and debugging interface; and JTAG interface supporting Programming, Debugging and Boundary scan.
  • Other MCU Features: Fail-Safe Clock Monitor – allows safe shutdown if clock fails; 2 internal oscillators (8MHz & 31KHz); hardware RTCC (Real-Time Clock and Calendar with Alarms); watchdog timer with separate RC oscillator; pin compatible with 16-bit PIC MCUs; and serial communication modules allow flexible UART/SPI/I2C™ configuration.

Software Installation

The software CD in the kit is a bit outdated, but I installed it anyway for the drivers. However, this caused problems with MPLAB IDE I have (8.50), I couldn’t open the latest version installed on my system and the version that was installed by the CD kept crashing each time I tried to connect to the board. So I zipped the starter kit folder, uninstalled it and unzipped so that I can use the demo files and other documentation in these folders.

Driver for the Debugger

The installation manual gives the general idea about how to install the device drivers. If you have a full installation of the latest MPLAB IDE, it also comes with PIC32 Starter Kit debugger drivers, so you can use either the drivers inside the starter kit bundle or MPLAB IDE.

Information

PIC32MX Starter Kit User’s Guide is the ultimate document for this board. It contains hardware, software and demo application information for all three starter kits. Each demo has a description in this document and also all the starter kits have a block diagram, board layout and schematic so you can use these to develop your own hardware in the future. However, care should be taken as this document contains some errors because of copy-paste effects.

Each demo contains an HTML file in their own project directory where how to configure the board and how to use the application is explained. It is crucial to read these files before trying the demonstrations so that you do not try to find an error in the program when there are none, as I did.

Initial Use

The PIC32 Starter Kit comes pre-programmed with the Simon Says game. You try to mimic the light patters for as long as you can before you get bored and move to the other demos.

Building Tutorial Projects

All the tutorials come as a project, so what you have to do is to open the project file, compile the code and upload the hex code generated into the flash memory of the PIC32. Of course you can use another programmers/debuggers but it is really easy with the PIC32 Starter Kit debugger.

One warning: As there are hardware differences between different starter kits, some demos have multiple project files. You have to open and compile the appropriate project file, otherwise you get warnings and errors.

All projects are to the point, with enough documentation and have detailed comments. So you can use them as a basis for your own codes.

Conclusion

This is a goodly designed hardware that can show you the capabilities of a PIC32 series microcontroller. It has a small form factor, lots of I/O and lots of capabilities.

However, I really wished for some improvements, for example for people who already have the latest MPLAB IDE, the software bundle installation creates problems so I think having a zip archive with only tutorials can be helpful for those people.

Also although this kit has awesome I/O capabilities, you are limited to the USB & Ethernet connectors that are available. The PIC32 I/O Expansion Board is a little expensive (72$, same price with the Ethernet Starter Kit) for a simple project so a breakout board with only a Hirose connector and some pins would be better for me. One of my professors wanted to use the first starter kit for education but decided not to as the board itself was not capable for the whole course and the expansion board available was more expensive than the starter kit itself! So another expansion board is a must in my opinion.

I didn’t had the chance to test this board with my Linux computer yet but there are C32 compilers for Linux so I think it will be easy.

Advertisements

Actions

Information

16 responses

18 03 2011
Tony

only run in debug mode, after i remove usb typeb cable, reconnect typeAB cable, the program deosen’t run any more, pls give me guidances, thanks

18 03 2011
tayken

Hi,

Because of the latest events in Japan, I will be leaving soon for a while. I will try to get the kit with me and try to simulate the same thing. If I find a solution, I will inform you.

13 07 2011
fvparg

Hello. tienre someone a code example of ethernet to this board?

16 11 2011
tayken

Hi! Can you check out one of the comments below. There is a link to Microchip web page where you can download examples.

27 10 2011
Gary

hey can you upload an image of the cd? please

gbaldrich@msn.com

16 11 2011
tayken

I might get into trouble with that. But you can check here for the stuff you want. Everything on the cd should be there.

30 09 2012
AngryProgrammer

New kit does not come with a CD. The demos/tutorials/readmes only apply to the IDE version that it was written in (outdated/not current version). No help from Microchip’s forum support. This thing is a worthless paper weight.

28 04 2013
Aspiratoare

I think you should write more information.

21 05 2013
krish121

hI! i am using pic32 ethernet starter kit. please can you tell me how can i make a program to send e-mail using smtp protocol.

21 05 2013
krish121

hi! i m download microchip app library and install it. now i want to develope program to send e-mail . please help me. how can i start?…

21 05 2013
tayken

Best way to start is check out the code at Microchip Solutions\TCPIP\Demo App MDD\SMTPDemo.c It is the demo code for SMTP client.

21 05 2013
krish121

hi! i read SmtpDemo.c in which microchip write button are pressed to sent e-mail. but i want actually know that which file are i add so that i can make complete program for e-mail sent. i find that TCPIP.h , and TCPIPConfig.h are attached with SMTPDemo.c which other file i attach to make complete e-mail demo. there are lost of file with other protocol so i am confused.

21 05 2013
tayken

Best way to do that is open up one of the projects in there. Then you edit TCPIPConfig.h file so that the examples you want are compiled. You have to use one of the example projects as there is a really strange file hierarchy and the project uses some files from other locations. Good luck.

21 05 2013
krish121

hi! i inculde SmtpDemo.c in source file of MPLABIDE Project
and in Header File i Attach TCPIP.h and TCPIPconfigh.h

but when i compile i found following error:
//————————————————————————————————

e:/microchip_dontdelet/mplabc32/bin/../lib/gcc/pic32mx/4.5.1/../../../../pic32mx/lib/size/crt0.o: In function `_main_entry’:
libc/startup/crt0.S:(.text+0x0): undefined reference to `main’

Objects – TCPIP Demo App – C32 – PIC32_ENET_SK_DM320004_INTERNAL_ETHERNET\SMTPDemo.o: In function `SMTPDemo’:

SMTPDemo.c:(.text+0x48): undefined reference to `SMTPBeginUsage’
SMTPDemo.c:(.text+0x68): undefined reference to `SMTPClient’
SMTPDemo.c:(.text+0x74): undefined reference to `SMTPClient’
SMTPDemo.c:(.text+0x98): undefined reference to `SMTPClient’
SMTPDemo.c:(.text+0xe8): undefined reference to `SMTPSendMail’
SMTPDemo.c:(.text+0x100): undefined reference to `SMTPIsBusy’
SMTPDemo.c:(.text+0x12c): undefined reference to `TickGet’
SMTPDemo.c:(.text+0x134): undefined reference to `SMTPEndUsage’
SMTPDemo.c:(.text+0x164): undefined reference to `TickGet’
collect2: ld returned 1 exit status

Now what can i do please suggest me?…

21 05 2013
tayken

You apparently did not include SMTP.c and SMTP.h files and don’t search for them in the same folder as their location is in somewhere else. As I’ve said, use one of the projects under Microchip Solutions\TCPIP\Demo App MDD as the project file is really complex. Other than this suggestion, there is nothing I can help you with.

13 03 2014
sudha

how to create a own web page in pic 32 Ethernet started kit …

in last week only i bought a pic 32 Ethernet started kit …..

i ll check sample code in tcp/ip stack for microchip … its working but how to create a new web page ?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: