chipKIT® Development Platform

Inspired by Arduino™

ChipKit Basic I/O Shield on Edison Dev Board

Created Wed, 24 Feb 2016 11:43:55 +0000 by KineticAU


Wed, 24 Feb 2016 11:43:55 +0000

Does anyone have any advice on how to get the chipkit Basic I/O shield to work with the Edison Development Board? <--- That one.

It should be pin compatible, as the Edison board is Arduino Shield compatible.

I've cycled through the GPIO digital pins using MRAA making them high. (Tried 0 through 199) and so far I can't even get the LEDs on the shield to turn on - Init'ing the MRAA GPIO pins after 20 causes an error anyway.

I really wanted to use the mosfets on the shield to drive some motors.

Any help appreciated :)

  • K


Wed, 24 Feb 2016 12:14:34 +0000

The problem with the BasicIO shield is that it is designed to go on a chipKIT board. It has two banks of pins for the digital IO, not one, and the LEDs are connected to the inner bank. That's the row of pins that dangle in thin air when plugged in to an Arduino board like that. So you will never be able to directly control them without manually wiring them.

The numbers by the LEDs represent the IO Shield pins that they are linked to - that is pins 26 to 33, or the inner bank of the lowest block of 2x8 pins. You can manually add jumpers from those pins to any of the outer pins you want to use.

That's the bad news. The good news is that the MOSFETs are connected to the PWM pins of the IO Shield (or the pins that would be PWM when plugged in to, say, an Uno32). Those pins are marked with a _ under the pins - so pins 3, 5, 6, 9 - the numbers are by the connectors. You should be able to control those directly from the Edison - if you can work out which GPIOs are connected to those pins. That should be documented somewhere. The pins are available twice - once direct from the IO (the 4 screw terminals on the side) and once switched by the MOSFETS (the 4 screw terminals plus 2 power terminals at the end of the board - you need to supply power to get those to do anything).

It's the same situation for the switches and buttons. Some are on the inner bank and some on the outer bank. You can directly use the ones on the outer bank - just read the numbers next to them - 13 and below will work fine, anything above will need manually wiring up - so that's 3 switches and 1 button will work fine, the others will need wiring up elsewhere.

As for the OLED... well, that's SPI connected, but all the control signals are on the inner bank, and as such would need manually re-mapping elsewhere. Of course, there aren't enough pins elsewhere to do everything, so you can pick and choose what you want to use and just map in the ones you need for your project.