Categories

chipKIT network and I/O shields

Posted on Monday, August 22nd, 2011 in PIC by Ian

Joe Desbonnet writes:   Microchip and Digilent have announced new IO and networking shields for the chipKIT (a PIC32 based Arduino clone)

Microchip Technology Inc., a leading provider of microcontroller, analog and Flash-IP solutions, and Digilent, Inc. today announced expanded capabilities for the 32-bit PIC32 microcontroller-based chipKIT™ Development Platform for the Arduino™ community.  First, the companies unveiled two shields for the chipKIT platform—the chipKIT Basic I/O and Network Shields.  Secondly, new online support resources for the community are now available, including software library support for Ethernet, CAN and USB, as well as an online chipKIT forum (http://www.microchip.com/get/TGRC) and wiki (http://www.microchip.com/get/6ST7).  The shields and online support resources enable users to take advantage of the high-performance, 32-bit PIC® microcontroller-based chipKIT development platform to add more features and functionality to their projects, even if they are not engineers.

We couldn’t find anything about (open source) driver or IDE support. Anyone know about this?

Via the contact form.

This entry was posted on Monday, August 22nd, 2011 at 2:18 pm and is filed under PIC. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

16 Responses to “chipKIT network and I/O shields”

  1. Alvaro says:

    Note that this shield only includes a RMII ethernet PHY, meaning no TCP/IP/Ethernet MAC stack in hardware. You will need to use “software” implementation of these, which will be difficult on classical arduinos (memory/code size). The other additional devices are, however, very interesting.

    • If I remember correctly, the footprint of the stack is well under 30K. On the Max32, that still leaves quite a bit more memory than a Mega has. The performance is better too, as the data doesn’t have to go through an SPI port. The packet buffers are in main memory, and DMA is used to transfer the data in and out of the MAC.

      Gene Apperson
      Digilent

    • The Network Shield will only work with the Max32. It depends on the internal MAC, USB controller, and CAN controllers in the PIC32 device on the Max32. The two board set of Max32 and Network Shield should be thought of as a single board.

      Gene Apperson
      Digilent

  2. jdownj says:

    Adding up the cost of components on this board, it seems as though we are being had. The ICs add up to ~7 USD in hobbyist quantities… 54 bucks?? Really? I’m making my own!

    24LC256= $1.28
    LAN8720= $1.95
    MCP2551= $1.12(X2)
    TPS2051B= $0.66
    BEL-08B0-1X1T-36-F= $5.66
    Misc Passives= $4.00
    PCB= $3.00
    NO GERBERS= PRICELESS

  3. octal says:

    The amazing thing is that these shields costs more than the ChipKit boards themselves :p

    • I agree. I was surprised at how high our costs were on these boards. If we can get the build volumes up, we can probably bring the price down. We only built 500 each in the initial run, as we had no idea how popular they would be. If the demand is high enough that we can increase production to 2500 at a time, we can probably lower the price.

      Gene Apperson
      Digilent

  4. WestfW says:

    Yeah, I was a little worried that the onboard ethernet Mac in the Mega32 wouldn’t result in a solution that was cheaper overall than the existing Arduino/Wiznet solution. Even when you put a cheap chip like an Ethernet PHY (and a lot of them aren’t that cheap) on a separate board, the chip prices become less important than other factors in determining end-user price (and a lot of ethernet PHY chips aren’t all that much cheaper than the bare Wiznet chip that has Phy+Mac+Transport.) I guess I was right to be concerned.

    (Note that this shield will ONLY operate with the mega32, since it does rely on the Ethernet and CAN interfaces that are on the main CPU, and that they are on particular shield pins. There is no hope at all up putting one of these on a non-ChipKit cpu board.

    • RE price of the Basic I/O Shield: I was surprised at how high our cost was on this board. I had originally thought we would be able to sell it for $25, but there is no way we could get enough margin at that price to make it worth doing. Other than the OLED display, no individual part is all that expensive, but it all adds up.

      RE price of the Network Shield: Same story. I was surprised at how high our cost was. The PCB is definitely more than $3. The 32khz oscillators are surprisingly expensive as well.

      RE open source project: I didn’t design this board. I assigned it to our PCB designer in Romania. There was a miscommunication, and I forgot to tell her to do the design in Eagle. So, this board was done using Altium. We’re going to post the gerbers and the Altium project as open source, but unfortunately, it won’t be as useful to the community as if it had been done in Eagle. Sorry about that, but it wasn’t intentional. I’ve been working with a guy in England who is working on recreating the design in Eagle, but he’s not done yet.

      Gene Apperson
      Digilent

    • RE open source libraries: Unfortunately, the driver libraries for the Network Shield are based on Microchip Applications Library code that is not open source. The high level library code (i.e. the C++ wrappers) are open source, but of course, they call into MAL code that isn’t open source. The source code is included in the distribution, but it is under the regular Microchip license agreement. One of the biggest hurdles in doing these libraries was getting it to build under the MPIDE environment. It took some changes in the IDE to get it to work. The other big problem was working out the licensing with Microchip so that we coUld even distribute it.

      We have plans to develop completely open source driver libraries for the Network Shield, but there is no way we had the time or resources to do it this spring and summer.

      When I was originally designing the Max32, I thought of the two board set of Max32 and Network Shield as the target platform. We could have kept the cost down doing it as a single board, but there is no way it would have fit in the Mega form factor. This would also have arbitrarily raised the price who didn’t care about ethernet or USB or CAN. There are always tradeoffs.

      The libraries for the Basic I/O shield were written entirely by Digilent and are open source. I did the OLED display library.

      Gene Apperson
      Digilent

      • Ian says:

        Hi Gene,

        As always, thanks for the extra background. I’ll put this in new posts today.

        I was curious how you would handle the firmware part when I first heard about these boards in the spring. In a conference call with Microchip people I thought they strongly implied (may have said, we could check the podcast recording) that there would be GPL drivers for the ethernet and USB shield. It seemed too good to be true that they would suddenly make a turn like that.

        The chipKIT hardware is powerful, so a port of FreeRTOS or even the new BSD port to PIC32 could be an alternative.

  5. Ian,

    The chipKIT team inside Microchip really wanted to make this stuff available as open source, and lobbied strongly for it, but couldn’t make it happen.

    Doing a port of FreeRTOS to the chipKIT platform is high on my list of things I’d like to do. I just need to figure out where the extra hours in the day are to do it. I put in 20 hours this weekend wrapping up the libraries so we could get them out on Monday.

    Gene

  6. jdownj says:

    Gene,

    I appreciate you coming here and sharing some information on the process that these boards went through. Curious as to what made that PCB so expensive? 4 Layer? Really tiny minimums? I just ran an arduino mega shield which should be roughly the same size and I got those down to $5 each in quantity of 20.

    I hope the project continues to grow… And I appreciate the efforts of the chipKIT team to open-source as much as possible…

    J

  7. @jdownj

    I went back and looked at our costs on the Network Shield again. The PCB wasn’t as big of a factor as I had thought. It’s a four layer board. I normally use 8 mil traces with 8 mil separation on a 10 mil or 20 mil grid. The SMSC PHY is a QFN that required pushing the clearance down to 5 mil. That makes the PCB a bit more expensive.

    The thing that really drove the cost up, though, was the connectors. The double row female headers with the long tails are very expensive. We thought we had a lower cost sulution, but we got a 30%+ failure rate in manufacturing test. We eventually tracked the problem down to the connectors, and had to rework all of the boards to replace all of the connectors with better (and more expensive) ones.

    The other killer, as I mentioned before, is the production volume. If we can get the volumes up we will be able to bring the price down a bit. I don’t like how expensive they turned out to be.

    Gene Apperson
    Digilent

  8. WestfW says:

    >> The thing that really drove the cost up, though, was the connectors.
    I was suspecting that, actually. Connectors (and even wire) are not subject to Moore’s law and get depressingly expensive. It’s going to be a problem on anything with lots of pins. That’s one reason why things like simmstick and Freescale’s “Tower” system are especially clever; they manage to leverage widely used (and therefore cheap) connectors.
    Um, would it be cheaper if you used the same single-row connectors that everyone else is using? (4ucon?) I don’t know how hard they’d be to keep aligned to reasonable tolerances… (or is that the sort of setup you had problems with? I don’t think ethernet’s MII interface is designed to run through much in the way of connectors; it’d be happier with a few millimeters of pcb trace.

  9. WestfW

    Currently, we’re using double row connectors. It’s possible that doubling single row connectors would be less expensive. I can look into it. Another aspect of the long tailed connectors used on shields that drives up costs is that they have to be hand soldered, and they are harder to solder than the normal header connectors. Additionally, when doing the manufacturing test, it takes time to separate the shield from the test jig (a Max32 board) without bending the pins. We pay for testing time by the minutes per board.

    When the Network Shield was being designed, I was concerned that we would have signal integrity problems going through connectors an long PCB traces. It doesn’t appear to be a problem, though.

    Gene

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Recent Comments

  • Edward Mallon: I've managed to get cheap thermistors calibrated to about to +/- 0.2C with 3.3v Arduinos. https://edwardmallon.wordpress.com/2017/04/26/calibrating-oversampled-thermistors-with-an-arduino/ Instead of playing whack-a-mole with the various sources of...
  • Ja: What the keyer do? Sends random morse code or there is some input? If someone can point me to some source to read I would...
  • Sorin: Pleasure of free!
  • hli: Sunday++
  • Max: Jolly good stuff, although the "include 100 W resistors in series with the inputs and outputs" part is quite hilarious until one realizes* they meant...