HackerBoxes 0006: Internet of Things (IoT) Projects Featuring the Particle Photon

Introduction: HackerBoxes 0006: Internet of Things (IoT) Projects Featuring the Particle Photon

Hacking the Internet of Things! This month, subscribers to HackerBoxes are working with the Particle Photon IoT Board to control devices over the Internet, collect sensor data over the Internet, store data into the cloud, and so much more.

This Instructable contains information for working with HackerBoxes #0006. HackerBoxes is the monthly subscription box service for electronics hobbyists, makers, and hackers. Even if you are not a HackerBoxes subscriber, you can always join in the fun using your own materials and equipment. Of course, if you would like to receive a box like this right to your mailbox each month, please SUBSCRIBE HERE and join the HackerBoxes movement. We would love to have you!

Step 1: HackerBoxes #0006: Box Contents

  • HackerBox #0006 Collectible Reference Card
  • Particle Photon IoT Wi-Fi Board
  • IR Remote Control Kit with Receiver and IR LED
  • DHT-11 Digital Humidity and Temperature Sensor
  • Microphone Module (amplified)
  • NeoPixel Strip (RGB LEDs)
  • Micro USB Cable
  • Dupont Wires
  • Prototyping PCB
  • 400 point Solderless Breadboard
  • Photoresistor
  • Red 5mm LEDs
  • Resistors (220 and 10,000 ohm)
  • IoT Traffic Light Kit with Ping Pong Ball Light Diffusers
  • Laptop Decal "IoT HACKER"
  • Exclusive HackerBoxes Reversible Screwdriver

Step 2: Collectable HackerBoxes Reference Card

This month's collectable HackerBoxes reference card features the IoT Reference Model published in a Cisco White Paper along with reference information for the Particle Photon IoT Board. The Particle Photon was originally known as the Spark Core and was funded through a Kickstarter campaign. Check out the video.

Step 3: Particle Photon IoT Wi-Fi Board

This month, we are delighted to be working with Particle to feature the Photon IoT System.

To get started with the Photon Board click on over to particle.io/start

The online tutorial will guide you to set up your Photon, update the firmware, install the Particle Mobile App on your smartphone or tablet, and test some initial interactions with the Photon IoT Board.

The tutorial will also help you to complete your first few IoT projects:

  • Blinking and LED over the Internet
  • Reading a Photoresistor over the Internet
  • Assembling an Internet-Enabled Motion Sensor

With these basics of collecting data from a sensor, actuating an output, and closing the loop on a practical system application, you have firmly entered the world of The Internet of Things. Apply your "IoT HACKER" decal with pride! Note that there is also a tiny Particle decal hiding underneath the Photon Board in its matchbox.

Great thanks to John’s DIY Playground for the excellent video introducing the Photon IoT Board.

Also, check in with Particle for more IoT modules and accessories including the mobile/cellular enabled Electron Board.

Step 4: IoT Cloud-Based Weather Station Data Logger

Are you ready to log weather data to the cloud? No pun intended!

This great tutorial is from Open Home Automation. Environmental data is collected from a few sensor sources. These include a photocell and a DHT-11 (Digital Humidity and Temperature Sensor) (datasheet). Note that the data line of the DHT-11 needs a "pull-up" resistor attached to Vcc (the positive power rail). The schematic shows a 4.7K resistor for this pull-up, but a 10K resistor will work just as well.

Step 5: Internet-Enabled Traffic Light

This traffic light project can be used as a fun light demo or as something useful like a "do not disturb" indicator for your lab or office.

With the traffic light image printed onto cardstock or a label at 6x4 inches, the spacing is just about perfect for illumination using a NeoPixel Strip with 30/meter pitch. NeoPixels are WS2812 RGB LED chips with a single pin serial addressing scheme. The awesome NeoPixel Uberguide from Adafruit has the technical information you could ever hope for on the subject.

The traffic light can be used on cardstock alone or stuck onto something more substantial such as a small project box or even a cardboard box. If only you had a small cardboard box, right? Just cut out the "light" circles using a utility knife. Then cut a "spherical dome" (think of a contact lens) from a ping pong ball to serve as a light diffuser. You should be about to get two diffuser lenses from each ball. These can be glued or taped over each light hole from behind. A strip of three NeoPixels can be attached to the back side of the card (or the inside of the box).

Step 6: IoT Baby Monitor or Audio Bug

Particle has an online tutorial illustrating how to send data from a microphone over the Internet using the Photon IoT Board. The microphone board includes a tiny MAX9812 amplifier chip (datasheet).

Step 7: Internet Based IR Remote

An Infrared (IR) Remote Control kit can be used in an IoT context to trigger IoT events from the IR remote (via the IR receiver device) or to transmit IR signals using the IR LED.

Since a lot of television viewing is now controlled using mobile devices, the old IR remotes are often only needed to power the TV itself on and off and perhaps to adjust the volume. It would be nice to move these last IR functions onto the mobile device were they can be controlled with an app or browser over Wi-Fi. IoT IR Remote Control to the rescue!

There are some nicely detailed technical summaries of IR Remote Control signalling for embedded processors from Sparkfun and from ArduinoInfo.

Step 8: Congratulations!

You haven take quite an adventure into the Internet of Things. Motion sensors, audio bugs, weather data loggers, IR blasters, and traffic lights, oh my! What can't you control and monitor from the Internet of Things? What else did you create? If you enjoyed this Instrucable and you would like to have a box like this delivered right to your mailbox each month, please SUBSCRIBE HERE.

Please share your success (below and/or on the HackerBoxes Facebook Page) and certainly let us know if you have any questions. Thank you for being part of the HackerBoxes adventure. Please keep your suggestions and feedback coming. HackerBoxes are YOUR boxes. Let's make something great!



  • Fix It! Contest

    Fix It! Contest
  • Metalworking Contest

    Metalworking Contest
  • Tiny Home Contest

    Tiny Home Contest

22 Discussions

I would love to see the dev system work for me but every time I test the weather station I get the same error message that does not seem to make sense.

weatherstation.cpp:2:4: error: stray '#' in program
#include "application.h"

Would you get me a start please?


I'm going to use the traffic light with an ultrasonic sensor in the garage so my wife will know when to stop the car.


2 years ago


I probebly connected the IR Reciver in anyway possible but couldn't get it to work. I would much appreciate help with getting started with it

I am trying to get the weather module to work but seem to be failing. I am fairly certain I have wired everything correctly and copied the code directly from the openhome code, however my read outs for temp and humidity is always 0%, and my reading for lighting is usually between 9%-10%, even when completely covered or with a bright flashlight on it. Any advice?

4 replies

AdamP95 - are you sure you connected DHT11 Pin 4 to Gnd? I missed that
the first time I tried and my Temp/Hum data was 0. After connecting the
Gnd correctly the DHT worked great.


Taking your advice, I double checked my pin 4 and ground connections and they were good. I had a jumper going from the pin to the ground rail, and a jumper from the ground rail going to the ground pin on the photon. Which should work? After reading your comment I changed the jumper to go from pin 4 directly to the other ground pin (next to tx) on the Photon and now it all works great.

I am glad it is working, but now I have to didn't it work in the first configuration compared to the second?

Update: Right after writing that comment I returned to the original configuration and it still works, even after turning everything off. Again, glad it is working, but still not sure why it didn't work when I first set it all up.

I have found that the Dupont connectors are pretty flaky with breadboards, making intermittent connections. I try to avoid using them as a result, but when I do and the circuit doesn't work right, I've found that just jiggling them or removing/reinserting them often makes everything work correctly.

Perhaps that was your issue?


2 years ago

Hello. I don't use a cellphone and I'm trying to get the Particle app. I'm using Ubuntu 16.04 and have the nodejs, python, and the Particle-cli installed and have set up the Particle board to use the WiFi router, but can't get any further. My board is slowly blinking white and I'm stuck as to what to do next. Any help would be greatly appreciated.

7 replies

YegM did you get your problem resolved? It sounds like your Photon is not in Automatic mode. Slow blink white says that the WiFi is turned off.

I might have been mistaken. I think the board is slowly blinking cyan. The real problem is finding a 'Tinker' app I can use on my Ubuntu desktop (16.04 lts), As I mentioned before I don't use cellphones. Is there an app that I can use on my desktop instead of the cellphone? or is this project just for cellphone use? Any help would be appreciated. :)

If your Photon was successfully set up you do not need the Tinker app. It is nice to play with, but you can do whatever you want using the Particle Build.


Slowly blinking (breathing) cyan should mean that it is set up and ready to be flashed using Build. Move on to Step 3: Particle Photon IoT Wi-Fi Board.

Thank you very much for your help. I have managed to claim my photon in Build, but unfortunately when I use flash nothing happens. Is there something else I am missing? I've tried the blink an LED and Web blink an LED and when flashed nothing happens. My board is slowly blinking cyan, so I'm sure I'm connected to the wifi and cloud. This "hacking" can be very tricky, lol

Ah yes, "hacking" can be tricky! I am using Linux Mint, which is pretty close to your Ubuntu.

If you are sure your Photon it is blinking cyan, and not a darker blue, then I am out of ideas. :-( If it is a darker blue, then according to the documents it means that there is still a WiFi issue. Can you see your unit if you check for its MAC on your router?

OK, and sorry, but I have to ask, are you using your usb cable to your PC when you are trying to flash? Because you can only flash, as far as I know, when you are physically connected.

If this does not help then It sounds like it is time to contact HackerBoxes or Particle for help.

Good luck and Happy Hacking!

Thanks again for your help. It turns out all I needed to do was regenerate my access code to get it working, Now it is working just fine :) I just this stuff. Happy Hacking :)

I have been really excited to start this project but cannot get the photon to connect at all. Any help would be appreciated.

2 replies

Can you share a little more detail on where you are stuck?

Sure. I downloaded the particle app to my Android. I'm able to connect to the server fine but I'm not able to connect to the photon. When I try to connect it gives me an error. It reads, "Please try running setup again after resetting your Photon and putting it back in blinking blue listen mode if needed." It never leaves the blue blinking mode. I've tried the USB angle as well and was not able to connect it that way either.

This my first box was challenging for a person with no experience with similar stuff. Got through steps 1-4 OK, but now I'm stuck. With neopixels, is it so that I need to step up the 3.3 V output from the photon? I don't get any light from simple testing. I ran the neopixel test using an Arduino (5V) and the strip is fine.