Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm working on a prototype with a Particle Photon, but I've realized the required number of pins is bigger than the number of pins on my photon.

I thought I could have an Arduino Uno wired to some sensors, and link the Arduino to the photon via a Software Serial from the Arduino (as its serial pins will already be busy) to the Serial pins of the photon.

Is it possible, and is there a better way to solve my problem?

share|improve this question

Everything is possible, it is programming. People are doing software-only USB on AVRs.

I doubt that the effort is worth it, given how hard it is to debug such low-level code. Besides you can use on-board UART if you don't need the USB connectivity - just disable it.

Main question is - where is the main software run, aka "Who's the Brain"? If Photon, maybe you can use SPI? SPI is dead-simple to emulate in software.

share|improve this answer
    
The photon is the brain, the Arduino would provide me with more pins – Jonathan Jan 16 at 17:34
    
The USB of the Photon will already be used, do I have options other than softSerial? – Jonathan Jan 18 at 19:43
1  
Photon has SPI. Arduino Uno has SPI. Photon has I2C. Arduino Uno has I2C too. Programming them will be easier than software emulation of UART. I'd try SPI. – IOB Toolkit Team Jan 18 at 20:26
    
Oh, I didn't know this protocol. I'll definitely take a look! – Jonathan Jan 18 at 20:30
1  
Yes, I2C is nice to wire, but it's relatively complex to program. SPI is simpler to program than UART, but requires more wires (4 vs 2). – IOB Toolkit Team Jan 18 at 22:36

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.