Coming from Arduino to Photon

I have spent a decent amount of time with Arduino, still quite a novice however.

I would just like to know some good tips and tricks for porting over Arduino projects to Photon. Such as using libraries originally designed for an Arduino and some of the differences in the GPIO pins; with components and how they are referenced within the code.

I want to stop treating my Photon like it’s an Arduino.

The differences in libraries should have an end soon

The next system version 0.6.1 should also do away with a load of porting requirements by defining some intermediate macros or just dummy stubs for things that aren't required on this platform.

One thing to note about the pins: Use the pin "names" rather than anonymous numbers.

Unfortunately there are no unbroken ports to allow full byte port manipulation for any 8 pins in one instruction.
GPIO interrupts are done per pin and not via interrupt numbers.
Pin to port and vice versa mapping is possible but uncommon.
These may be the most obvious differences, but more may be found by reading the reference and datasheet sections of the docs.

And more specific questions can be answered here.

1 Like

Thank you for that plethora of helpful information @ScruffR! I’m looking forward to some of the updates coming down the pipe.