What is an Internet Button?

I put this together after I was handed an Internet Button and had to figure out what is is with zero background.
From many sources as of May 31th, 2017. Note the added emphasis on Internet is mine as a reminder of the Internet Button’s purpose. Unless otherwise noted, all information is about the Photon Internet Button or IB.
I expect more knowledgeable users will have corrections and additions.

  1. The IB is produced by Particle, a company formerly known as Spark. So some of the references are to “Spark.” Spark was started by “crowd sourcing” funding on kickstarter.com
  2. The IB is designed to be part of the Internet of Things (IoT).
  3. The IoT is controlled by If This Then That (IFTTT) Internet-based services.
  4. The IB is a Photon brand Arduino ( [) single board microcontroller.
  5. Arduino ](https://en.m.wikipedia.org/wiki/Arduino ) board designs use a variety of microprocessors and controllers.
  6. The boards are equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits.
  7. The boards feature serial communications interfaces, including Universal Serial Bus (USB) on some models, which are also used for loading programs from personal computers.
  8. The IB is hard wired to a Photon Arduino microcontroller.
  9. The IB uses wifi as the primary communications method via a phone app that connects to the Particle.io internet server (Internet Router Protocol) and then to the Internet Button.
  10. The IB is designed to be accessed through the Particle.io internet site/servers. This is for security so you are the only one who can access your IB . The IB is not designed/initially set up for direct to device communications through communications through a USB cable is possible or a local server can be set-up.
  11. The IB is backward compatible with the Core (Arduino version ARDUINO 1.6.3 - 2015.04.02 restored ( in my words; compatibility previously “lost” because till this version, backwards compatibility wasn’t ensured in Arduino programming).
  12. The IB is hardwired with:
  13. 11 individually controllable Red Green Blue (RGB) Light Emitting Diodes (LEDs)
  14. ADXL362 3-axis accelerometer
  15. 4 tactile buttons for D-pad style interactions
  16. Female socket for connection to Photon
  17. Additional female headers for adding extra actuators and sensors (Shields)
  18. The USB cable is primarily for power, NOT programming through there is workaround for Windows using the “Particle CLI” (command line interface) at a “C” prompt (C:). The IB must be “Claimed” by first downloading the Particle app to your smartphone, creating a Particle account and then either:
  • Connecting to the IB through the Particle.io site/server via the internet from a “smartphone” internet app after creating an account and logging into the account.

  • Downloading the Particle Command Line Interface and connecting to the IB through a USB cable. On a Windows operating system you may need to first designate the USB as a serial communications(COM) port

NOTE: The instructions on the Particle CLI go into many more use cases than simply claiming your IB . You will need to read carefully and stop reading when the instructions go into other use cases.

The Internet Button CAN BE an Internet of Things depending on how the user chooses to use it. The Photon it uses works on or off the internet. The most fun is had when it's used ON the internet!

The Photon is a Particle device which is similar to Arduino but is NOT related to Arduino whatsoever. The Photon uses the same C++/Wiring programming language as does Arduino and many Arduino libraries will work with Photon but that's it.

The IB has a socket to accommodate a Particle Photon (no Arduino here!)

The Photon (thus the IB) uses WiFi to connect to the Particle Cloud directly. The phone app communicates to the Photon via the Particle Cloud. However, any server, phone app, pc app, etc. can communicate to the Photon via the Cloud using Particle open-source tools and libraries.

The Photon on the IB is best accessed through secure (CoAP) communications via the Particle Cloud. However, direct TCP/UDP communications (unsecured) to any device can implemented easily, bypassing the Cloud if needed. The Photon supports a WiFi SoftAP for initial configuration and claiming though a phone app. However, this can also be done via a direct (USB or Serial) connection to the Photon.

The Particle devices are not related in any way with Arduino Core software. The Particle device firmware is managed entirely by Particle.

The USB connection allows for Serial and DFU programming directly using Particle's CLI tool which has a great all-in-one installer for Windows. The USB connection also allows program debugging via Serial port, much like Arduino does. The CLI can also be used to program the Photon on the IB "Over The Air" or OTA without the need for a USB connection. This can also be done using Particle's web IDE.

The Particle documentation is an ongoing work in progress, evolving from feedback and contributions from the amazing community. It is a great first place to start. Additionally, this forum is here to guide and help new users who may need a few pointers. It's also here to help members who are in full motion on their projects and simply need help or advice.

Thanks for your contribution @KellisRJ and I hope this community can help with your projects!


That's a lot of points for something that's meant to be relatively simple. Let me try and address them. (I noticed @peekay123 beat me to it, but I was halfway already, so I might as well finish it ;))

There's no such thing. There's a Photon, and there's an internet button. The two happen to work 'together' but that's all there is to it. [quote="KellisRJ, post:1, topic:33416"]
The IB is produced by Particle, a company formerly known as Spark. So some of the references are to “Spark.” Spark was started by “crowd sourcing” funding on kickstarter.com

Correct. Before that there were a couple of other names as well, but Spark is where the IoT part (as we know it from Particle now) took off.[quote="KellisRJ, post:1, topic:33416"]
The IB is designed to be part of the Internet of Things (IoT).

It could be, but certainly doesn't have to be. I can happily play "simon says" on it without ever connection to the internet :slight_smile: It's made for you to do whatever you want with it. If that's an IoT application, great. If not, great as well.

"The IoT" isn't a thing, and it certainly isn't limited by IFTTT. IFTTT is just one example of a 'user friendly' interface into IoT. There are (arguably) a near infinite amount of ways to 'control' the IoT.

Eh, nope. The Photon is a Particle microcontroller that just so happens to work with the same programming language Arduino does, for ease of use. Both are essentially C/C++.

Coincidentally, so does Particle. Not that it could be anything other than a coincidence, since the two aren't related. At all.

Assuming you're talking about Arduino and/or Particle, then yes. The current boards Particle had produced do expose those kinds of pins.

Loading programs, interacting with computers, etc.[quote="KellisRJ, post:1, topic:33416"]
The IB is hard wired to a Photon Arduino microcontroller.

Nope, and nope. The Internet Button isn't hardwired to anything, and the Photon is not an Arduino. As mentioned before, the IB and Photon are separate components, try and treat them as such.

The Internet button hasn't got 'primary communications'. The Photon which it comes with does. That one so happens to use Wifi, but there's nothing stopping you from sticking in a Bluz or Redbear Duo which use bluetooth.
Not sure what the phone app is doing here, since it has no business with the internet button.

The IB is designed for you to do whatever with it. You don't have to use the cloud, nor do you have to use the internet at all.
Using the cloud doesn't really have to do with security, but it does make that part a lot easier. You can still allow access to others if you know how (e.g. read the docs on API's, Products, etc.)
The internet button is very much designed for a direct device connection, since it connects to the Photon. The Photon Can connect via the network, cloud, hardware protocols, USB, and probably a couple others. You can set up a local server as well, but again, that's a controller thing, not an internet button thing. Keep them separate.

Yes, the Photon should be able to do everything the Core could, and more.
No idea what you're getting at with the Arduino stuff, since they're not related...

That sounds about right. 11 neopixels, a 3 axis accelerometer, four buttons, and a buzzer.

The USB connection is for power, and programming, and communicating...
The CLI certainly isn't a 'work-around' either. A command line interface isn't a strange thing in the programming world, and the fact that Particle offers one for convenience is very much intentional, not a work-around. In fact, it's the recommended method for programming an Electron.
The CLI isn't Windows-only either. OSX and linux have versions available as well.
The internet button doesn't get claimed. The internet button can't be claimed. The Photon can. So you can claim that using the app, or the CLI, or a serial terminal, or the setup webpage, or...

You don't connect to the IB. You connect to the Photon. You can use the App, or something else. The app is just a wrapper for the API, and pretty much any other programming language capable of making HTTP request is able to interact with the device via the cloud.

You don't connect to the IB. You connect to the Photon.[quote="KellisRJ, post:1, topic:33416"]
You will need to read carefully and stop reading when the instructions go into other use cases.

I very much recommend NOT stopping with reading, since the other information in there is just as valuable. Reading the docs can save a lot of frustration and time, for a lot of people. If you find the information in the docs, you won't have to ask someone else, who then kindly refers you back to those same docs. It's a win-win really. So, please do continue to read on.


Well, there you go.

Thank you for your contributions to the forums with the product Photon and an available shield the Internet Button. Also thank you @Moors7 @peekay123 for helping to clarify his post as well. I am going to close this post because there’s no need for further discussion.