All Projects → Here-Be-Dragons → Familamp

Here-Be-Dragons / Familamp

Cloud-synchronized lamps

Labels

Projects that are alternatives of or similar to Familamp

Tuyapi
🌧 An easy-to-use API for devices that use Tuya's cloud services. Documentation: https://codetheweb.github.io/tuyapi.
Stars: ✭ 1,043 (+1667.8%)
Mutual labels:  iot
Socketman
And I think it's gonna be a long, long time
Stars: ✭ 52 (-11.86%)
Mutual labels:  iot
Rfsec Toolkit
RFSec-ToolKit is a collection of Radio Frequency Communication Protocol Hacktools.无线通信协议相关的工具集,可借助SDR硬件+相关工具对无线通信进行研究。Collect with ♥ by HackSmith
Stars: ✭ 1,085 (+1738.98%)
Mutual labels:  iot
Homemirror
Web based home mirror, inspired by Hannah Mitt's project.
Stars: ✭ 49 (-16.95%)
Mutual labels:  iot
Paho.mqtt.c
An Eclipse Paho C client library for MQTT for Windows, Linux and MacOS. API documentation: https://eclipse.github.io/paho.mqtt.c/
Stars: ✭ 1,056 (+1689.83%)
Mutual labels:  iot
Desk Lamp Alternative Firmware
An alternative firmware for the Mijia Xiaomi Desk Lamp
Stars: ✭ 54 (-8.47%)
Mutual labels:  lamp
Node Red Contrib Knx Ultimate
Single Node KNX IN/OUT with optional ETS group address importer.
Stars: ✭ 48 (-18.64%)
Mutual labels:  iot
Tasmota Irhvac
Home Assistant platform for controlling IR Air Conditioners via Tasmota IRHVAC command and compatible harware
Stars: ✭ 58 (-1.69%)
Mutual labels:  iot
Pysmartthings
A python library for interacting with the SmartThings cloud API build with asyncio and aiohttp.
Stars: ✭ 51 (-13.56%)
Mutual labels:  iot
Opentaps seas
opentaps Smart Energy Applications Suite
Stars: ✭ 55 (-6.78%)
Mutual labels:  iot
Ais.net
.NET Standard, high performance, zero allocation AIS decoder, which can process millions of AIVDM/AIVDO sentences per second on a single core. Sponsored by endjin
Stars: ✭ 49 (-16.95%)
Mutual labels:  iot
Home Assistant Config
🏠 My Home Assistant configuration, a bit different that others :) Be sure to 🌟 this repository for updates!
Stars: ✭ 1,050 (+1679.66%)
Mutual labels:  iot
Bleeper
Library to manage your firmware configurations written in C++
Stars: ✭ 54 (-8.47%)
Mutual labels:  iot
Esp mqtt
MQTT client library for ESP8266
Stars: ✭ 1,047 (+1674.58%)
Mutual labels:  iot
Nextcloud Snap
☁️📦 Nextcloud packaged as a snap
Stars: ✭ 1,088 (+1744.07%)
Mutual labels:  iot
Qcbor
QCBOR -- a small CBOR encoder/decoder oriented around C and native data representations
Stars: ✭ 48 (-18.64%)
Mutual labels:  iot
Gleam
An operation cluster based on MQTT
Stars: ✭ 53 (-10.17%)
Mutual labels:  iot
Wolfssl
wolfSSL (formerly CyaSSL) is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3!
Stars: ✭ 1,098 (+1761.02%)
Mutual labels:  iot
Addon Zwave2mqtt
Z-Wave to MQTT - Home Assistant Community Add-ons
Stars: ✭ 58 (-1.69%)
Mutual labels:  iot
Connectedhomeip
Project Connected Home over IP is a new Working Group within the Zigbee Alliance. This Working Group plans to develop and promote the adoption of a new connectivity standard to increase compatibility among smart home products, with security as a fundamental design tenet.
Stars: ✭ 1,072 (+1716.95%)
Mutual labels:  iot

familamp

Alt text

Overview


Networked lamps using a Particle Photon, WB2812B LEDs (aka NeoPixels), and a touch-sensitive panel. They communicate and synchronize colors across lamps via the internet and Particle's cloud using Particle.subscribe() and Particle.publish() functions. Bonus of using Particle's cloud: easily push updates and add features from Particle's browser-based IDE and Console.

Images


Demo of operation:
Alt text
https://youtu.be/uUX5NEsEXrw

Special mode idle sequences (instead of being off, the lamp runs an assigned idle sequence on holidays) Alt text Alt text Alt text

Alt text

Circuit boards from Osh Park: Alt text

Hardware


  • Particle Photon
  • WB2812B strip of LEDs. I used 60 per lamp, because this seemed like a good match for my 2A power supplies.
  • A 3.3V to 5V logic level shifter to convert the 3.3V data bus from the Particle Photon to 5V the NeoPixels require.
  • Pre-cut acrylic pieces to make the acrylic light box. TAP Plastics was the vendor I chose for this. (See Other Note #1) For each lamp:
    • 2 cut-to-size 1/8" thick pieces, 5" x 9-7/8"
    • 2 cut-to-size 1/8" thick pieces, 4-3/4" x 9-7/8"
    • 1 cut-to-size 1/8" thick piece, 5" x 5"
  • A sheet of thin copper for the top. I used a smooth ball peen hammer on the copper before installation to give it a hammered look.
  • Wood for the base and any flourishes you want for your lamps
  • 3/4" x 3/4" outside corner moulding (if desired, to hide seems).
  • Custom PCB (I designed this in EAGLE and requested manufacture by OSH Park)
  • Other supporting bits (per lamp):
    • 1 resistor of value between 300 and 500 Ohms
    • 1 resistor of value between 1MOhm and 10MOhm (See Other Note #2)
    • A barrel jack of matching dimensions to your power supply (Mine were 5.5mm with a 2.1mm center pole)
    • A 5V power supply able to power the lamp. I chose a UL listed supply of 2A. (See Other Note #3)
    • Feet for the bottom of the lamp. I grabbed some rubber feet from my local hardware supply store.
    • Mounting hardware to attach the PCB. I used small screws and standoffs from my local hardware supply store.

Software


Assembly


  • 1MOhm resistor between pins D3 and D4 of the Particle Photon
  • D2 goes to a 3.3V to 5V Logic Level Shifter, then to a resistor of value between 300 to 500 Ohms, then to the data input pin of the NeoPixels.
    • The resistor prevents voltage spikes that might otherwise damange the first pixel in the string.
  • D3 of the Particle Photon is connected to the touch sensitive hammered copper panel on the top of the lamp.
  • Connect a capacitor (1000µF, 6.3V or higher) across VIN and GND on the Particle Photon, then connect VIN and GND to the corresponding NeoPixel pins.
    • The 1000µF capacitor prevents the initial onrush of current from damaging the pixels over time. I ended up using a 500µF capacitor instead so it would fit my design's physical contraints better.
  • I used a 9" length of 1" PVC pipe to wrap the NeoPixels around, and hot-glued this into a hole in the top of the wood base.
    • Do not use hot glue to glue the NeoPixels to the PVC pipe. Either buy the NeoPixels with 3M tape on the back or use something like silicone (do not power the pixels on until after the time indicated for complete dry time on the glue of choice to prevent shorting the pixels). When I used hot glue, this caused the strip to stop working correctly

Other Notes & Lessons Learned


  1. I tried saving money here by buying a large sheet of clear acrylic and cutting it myself, then sanding to make clear into frosted. It turns out cutting acrylic is not easy to do well. Abandoned this idea and bought clear acrylic pre-cut from a vendor, then sanded with 60-grit using a random orbital sander to frost the acrylic. This still took forever. If I were to do it again, I'd just buy pre-frosted with a medium light pass-through level.
  2. A lower resistance is less sensitive, but also polls faster. A high resistance takes longer to poll but can detect changes to capacitance with more sensitivity. Prototype between 1MOhm and 10MOhm to see what works with your design. I chose 1m ohm because the code loops back through a the captouch poll function frequently in the middle of effect transitions. It does this to try to be responsive to touch as quickly as possible. In really dry weather it does slow down polling significantly which has the end result of making slightly stuttery animation effects, even with 1MOhm.
  3. Try to avoid power supplies that are not UL-Listed. 2A was a good middle ground for a reliable supply. This device draws ~1A at 5V on its brightest setting during typical usage. If all LEDs are at maximum brightness white (not something available in the current code), the lamp draws almost 3A.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].