The Check In project allows friends and family members to 'check in' with each other in a gentle and non-intrusive way. It is particularly useful for people who do not use cell phones or find computers and email too complex.
The project consists of 2 or more devices with a very simple interface - one button!
At rest, all of the boxes are unlit except for the light around the one button which is colored white if the box is connected to the internet (it is dark if there is no power and blue if it has power but not connectivity). When the user wants to check on the person who has the other box, they press the button and both boxes light up a specific color - red, acqua or pink. Each color signifies a different box asking the simple question: 'You okay? Just checking in'. When that person sees the box is on, she or he simply presses their button and all boxes turn green.
When the first person notices that their box has turned green - indicating that the other person has 'checked in' and is fine, they hit the button a final time and the boxes go back into their unlit state. This exchange might happen quickly or over a number of hours. All boxes reset at midnight.Building Instructions
The main components are fairly simple - the Particle Photon, the switch and the NeoPixel ring.
I recommend considering using the JST connector because it lets you separate the Photon and Neopixel ring wiring from the RGB button wiring - and the top 3D print from the botton 3D print.
Speaking of the 3D print, I used a Dremel 3D20 Idea Builder with white PLA filament and the one tip I would offer is that the rapid/draft mode is actually better for light transmission from the NeoPixel ring through the container.
The wiring it fairly simply - see the schematic. The only potentially non-obvious part is the need for resistors on the RGB pins of the LED switch. Without them, if they were all grounded, it just showed red. I didn't experiment to see whether I could have used the internal resistors instead.
The next improvement would be to have some kind of status check. If a box misses a published event, it will be out of sync until the next published event.