A few details about the Photon that may be valuable to be aware of:
It runs at 3.3 volts, not 5 volts like many Arduinos. If you choose to pursue work that uses additional parts or circuits not covered in class, you may want to verify that they won’t cause damage to the Photon.
It’s a 32-bit ARM microcontroller
It has 128kB of RAM and 1MB of flash memory for your program. Part of both will already be in use for the various features needed by the Particle API.
As you’ve already noticed, programs use an API that is nearly identical to the one used by Arduinos.
It’s an open source design, so you can easily find circuit diagrams, firmware code, and resources needed if you wanted to manufacturer your own or make significant modifications.
That last part, being open source, is important. Particle’s business is based largely on the Cloud Service they provide and the Photon is just one of many tools that can access it. This is one of the reasons we’re working with the Photon - it gives us a chance to work with a cloud service that is capable of building commercial products. That being said, for now we’re using the Photon as a simple microcontroller. We will use the cloud service to program it, but the programs we’ll be writing won’t use the cloud service yet.
Studio Prep (Monday)
At studio time you should have:
Photon configured to work with campus network
Breadboard wired with Photon and your RGB LED
Buttons
Wires
A USB cable (newer Macs will need a USB-C dongle too)
By Studio you should:
Review of the contents of the Particle Photon’s Firmware API Particle has APIs for many platforms, but this week we only care about the Firmware API. After opening the link expand the “Firmware” section in the left pane by clicking the “+” to the right of the word “Firmware”. You should see a list that starts with “Cloud Functions” and ends with “Firmware Releases”. Skim the sections so you have a general awareness of the categories of services available. Be sure to thoroughly review Software Timers and Time.
The assignment will build on both Embedded Studios (not the mini-studio). It will also require using a state machine, which was covered in CSE132. If you haven’t taken the current version of CSE132 or need to review, please see CSE132 Guide: “Introduction to Finite State Machines”