Hey guys and gals,
Trying to understand the benefits/limitations of switching from Arduino to Particle.
I understand the Particle has a more-integrated wifi/IOT interface, but trying to understand how to readily add a large number of inputs to the GPIO limited Particle.
Speaking just to the ~30-40 switch aspect: While no Particle product has 40 GPIO pins, do a google search for IO Expanders, and you will find very inexpensive chips that support dozens of GPIO pins through one I2C interface. You can connect several of these on the same I2C bus to get plenty of switches working on a single microcontroller.
The big pro for the Particles is the cloud/IoT aspect of things, and the pin limitations can be traded for that quite inexpensively and simple (as @rvnash said).
But for a more informed feedback, you might need to give us some more details of what you’re actually most interested.
In general HW wise both devices are capable for the job, but the differences might shine in the detail.
@jeremywmccarter, if you plan to develop a cloud-based product, Particle devices were designed to take you there. The Arduino platform on the other hand, not so much. As @ScruffR pointed out, knowing you application will help us give you the most suitable advice.
@jeremywmccarter Coming from similar experience but less I/O, I would definitely use the Particle Photon - and I would start with a system architecture block design where you identify the main solution components and do an I/O count and bus (SPI or I2C or CANbus or Serial) decision for each. It is very easy to run out of pins on the Photon! There are pros and cons for each bus type (@peekay123 reminded me recently that there is wikipedia where you will find good comparisons between these interfaces ). Also, unless your client has an unlimited budget then using all those boards may not be an option and designing your own motherboard will be necessary. SPI devices in my limited experience need to be no more than 6-8cm from the pins. I2C can be further and work reliably. Look at Ti TCA6418E GPIO I2C expander or NXP family or MCP23017 (16 I/O I2C) or MCP23S17 (16 I/O SPI).
Particle IDE has community library for the MCP23X17 and you can have up to 8 of these devices (using address selection on each IC) so up to 128 I/O. This is a nice solution as the I/O control is controlled using the same pinMode and digitalRead and digitalWrite commands.
@jeremywmccarter You might take a looksie at controleverything.com. They offer a 24 port digital I/O I2C expansion board (I2CDIO24) as well as a RFID expansion board. The pricing looks pretty reasonable and you have their support folks who have been great in my experience. I was thinking I had also seen a display capability, but couldn’t find it quickly.