I apologize for this rant, but I was really looking forward to working with the Photon but it’s tried my patience to the max. I am happy to hear from people that can point out what I’m doing wrong and I hope Particle is listening.
I bought the Photon because it was a cheap wifi micro that (I thought) would work well for an RFID timeclock project I want to make. I’m an experienced engineer and have done C as well as assembly embedded programming. I’ve used many dev environments before.
Needing to install an app on my phone just (and only just) to “claim” a photon is a pain. I don’t install apps willy-nilly like most people. Fortunately you only really have to do it once. Ok, I can live with that. I used an old phone. The claiming process was without it’s hiccups, but I got it going.
While the documentation seems to be fairly robust, It took me WAY too long to figure out that what I was looking for was an expanded menu under “Firmware” (on this page https://docs.particle.io/reference/firmware/photon/). Why would you call the language reference “Firmware”. I didn’t click on it because I assumed it had firmware files. Because of that I didn’t look at it hard enough to notice there was a little plus sign over on the other side that would expand it. That was only the beginning of my frustrations.
The web IDE UX around loading projects is wonky and not intuitive. The slideout when you click the <> is just too busy and has too many different aspects. The whole including libraries vs adding them is not clear at all. My first project I think I just include()ed it, but the library did not show up in the file tabs at the top. In another project I somehow added them to my actual project.
Several aspects of the UI are blocked by Chrome overlays. If you have the Chrome find box open, it covers the “add file” plus sign. Another thing that took me forever to find because it was hiding. The compile status is partially blocked by the URL preview at the bottom left of the screen. I’m still unclear if I have to click verify before I flash or if flash verifies, compiles and flashes. I have been clicking verify first, so I hover over flash before verify is done, bringing up the URL preview at the bottom, blocking the status.
And that brings me to the actual Photon. If I’m really lucky, after a flash the thing, it will connect (breathing blue) in 10-15 seconds. That happens about 1 in 20 flashes. Most of the other time it takes 1-3 minutes. It sits there alternating between really fast green and fast green. The Wifi AP is less than 10 ft away and I even put an external antenna on it. Didn’t help at all. It is INCREDIBLY frustrating to have to wait 3 minutes after every little change.
To make matters worse, the USB serial port stops working on every flash. This causes putty to close. I have to hard reset it (and sometimes unplug it completely) after it’s flashed and restart putty. How does anyone get anything done? I was using the TX/RX as a serial port which works better because Windows doesn’t see the USB drop, but it’s now connected to the RFID module so I have to use USB.
Now I’m battling an issue where the httpclient example works, but my derivative code (even though I didn’t change the library) seems to be missing the HTTP response headers so it comes back as result code -1.
Maybe I’m the only one with these issues, but I would not have the patience to use this platform for anything but the simplest of projects. The development flow is just way too clunky.