Friendship Lamp

This is, at heart, a rip-off of an existing product borne out of a desire to avoid paying $90 per lamp when you KNOW you can do it cheaper and better yourself. Like all good DIY projects, this is only true if you don’t value your time or sanity as you break circuits and spend days developing your version.

Friendship!

Functionality

Each lamp is based around an ESP2866 module that controls a Neopixel ring light. When the device is powered on for the first time, it opens a captive web portal which helps you connect to wifi. Once connected, the device communicates to other devices on the network via a free AdafruitIO dashboard - publishing and subscribing to messages.

These lamps are a bit different from the commercial version or other lamps you can find on Instructables because:

  • You can send multiple colors and multiple lighting effects (pulses, flashes, rainbows)
  • There are two versions - a headless version with just buttons and a “Deluxe” version with an OLED screen
  • You can connect more than 2 devices - each with its own ID such that a Deluxe lamp can communicate with any other lamp on the network

friendship lamp

Examples:

This video shows the lamp in action:

How to Setup

  1. Plug Device In
    • Will flash solid red for a moment when power is connected
  2. If powering on for the first time in a new network:
    • Will flash yellow
    • Open Web Browser
    • On your device, connect to the wifi network you setup in the coding step
  3. You’ll see a login screen. Connect to your home wifi.

  4. Hit save.
    • You might have to unplug and replug the lamp at this point. It will save your info, so you’ll only have to do this once.

How to Use

For the lamp with no display

There are two buttons and a dial.

  • The blue button cycles through the lighting FX from solid color -> off. The dial will adjust the color of the selected FX (if available).

  • The green button will send the selected FX to the friend setup in the coding step. When that happens, you’ll see the device flash green.

  • Holding down the blue button will, confusingly, do two things - First it will toggle the lights on the buttons on or off. Secondly WHILE the button is being held down, you can use the dial to adjust how bright the lamp is.

  • Holding down the green button will reset the lamp back to the home “screen”. So if you’ve sent a message but want to be able to mess with the lighting effect, hold it down. If you’ve received a message and it’s jammed up, hold down that button!

For the lamp with display

Should be a little more self-explanatory. Top/Bottom buttons navigate through menus. The middle button selects.

Supplies

Tools

These might not all be necessary, but they make life easier:

  • Solder Iron
  • Jumpers (like these)
  • Multimeter

Materials

  • Neopixels (Ring or Line, Ring works better for the effects)
  • Adafruit Feather HUZZAH with ESP8266
  • Potentiometer and resistors/wires to drop the output voltage to between 0 and 1v (actual sizing depends on your potentiometer size)
  • 128x64 px OLED Screen (only necessary on the version with a display)
  • Buttons x2 (like these. Not necessary on the version with a display)
  • Lamp materials! I used a frosted glass shade and bulb along with a wooden bowl and some sort of weird cutting board, all from a thrift shop, to make the two lamps. But it’s very flexible and basically any format would work. Neopixels look really good under a diffuser, so it’s helpful if the glass isn’t clear.
  • USB Power Cord (5V, 1A output - check the plug rating before using)

Resources

Tags:

Updated: