element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
RoadTests & Reviews
  • Products
  • More
RoadTests & Reviews
RoadTest Forum Review: PIC32 Ethernet Starter Kit
  • Blog
  • RoadTest Forum
  • Documents
  • RoadTests
  • Reviews
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join RoadTests & Reviews to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 18 replies
  • Subscribers 2563 subscribers
  • Views 4542 views
  • Users 0 members are here
  • RoadTest
  • microchip
  • ethernet
  • starter_kit
  • embedded
  • review
  • microcontroller
  • pic32
Related

Review: PIC32 Ethernet Starter Kit

icserny
icserny over 15 years ago
I have received a PIC32 Ethernet Starter Kit from Farnell for road testing. The PIC32 Ethernet Starter Kit provides easy and cheap way to make Ethernet development with PIC32. The PIC32 MCU is a family of 32-bit microcontrollers with 80 MHz MIPS M4K core.

image

Package content

The kit came in a handy book-sized black plastic box. It contained the following items:
  • PIC32 Ethernet Starter Kit Board
  • USB mini B  to  standard A cable - to debug and powering the board
  • USB micro B  to standard A cable - for USB application development (to communicate between the PIC32 and the PC)
  • RJ-45 CAT5 patch ("straight") cable for Ethernet connection
  • Software CD
  • Registration card

Hardware

The PIC32 Ethernet Starter Kit board is a small, compact circuit board containing an PIC32MX795F512L 32-bit microcontroller, an on-board debugger (surprisingly the debugger is realized with a PIC32MX440F512HT-80I/MRPIC32MX440F512HT-80I/MR MCU so the Ethernet Starter board actually contains two PIC32 MCUs), an Ethernet PHY, a 3,3 V regulator, connectors, LEDs for state displaying, and three LEDs and pushbuttons for user interaction.  The board has compatible form factor and expansion connector as other PIC32 Starter Kits. The circuit can be supplemented with an 32 kHz oscillator for the RTCC (see the unpopulated place for Y3, C15 and C16).

image

The PIC32MX795F512L microcontroller has 512KB Flash/128 KB RAM, on chip 10/100 Ethernet MAC with MII/RMII interfaces, 2 x CAN2.0b modules with 1024 buffers, USB host/OTG/device connectivity, 6 UART, 4 SPI, 5 I2C, 5 timers with CCP, 16 ADC channels, RTCC etc.

image

The block scheme and the circuit diagram in the PIC32 Ethernet Starter Kit Schematics.pdf helps to understand the role of the connectors: the USB mini-B connector is used for debugging. It can be also used to provide +5V supply for the board as well as for the USB host applications (in the latter case the JP2 jumper should be installed). The USB micro-B connector (on the back side of the board) is used for USB device or OTG applications or to provide power for the board. The USB type A connector is used for USB host applications. The VBUS power can be obtained from the computer through the debugger cable (in this case JP2 should be installed) or from an external +5 V source through the 132 pin extension connector (in this case the JP2 jumper should be removed).

Software installation

The software CD bundled in the kit is a bit outdated, a newer version of the software is available at Microchip's PIC32 Starter Kit Software Update page. Downloading the Updated PIC32 Starter Kits Software (v2.0A).zip package (155 MB) requires sign in at microchip.com (the registration is free) . After unzipping the package to a local  directory one have to start the setup.exe program. The installation requires system administrator privileges.

 

The installation is simple and automatic: one only have to specify the installation directory and to accept the license terms and conditions. The "all in one" package contains every program and  documentation you need for experimenting with all kind of the PIC32 Starter Kits (including the PIC32 Ethernet Starter Kit). You will get the MPLAB Integrated Development System (MPLAB IDE v8.43), the demo version of the C32 compiler (v1.10B), example programs (starting from the LED blinking to the Ethernet TCPIP BSD web server, including USB device and host applications) tailored for the PIC32 Starter Kits, and a lot of documentation (PIC32 Starter Kits User Guide, PIC32 datasheets, software manuals etc.). The downloaded package does not contain the PIC32MX Family Reference Manual, you will find only a link to it at the Microchip's web page. The CD, however, contains it.

Possible interference with earlier installations

The MPLAB IDE and the C32 compiler will be installed even in that case you have already a newer (or older) version installed on your computer. They can coexist and work alternately without any trouble. I had a special problem, however, due to my earlier experimenting with the SourceBoost IDE and C/C++ compilers. Though these software have been uninstalled quite a long ago, there were remained records in the Windows Registry database. At every startup of the MPLAB IDE installed with the PIC32 Starter Kit software I have got a lot of error messages complaining about Legacy language files. I had to remove all records containing the word "boost" from the Windows Registry database  (except of Micboost which belongs to the microphone input of the audio subsystem). An alternative (and lazy) solution would be to copy the missing files from the old MPLAB IDE installation...

Device driver for the on-board debugger

The last step of the installation is the installation of the device driver of the debugger. Connect the USB mini-B cable to the Debug port (the J1 connector on the board) and connect the other end of the cable to the computer. The operating system will recognize the new hardware and ask for the proper driver. The relevant files are in the <installation directory>\MPLAB IDE\PIC32MXSKit\Drivers subdirectory, but some files may be also needed from the <installation directory>\MPLAB IDE\PIC32MXSKit\bin subdirectory as well.

Where to find the information?

The most important pieces of information needed for getting started are in the PIC32MX Starter Kit User's Guide.pdf document which walks newcomers through the first steps in developing for the PIC32MX Starter Kits. This document is a combo, it contains information for the PIC32 (General Purpose) Starter Kit, for the PIC32 USB Starter Kit II and also for the PIC32 Ethernet Starter Kit we are interested in. You have to learn to skip the irrelevant part and pick up the information valid for the Ethernet Starter board.

 

The PIC32MX Starter Kit Release Notes contains very important technical information, a PIC32MX Starter Kit FAQs section and information about PIC32MX Device Re-Flash Utility, PIC32 Peripheral Library support, Debug Print Library support and Debugging/stand alone applications.

 

Each demo project contains a separate information page in the project  directory (Getting started - Running  the Device/Host xxxxx demo.html). These files explains how to  configure the board and how to use the application. Don't miss these  pages!

Copy-paste effects

Being the fourth member of the  PIC32 Starter Kits, the PIC32 Ethernet  Starter Kit is a product of an evolution process. The documentation, however is slightly behind in the evolution of the hardware. Few examples:
  • The  documentation refers to a PIC18F4550 debugger but the PIC32 Ethernet  Starter Kit have a PIC32MX440F512H MCU for debugging.
  • The Getting Started - Running the  Starter_Kit_Tutorial Demo.html says that "The source code for this demo is available in the <Install  Directory>\PIC32 Starter Kits\Blink_Leds directory" though is  in the Starter_Kit_Tutorial subdirectory.
  • Several demo recommends to use the OTG cable to connect the board to a  PC, however, you have to use the debugger  cable instead, since the debug  print facility requires the communication with the debugger. For example the Bink LEDS demo was not even started if the debugger cable was not connected to the PC.
Obviously, all these errors are copy-paste  effects and you have to learn to override these things in  the  documentation.

Using the board out of the box

The PIC32 Ethernet Starter Kit may be used directly from the box as a demonstration board for the PIC32 device. The PIC32 is preprogrammed with the classic “Simon Says” game. The goal is to imitate the light patterns as long as you can without getting frazzled Refer to the PIC32MX Starter Kit User's Guide for the details.

Building projects

The most simple project  is the Hello world example which demonstrates the usage of the Debug Print Library. You should include the plib.h file, and to call DBINIT() first before any other Debug Print Library macros. After that you can communicate between the PIC32 and the MPLAB through the debugger cable. In the Hello world example the main program uses the DBPRINTF("Hello World !\n"); command to print out a message in the Output window of the MPLAB IDE.

 

The Blink LEDs example demonstrates the handling of the hardware (the user LEDs are toggled).

 

The Starter Kit Tutorial project demonstrates a simple menu-driven console application, using the PIC32 Debug Print Library macros, to turn on/off the PIC32MX Starter Kit LEDs and echo text when the user responds to a menu hosted in MPLAB IDE Starter Kit console window. Refer to the PIC32MX Starter Kit User's Guide for the details.

Programming the PIC32 MCU

After the successful compilation of a project the generated hex code should be written into the flash memory of the PIC32 MCU. This can be done by the on board debugger. Select Debugger>Select Tool>PIC32 Starter Kit from the menu bar of the MPLAB IDE, then click on the Program all Memory icon or select the Debugger>Programming>Program all Memory menu item.

USB projects

There are several USB demo projects bundled into the PIC32 Starter Kits Software package which can be divided into two classes: USB device projects (in which the PC is the host and the PIC32 acts as an USB device) and USB host applications (where the PIC32 is the host). Among these projects I have tested the USB device - CDC Basic demo and the USB Host - Mass Storage - Thumb Drive Demo. The CDC Basic demo worked the same way as its PIC18 predecessor. The USB host application, however, was completely new for me. This was the first occasion I could see a PIC microcontroller to handle the content of my pen drive.

Ethernet project

Unfortunately there is only one Ethernet demo project available for the PIC32 Ethernet Starter Kit, the Ethernet - TCPIP-BSD - HTTP Server Demo. I was curious mostly about this project. The default host address (192.168.2.105) was not suitable for me, since my home network uses the 192.168.1.*  IP range. Therefore I modified the definition of the host address to 192.168.1.15 and the gateway address to 192.168.1.1 8 (this is the IP of my router). The project was compiled without any hassle. The RJ-45 connector of the Starter board was connected to the router by the UTP patch cable. A connection (using either the debug cable or the USB OTG cable) to a PC is also necessary in order to supply power for the board. After directing a browser to the host address (198.162.1.15 in my case) the demo page appeared on the screen.You can connect the board directly to your PC (if you don't have a router available), however, you should use a crosswired cable in that case.

 

The Ethernet - TCPIP-BSD - HTTP Server Demo/Getting Started - Running the Device - TCPIP-BSD - HTTP Server Demo.html file contained all information I needed to build and run the project successfully.

Conclusion

Both hardware and software worked perfectly, the demo project were compiled and running without any trouble. The engineers of Microchip have done an excellent job. In my earlier experiences I have had much more troubles with the Explorer 16 board (where the on board debugger was not provided with firmware by the manufacturer) or with the MPLAB IDE until I learned tos configure the directory paths for a given language toolkit. I think the key of the success of the PIC32 Starter Kits Software is that it contains everything (IDE, compiler, software libraries and demo projects) in a consistent single  package. If you were installed all these components from independent packages, you would expect much more troubles!

 

The PIC32 Ethernet Starter Kit is an ideal tool for education. It can be best used to learn about programming the PIC32 MCU or to develop USB or Ethernet applications. The board has only one drawback: it is very difficult to connect it to your own circuit. Even if you want to extend the board with a single LED you have to buy the PIC32 I/O Expansion Board which may not exactly fit your needs and may be too expensive for your simple project. Of course, the PIC32 I/O Expansion Board is very useful, if you want to make experiments (or development) by using PICtail Plus cards. However, I would like to see some other (and simpler) solutions as well.

 

Revised by: Istvan Cserny at 11:46 CET on July 27, 2010.

Attachments:
image
image
  • Sign in to reply
  • Cancel

Top Replies

  • Former Member
    Former Member over 11 years ago in reply to Former Member +1
    hi, I have design own webpage in pic32 Etherent starter kit ... my code is perfectly working ... I have design a new application ... my target is send and receive mail via pic 32 Ethernet starter kit …
  • Former Member
    Former Member over 11 years ago

    Hello all,


    We are trying to use the PIC32 Ethernet Starter Kit PN  DM320004DM320004 board for a school project as a robot controller just to make clear this is not a homework We redesigned the board to add some relays and easily access the A/D ports Since we are not going to use it as a USB host we removed the following parts from the original dev kit design http://ww1.microchip.com/downloads/en/DeviceDoc/61166A.pdf”:

     

    U3-TPS20X1B Current-Limited Switch (page 26)

    U6-TPS20X1B Current-Limited Switch (page 24)

    U4-MCP1253 Charge Pump (page 24)

     

    Also, we decided to program the PIC32MX795F512L with a PICkit3 via the 6 pin J 6 programming header, rather than using the on board debugger, so we removed U1-PIC32MX440F512H debugger (page 25) and associated parts. Please see redesigned schematic “http://home.comcast.net/~printzis/PIC32%20Controller-15%20SCH.pdf””

     

    Our setup is as follows:

     

    PIC32 Ethernet Starter Kit PN  DM320004DM320004

    Product Version: MPLAB X IDE v1.90

    Java: 1.7.0_17; Java HotSpot(TM) Client VM 23.7-b01

    System: Windows 7 version 6.1 running on x86; Cp1252; en_US (mplab)

     

    Project: XC32-PIC32_ETH_SK_ETH795.mcp

    Hardware: SKDE PIC32

    Compiler: XC32(v1.21)

     

    So far so good, we can program the “PIC32 Ethernet Starter Kit” using the on board debugger and able to see and modify the web page “http://mchpboard“

     

    Subsequently we try to program our redesign board utilizing the same setup as above except we use the PICkit3 since our board does not have an on board debugger.

     

    We observe the following:

    1. MPLAB X IDE v1.90 completed the programming with no errors.
    2. 2)The LED_SPEED in on.
    3. U8 pin 25 measured 50MHz, as expected since we are using a 50MHz oscillator.
    4. The switch ports RD6, RD7 and RD13 are high.
    5. Unfortunately, we can not see the web page “http://mchpboard“

     

    Thanks for any assistance you can give us, we all don't have any clue including our professor.

     

    PIC32 Ethernet Starter Kit without on board debugger.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 11 years ago in reply to Former Member

    hello ,,

     

    i will see the web page "http://mchpboard" its  working fine ....

     

     

    but , how to create a new web page ... ?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 11 years ago

    I've been using this board for a few weeks now for a project at work. I've got to say that the board is very neat, and the demo is relatively easy to get up and running. However, trying to implement your own software using Microchip's stack is an absolute pig - really, the only way you can hope to make any progress is to hack the demo app around rather than trying to write clean code from scratch. The TCP/IP stack is full of features to support a whole range of different demo boards with different PHY chips. There is no "template" project provided for starting your own TCP/IP application. The hardware is great, well priced, but the software and particularly the documentation lets it down. Still, the software is free...

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 11 years ago

    Good Review.... image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 11 years ago in reply to Former Member

    hi,

     

    I have design own webpage in  pic32 Etherent starter kit  ... my code is perfectly working  ...

    I have design a new application ...

    my target is  send and receive mail via pic 32  Ethernet starter  kit ...  ( temperature alter mail   )


    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 10 years ago

    Hello,

    I have compiled the Ethernet - TCPIP-BSD - HTTP Server Demo code without any problem.But now I am trying to communicate with the usart through this kit.The problem is I am unable to configure the port number.

    If you have any idea of how to proceed please do guide me.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 10 years ago in reply to Former Member

    Hello everyone,

    I would like to know how can I send and receive data using mplab libraries for this demo code.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 10 years ago in reply to Former Member

    Hi Vani Arumugam

     

    Can you guide me in developing webpages and then accessing it using pic32 ethernet starter kit. I know how to design webpages but dont have an idea of accessing it using pic32 ethernet starter kit. I have successfully compiled the demo code and was accessing the mchp website easily but now i need to make my own webpage and do coding for it in pic32.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
<
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube