The copilot lamp is fairly easy to assemble with a bit of soldering. The hardest part is patiently waiting for all the parts to print! 😉
In short, it is a few 3D printed parts, a microcontroller, some LEDs and a few wires to connect it all together.
- Black PLA Filament [US]
- White PLA Filament [US]
- 60 LEDs (1 meter) - WS2812B Addressable LED Light Strip [US]
- ESP8266 Microcontroller micro-USB + WiFi [US]
- TTP223 Capacitive Touch Sensor [US]
- JST Cable (white, 26awg) [US]
- Short Micro-USB Extension [US]
- (optional) 3/8" Shrink Tubing [US]
- (optional) JST Cable (black, 20awg) [US]
- (optional) Long micro-USB cable. [US]
- Soldering Iron
- 3D Printer
Note
Tip: Don't have a 3D printer? Check if your local library has a makerspace. They might be able to print the parts for you! 🤩
The lamp is designed to be assembled by hand, minus the small amount of soldering. It's printed with regular PLA filament on a printer with at least 200x200mm print area.
The .STL files for all of the printable parts are in the /models
folder.
- No supports are required.
- Avoid sparse infill for the backplate to strengthen the connectors.
- Avoid sparse infill for the LED chamber if you don't want to see a pattern through the glowing.
- For a textured look, consider a textured plate. [US]
- The
eye.stl
model may break with more brittle filaments like PLA Silk. There is aneye-2mm.stl
file for this but it is more difficult to remove.
Tip
The backplate, faceplate, and eyes don't have to be black. Try printing them in another color or with fun multicolor or shiny filament! 🦄 🤩
Note
If you know how to use Autodesk Fusion, you can add your GitHub handle to the chin of the faceplate. The 3D model already has a feature. Just change the text. 🤯
If you order the microcontrollers from the provided link, there is a good chance that 1 of the 5 boards will be bad. It's important to start with installing the software.
- Connect the microcontroller to your computer using a USB cable.
- Open a web browser and navigate to the WLED install page.
- In the drop down, ensure version
0.15
is selected. - Click the Install button and a window will appear. Select the USB serial device.
- Follow the instructions and wait a few minutes for the install.
- If this seems to have trouble, try a different board.
- When asked, enter your WiFi details.
- Accessing the device locally is required to upload the configuration.
- When the install is finished, click the Visit Device button.
- On the device's main page, in the top right, click the Config button.
- At the bottom, select Security and Updates
- Scroll to the bottom and look for the backup options.
- Install the presets using the
/wled-config/wled_presets_playlists.json
file.
This will do the following:- Install playlist 1 - Slow effects. (Single press action)
- Install playlist 2 - Fast random effects. (Double press action)
- Install preset 3 - LEDs off (Hold 2 seconds action)
- Install the device configuration using the
/wled-config/wled_config_60_led_with_touch.json
file.
This will do the following:- Set the device to use 60 LEDs and max 1 amp power.
- Configure use of the touch sensor.
- Assign the touch sensor to the playlists.
- Configure a timer option to turn on the lamp at 9am and off at 5pm.
- Set it to broadcast a WiFi network named
copilot-lamp
, if no WiFi is found.
- Keeping the plug end, cut the 5 meter LED strip to 60 LEDs (1 meter).
Warning
The ~1 meter length is more important than the 60 LEDS. If the strip is too long it may not fit. If it is too short, then parts may not glow. 😕
-
Attach a JST lead cable (plug side) to the contacts of the touch sensor.
- Black Wire: GND (ground)
- Yellow Wire: I/O (communication)
- Red Wire: VCC (3.3v power)
-
Your LED strip may have come with a simple controller. Remove the socket end from it or from the 5 meter LED strip.
- Shorten a JST lead cable (socket side). Leave the black wire longer, about the width of the microcontroller.
-
Attach the LED lead cable (socket side) to the microcontroller. Make sure the cables come out of the side with the wifi module.
- Red Wire: 5V (power)
- White Wire: G (ground)
- Green Wire: D4 (digital)
-
Attach the Touch Sensor lead cable (socket side) to the microcontroller. Make sure the cables come out of the side with the wifi module.
- Red Wire: 3V3 (power)
- White Wire: G (ground) - Note, it is on the other side.
- Green Wire: D7 (digital)
-
Attach the short micro-usb extension.
- Connect the LED strip and touch sensor to the microcontroller.
- Plug in the USB cable to apply power.
- The LEDs should randomly fade shades of green.
Note
You must connect the touch sensor. If not, it will believe the touch sensor is being held down and continuously attempt to turn of the LEDs.
-
Starting in the bottom left, remove part of the adhesive tape on the LED strip and attach to the support wall. Run the lead wire into the ear. Continue attaching the the LED to the wall similar to the image below.
-
Insert the touch sensor in the rectangular slot in the forehead area. Ensuring the touch pad is facing outward. Route the cables between the up between the guides and to the right.
-
Insert the microcontroller into the holder. Ensure the WiFi module is facing down (toward the face). Pinch the USB cable under the angled guide bar to secure the microcontroller.
-
Twist the USB cable around some of the left cable guides and pinch it into the holder.
Note
You might consider adding a bit of glue behind the usb extension's socket to prevent the cable being pulled out. The holes are backup for zip ties to hold the USB cable down.
Warning
Don't apply too much force on the tabs. Depending on the filament's brittleness, they might break.
-
Attach the faceplate by gently sliding it down over the LED chamber.
-
You are finished! See the main README for usage info. Plug it in and enjoy!
Congrats! Nice work! 🎉 Did you have fun making your copilot lamp? I know I did! 🤓
Quick Question. Any chancee you have some extra parts? I bet so.
Why not make another and gift it to a friend. Check out the gift a friend guide to make sure their unboxing experience is super fantastic! 🦄 💚
If you would like to add your GitHub username, there is already a feature
in the 3d model /models/github-copilot-lamp.f3d
.
Open it using Autodesk Fusion, change the text, and export the STL.
- Reset wifi: hold button 0 for >6 seconds.
- Reset WLED: hold button 0 for >12 seconds.
These are the settings for manually configuring a device the same as the premade configuration file.
- Maximum current: 850mA
- WS281x
- GPIO 2
- Turn LEDs on after power up/reset: unchecked
- Button 0 CPIO: 15 - Push Inverted
- Button 1 CPI: unused - Disabled
DNS address: copilot-lamp.local AP SSID: copilot-lamp AP Pass: copilot-lamp Disable WiFi Sleep: checked
Macro Presets Button Actions
- Button 0: short: 0, long: 0, double: 0
- Button 1: short: 1, long: 3, double: 2
- D1 Mini Microcontroller Pin Detail and Guide
- D1 Mini Schematic
- TTP223 Touch Sensor Video Guide
- TTP223 Touch Sensor Tech Specs