Community
cancel
Showing results for 
Search instead for 
Did you mean: 
SBisw3
Beginner
1,055 Views

Multiple GPIO pins

I'm developing a machine with multiple prime movers and sensors.

Wondering if I could you Edison as my controller?

I require at least 52 GPIOs for PWM, I2C and SPI.

If yes, how could I expand the GPIO pins in Edison, right now I have 14 digital and 6 analog pins.

Please, help

0 Kudos
4 Replies
idata
Community Manager
57 Views

Hi Subhajitferme,

 

 

In order to expand the GPIO pins, you should use a GPIO expander. They are usually controlled through I2C by the Master Device which in this case it would be the Edison module.

 

 

How many PWM, I2C and SPI interfaces do you need? If you require that many GPIOs and interfaces, it's inevitable to use external hardware like the GPIO expander, however another option would be to use an external microcontroller with more interfaces and GPIO pins. This way, you would interface this microcontroller with your end devices (sensors, etc.) and then, you can connect this microcontroller to the Edison module using an I2C, SPI or UART interface.

 

 

I hope you find these suggestions helpful.

 

 

Regards,

 

Diego V.
SBisw3
Beginner
57 Views

Thanks for the reply Diego.

We need 50 GPIOs for PWM, 6 for I2C and 2 for SPI.

Can you please recommend some GPIO expanders?

Also for the second option which microcontroller should, we go for?

I have Intel Edison with Arduino breakout. What about DF40 connectors, will it be helpful?

idata
Community Manager
57 Views

Hi Subhajitferme,

 

 

There are no external hardware recommended, you would have to check among different options and choose the one that fits better to your project. If you want to use the Edison module, you will have to design your custom board in order to have the desired interfaces. The Arduino Expansion Board is not best board in this scenario since it doesn't expose all Edison pins to be used.

 

 

The custom board would use the DF40 connector so the Edison can be mounted on it, however you would have to do the complete design by your own and choose the proper hardware and electronic components for it. Please consider that this is out of our support scope so the help we can offer is limited.

 

 

Considering the quantity of interfaces that you need, I would use instead one or two microcontrollers with enough interfaces, and probably some few PWM drivers to have the 50 GPIOs that you need for PWM. I don't have any microcontroller recommendation for you, you would have to investigate among the different options available and choose the one that you think will work better.

 

 

If you have additional questions, don't hesitate to ask. I'll try to help you as best as I can.

 

 

Regards,

 

Diego V.
Andriy_S_Intel
Employee
57 Views

You can do that, though it might probably require to use your own "baseboard" for Edison instead of Edison/Arduino one. Be also aware about latency requirements (if you strict with them). I2C expanders (which are used on Edison/Arduino) might bring a long and unpredictable latency into communication by its nature (I2C communication the one that might sleep, meaning on heavy loaded non-RTOS scheduling might happen not fast enough).

Reply