# NeoPixel Ring Lamp

## Overview

https://youtu.be/p_5DRfurpYg

This project is an LED lamp with NeoPixels.

It uses several NeoPixels rings to make a modern looking, functional lamp.

The led rings are held in place with snap fit diffusers designed and 3D printed as a single piece.

The rings are grouped together and arranged to look like they’re gravity defying.

To make the assembly modular, the project use PicoBlade molex cables so they can easily connect together.

&nbsp;

![leds_hero-back-close.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/488/medium640/leds_hero-back-close.jpg?1636987531)

![leds_hero-entry.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/489/medium640/leds_hero-entry.jpg?1636987586)

The 3d printed holder features slots on the back that allow the cables to pass through.

In total, the lamp has 124 NeoPixel LEDs. It has one 60 NeoPixel ring, two 24s and a 16 NeoPixel&nbsp;ring.

![leds_code-wide.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/490/medium640/leds_code-wide.jpg?1636987671)

![](https://cdn-learn.adafruit.com/assets/assets/000/106/491/medium800/leds_code-top-down.jpg?1636987790)

The LED animation library for CircuitPython is used to create this animation sequence.

It’s easy to modify the parameters so you can customize the animations to fit the feel of your project.

The animations are grouped together and, depending on the type, they can have their own speed settings and different colors.

It’s really the best way to get NeoPixel&nbsp;animations going in CircuitPython!

## Parts
The Raspberry Pi Pico is powered by a USB wall plug.

We used a 60 NeoPixel ring, two 24 NeoPixel rings and one 16 NeoPixel ring for the lamp.

The LED rings press fit into the printed fame.&nbsp;

The LED frame attaches into the 3D printed case. The lid uses a 2.5mm screw to attach to the frame. The Lid snap fits on to the case. The case uses a circular base that press fits onto the case.

&nbsp;

![leds_parts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/492/medium640/leds_parts.jpg?1636987908)

![leds_3d-parts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/493/medium640/leds_3d-parts.jpg?1636987939)

Featured
### Raspberry Pi Pico RP2040

[Raspberry Pi Pico RP2040](https://www.adafruit.com/product/4864)
The Raspberry Pi foundation changed single-board computing [when they released the Raspberry Pi computer](https://www.raspberrypi.org/archives/723), now they're ready to do the same for microcontrollers with the release of the brand new **Raspberry Pi Pico**. This...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4864)
[Related Guides to the Product](https://learn.adafruit.com/products/4864/guides)
![Angle shot of Raspberry Pi Pico RP2040](https://cdn-shop.adafruit.com/640x480/4864-00.jpg)

Featured
### NeoPixel 1/4 60 Ring - 5050 RGB LED w/ Integrated Drivers

[NeoPixel 1/4 60 Ring - 5050 RGB LED w/ Integrated Drivers](https://www.adafruit.com/product/1768)
The biggest NeoPixel Ring yet! With four of these you can make a huge ring with 60 ultra bright smart LED NeoPixels are arranged in a circle with a 6.2" diameter. **Each order comes with just the quarter ring. Four of this item are required to make a large ring. You will have to...**

In Stock
[Buy Now](https://www.adafruit.com/product/1768)
[Related Guides to the Product](https://learn.adafruit.com/products/1768/guides)
![Hand holding NeoPixel Ring with 60   x 5050 RGB LED, lit up rainbow](https://cdn-shop.adafruit.com/640x480/1768-00.jpg)

Featured
### NeoPixel Ring - 24 x 5050 RGB LED with Integrated Drivers

[NeoPixel Ring - 24 x 5050 RGB LED with Integrated Drivers](https://www.adafruit.com/product/1586)
Round and round and round they go! 24 ultra bright smart LED NeoPixels are arranged in a circle with 2.6" (66mm) outer diameter. The rings are 'chainable' - connect the output pin of one to the input pin of another. Use only one microcontroller pin to control as many as you can...

In Stock
[Buy Now](https://www.adafruit.com/product/1586)
[Related Guides to the Product](https://learn.adafruit.com/products/1586/guides)
![Hand holding NeoPixel Ring with 24 x 5050 RGB LED, lit up rainbow](https://cdn-shop.adafruit.com/640x480/1586-00.jpg)

Featured
### NeoPixel Ring - 16 x 5050 RGB LED with Integrated Drivers

[NeoPixel Ring - 16 x 5050 RGB LED with Integrated Drivers](https://www.adafruit.com/product/1463)
Round and round and round they go! 16 ultra bright smart LED NeoPixels are arranged in a circle with 1.75" (44.5mm) outer diameter. The rings are 'chainable' - connect the output pin of one to the input pin of another. Use only one microcontroller pin to control as many as you can...

In Stock
[Buy Now](https://www.adafruit.com/product/1463)
[Related Guides to the Product](https://learn.adafruit.com/products/1463/guides)
![Hand holding NeoPixel Ring with 16 x 5050 RGB LED, lit up rainbow](https://cdn-shop.adafruit.com/640x480/1463-00.jpg)

Featured
### 1.25mm Pitch 3-pin Cable Matching Pair - 40cm long

[1.25mm Pitch 3-pin Cable Matching Pair - 40cm long](https://www.adafruit.com/product/4721)
When 0.1" is too big, and JST PH's too chunky, these ultra-slim 1.25mm connectors are a reliable alternative. These are only 1.25mm pitch, but have a nice clicky connection.

These cables are&nbsp;nice and long, 40cm in fact. They've&nbsp;got both small form factor and are a...

In Stock
[Buy Now](https://www.adafruit.com/product/4721)
[Related Guides to the Product](https://learn.adafruit.com/products/4721/guides)
![1.25mm Pitch 3-pin Cable Matching Pair](https://cdn-shop.adafruit.com/640x480/4721-02.jpg)

Featured
### Fully Reversible Pink/Purple USB A to micro B Cable - 1m long

[Fully Reversible Pink/Purple USB A to micro B Cable - 1m long](https://www.adafruit.com/product/4111)
This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also fully reversible! That's right, you will save _seconds_ a day by not having to flip the cable around.

First let's talk about the cover and over-molding. We got these...

In Stock
[Buy Now](https://www.adafruit.com/product/4111)
[Related Guides to the Product](https://learn.adafruit.com/products/4111/guides)
![Fully Reversible Pink/Purple USB A to micro B Cable](https://cdn-shop.adafruit.com/640x480/4111-02.jpg)

![](https://cdn-learn.adafruit.com/assets/assets/000/106/487/medium800/leds_hero-arc.jpg?1636987456)

![NeoPixel](https://cdn-learn.adafruit.com/guides/images/000/003/471/original/ring-chase-loop-B.gif?1636986516)

# NeoPixel Ring Lamp

## Circuit Diagram

The diagram below provides a visual reference for wiring of the components. This diagram was created using the software package&nbsp;[Fritzing](http://fritzing.org/download/).

Use Adafruit's Fritzing parts library to create circuit diagrams for your projects. Download the library or just grab individual parts. Get the library and parts from&nbsp;[GitHub - Adafruit Fritzing Parts](https://github.com/adafruit/Fritzing-Library/tree/master/parts).

![](https://cdn-learn.adafruit.com/assets/assets/000/106/529/medium800/leds_NeoPixel_Ring_Lamp-circuit_diagram.jpg?1637007479)

## Wired Connections

The Raspberry Pi Pico is powered by a USB power adapter. &nbsp;

## NeoPixel Ring

The lamp is illuminated by a 60 NeoPixel ring, two 24 NeoPixel rings and one 16 NeoPixel Ring. The 60 pixel ring consists of four 15 pixel quarter strips.

- **V+** &nbsp;from **NeoPixel Ring** &nbsp;to **VBUS** on **Pico**
- **G** from **NeoPixel Ring** to **GND** on **Pico**
- **IN** &nbsp;from **NeoPixel Ring** to **GP1** on **Pico**

# NeoPixel Ring Lamp

## Installing CircuitPython

[CircuitPython](https://github.com/adafruit/circuitpython) is a derivative of [MicroPython](https://micropython.org) designed to simplify experimentation and education on low-cost microcontrollers. It makes it easier than ever to get prototyping by requiring no upfront desktop software downloads. Simply copy and edit files on the **CIRCUITPY** drive to iterate.

## CircuitPython Quickstart

Follow this step-by-step to quickly get CircuitPython working on your board.

[Download the latest version of CircuitPython for the Raspberry Pi Pico from circuitpython.org](https://circuitpython.org/board/raspberry_pi_pico/)
 **Click the link above and download the latest UF2 file.**

Download and save it to your desktop (or wherever is handy).

![circuitpython_Cat_UF2_download.png](https://cdn-learn.adafruit.com/assets/assets/000/098/753/medium640/circuitpython_Cat_UF2_download.png?1611157944)

Start with your Pico unplugged from USB. Hold down the **BOOTSEL** button, and while continuing to hold it (don't let go!), plug the Pico into USB. **Continue to hold the BOOTSEL button until the RPI-RP2 drive appears!**

If the drive does not appear, unplug your Pico and go through the above process again.

A lot of people end up using charge-only USB cables and it is very frustrating! **So make sure you have a USB cable you know is good for data sync.**

![raspberry_pi_one_one_two.png](https://cdn-learn.adafruit.com/assets/assets/000/125/993/medium640/raspberry_pi_one_one_two.png?1699493528)

You will see a new disk drive appear called **RPI-RP2**.

&nbsp;

Drag the **adafruit\_circuitpython\_etc.uf2** file to **RPI-RP2.**

![circuitpython_Cat_RPI-RP2_drive.png](https://cdn-learn.adafruit.com/assets/assets/000/098/756/medium640/circuitpython_Cat_RPI-RP2_drive.png?1611158210)

![circuitpython_Cat_drag_UF2.png](https://cdn-learn.adafruit.com/assets/assets/000/098/758/medium640/circuitpython_Cat_drag_UF2.png?1611158274)

The **RPI-RP2** drive will disappear and a new disk drive called **CIRCUITPY** will appear.

That's it, you're done! :)

![circuitpython_Cat_CIRCUITPY.png](https://cdn-learn.adafruit.com/assets/assets/000/098/759/medium640/circuitpython_Cat_CIRCUITPY.png?1611158312)

## Flash Resetting UF2

If your Pico ever gets into a really _weird_ state and doesn't even show up as a disk drive when installing CircuitPython, try installing this 'nuke' UF2 which will do a 'deep clean' on your Flash Memory. You will lose all the files on the board, but at least you'll be able to revive it! After nuking, re-install CircuitPython

[flash_nuke.uf2](https://datasheets.raspberrypi.com/soft/flash_nuke.uf2)
# NeoPixel Ring Lamp

## Code

Once you've finished setting up your Raspberry Pi Pico with CircuitPython, you can access the code, audio files and necessary libraries by downloading the Project Bundle.

To do this, click on the **&nbsp;Download Project Bundle** &nbsp;button in the window below. It will download as a zipped folder.

![leds_code-wide.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/532/medium640/leds_code-wide.jpg?1637014358)

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/NeoPixel_Rings_Lamp/code.py

## Upload the Code and Libraries to the Raspberry Pi Pico
After downloading the Project Bundle, plug your Raspberry Pi Pico into the computer USB port. You should see a new flash drive appear in the computer's File Explorer or Finder (depending on your operating system) called&nbsp; **CIRCUITPY**. Unzip the folder and copy the following items to the Feather M4's&nbsp; **CIRCUITPY** &nbsp;drive.&nbsp;

- **lib** &nbsp;folder
- **code.py**

![leds_code-top-down.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/531/medium640/leds_code-top-down.jpg?1637014250)

Your Raspberry Pi Pico **CIRCUITPY** &nbsp;drive should look like this after copying the&nbsp; **lib** folder and **code.py** &nbsp;file.

![](https://cdn-learn.adafruit.com/assets/assets/000/106/530/medium800/leds_circuitpy-drive.jpg?1637008886)

# NeoPixel Ring Lamp

## 3D Printing

## Parts List

STL files for 3D printing are oriented to print "as-is" on FDM style machines. Parts are designed to 3D print without any support material. Original design source may be downloaded using the links below.

![leds_3d-parts.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/526/medium640/leds_3d-parts.jpg?1637002986)

[Download STLs](https://www.thingiverse.com/thing:5139155)
[Download CAD Source](https://cdn-learn.adafruit.com/assets/assets/000/129/985/original/cad.zip?1715615401)
## Slicing Parts

&nbsp;

Slice with setting for PLA material.&nbsp;

The parts were sliced using CURA using the slice settings below.

- PLA filament 220c extruder
- 0.2 layer height
- 10% gyroid infill
- 60mm/s print speed
- 60c heated bed

![leds_slice-b.gif](https://cdn-learn.adafruit.com/assets/assets/000/106/527/medium640thumb/leds_slice-b.jpg?1637003625)

## Build Volume

The parts require a 3D printer with a minimum build volume.

- 300mm (X) x 300mm (Y) x 100mm (Z)

# NeoPixel Ring Lamp

## Assemble

## Assemble 60 NeoPixel Ring

&nbsp;

The 60 NeoPixel&nbsp;ring is four quarter sized PCB’s that are soldered together by sliding solder from one pad to another.

The pico blade molex cables are soldered to the input and out pins on the back of the NeoPixel rings.

![leds_60-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/510/medium640/leds_60-solder.jpg?1636994516)

![leds_60-wires.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/511/medium640/leds_60-wires.jpg?1636994576)

## Fit rings into frame

&nbsp;

Carefully bend wires behind the ring.

Keep the wires tucked inside the frame and away from the walls to allow the diffuser to press fit into the frame.

![leds_24-wire-tuck.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/523/medium640/leds_24-wire-tuck.jpg?1637000013)

![leds_24-diffuser.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/524/medium640/leds_24-diffuser.jpg?1637000052)

## Connect cables

The rings are oriented so the cables can be easily connected together.

The wiring is pressed in between the edges to keep the PCB tightly fitted into the holder.

They’re daisy chained with the data flowing from the large ring at the bottom to the smallest ring at the top.

![leds_wire-tuck.jpg.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/512/medium640/leds_wire-tuck.jpg.jpg?1636994819)

![leds_connections-close.jpg.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/514/medium640/leds_connections-close.jpg.jpg?1636996203)

## Mount Pico

The Raspberry Pi Pico is press fitted into the 3d printed case with the pcb facing the opening for the usb port.

![leds_pico-mounted.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/515/medium640/leds_pico-mounted.jpg?1636996275)

## Attach lid to frame

To secure the case to the ring assembly, use one M2.5 machine screw to attach the lid cover to the bottom of the ring holder.

The remaining cables are threaded through the top cover and connected together.

![leds_lid-attach.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/518/medium640/leds_lid-attach.jpg?1636999541)

![leds_lid-wire-pass.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/519/medium640/leds_lid-wire-pass.jpg?1636999602)

## Fit base

An additional base is fitted under the 3d printed case for added stability.

The Raspberry Pi Pico can be powered by a 5V USB power supply using a USB battery bank or the wall outlet.

![leds_base-attach.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/520/medium640/leds_base-attach.jpg?1636999776)

![leds_usb-connect.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/521/medium640/leds_usb-connect.jpg?1636999810)

## Power

A USB extension cable with a built-in switch can be used to make it easier to power on and off.

&nbsp;

![leds_usb-on-off-switch.jpg](https://cdn-learn.adafruit.com/assets/assets/000/106/525/medium640/leds_usb-on-off-switch.jpg?1637001030)


## Guide Products

### Raspberry Pi Pico RP2040

[Raspberry Pi Pico RP2040](https://www.adafruit.com/product/4864)
The Raspberry Pi foundation changed single-board computing [when they released the Raspberry Pi computer](https://www.raspberrypi.org/archives/723), now they're ready to do the same for microcontrollers with the release of the brand new **Raspberry Pi Pico**. This...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4864)
[Related Guides to the Product](https://learn.adafruit.com/products/4864/guides)
### NeoPixel 1/4 60 Ring - 5050 RGB LED w/ Integrated Drivers

[NeoPixel 1/4 60 Ring - 5050 RGB LED w/ Integrated Drivers](https://www.adafruit.com/product/1768)
The biggest NeoPixel Ring yet! With four of these you can make a huge ring with 60 ultra bright smart LED NeoPixels are arranged in a circle with a 6.2" diameter. **Each order comes with just the quarter ring. Four of this item are required to make a large ring. You will have to...**

In Stock
[Buy Now](https://www.adafruit.com/product/1768)
[Related Guides to the Product](https://learn.adafruit.com/products/1768/guides)
### NeoPixel Ring - 24 x 5050 RGB LED with Integrated Drivers

[NeoPixel Ring - 24 x 5050 RGB LED with Integrated Drivers](https://www.adafruit.com/product/1586)
Round and round and round they go! 24 ultra bright smart LED NeoPixels are arranged in a circle with 2.6" (66mm) outer diameter. The rings are 'chainable' - connect the output pin of one to the input pin of another. Use only one microcontroller pin to control as many as you can...

In Stock
[Buy Now](https://www.adafruit.com/product/1586)
[Related Guides to the Product](https://learn.adafruit.com/products/1586/guides)
### NeoPixel Ring - 16 x 5050 RGB LED with Integrated Drivers

[NeoPixel Ring - 16 x 5050 RGB LED with Integrated Drivers](https://www.adafruit.com/product/1463)
Round and round and round they go! 16 ultra bright smart LED NeoPixels are arranged in a circle with 1.75" (44.5mm) outer diameter. The rings are 'chainable' - connect the output pin of one to the input pin of another. Use only one microcontroller pin to control as many as you can...

In Stock
[Buy Now](https://www.adafruit.com/product/1463)
[Related Guides to the Product](https://learn.adafruit.com/products/1463/guides)
### 1.25mm Pitch 3-pin Cable Matching Pair - 40cm long

[1.25mm Pitch 3-pin Cable Matching Pair - 40cm long](https://www.adafruit.com/product/4721)
When 0.1" is too big, and JST PH's too chunky, these ultra-slim 1.25mm connectors are a reliable alternative. These are only 1.25mm pitch, but have a nice clicky connection.

These cables are&nbsp;nice and long, 40cm in fact. They've&nbsp;got both small form factor and are a...

In Stock
[Buy Now](https://www.adafruit.com/product/4721)
[Related Guides to the Product](https://learn.adafruit.com/products/4721/guides)
### Fully Reversible Pink/Purple USB A to micro B Cable - 1m long

[Fully Reversible Pink/Purple USB A to micro B Cable - 1m long](https://www.adafruit.com/product/4111)
This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also fully reversible! That's right, you will save _seconds_ a day by not having to flip the cable around.

First let's talk about the cover and over-molding. We got these...

In Stock
[Buy Now](https://www.adafruit.com/product/4111)
[Related Guides to the Product](https://learn.adafruit.com/products/4111/guides)

## Related Guides

- [Adafruit NeoPixel Überguide](https://learn.adafruit.com/adafruit-neopixel-uberguide.md)
- [Gemma Color Touch Pendant Necklace](https://learn.adafruit.com/gemma-color-touch-pendant-necklace.md)
- [PicoDVI Adafruit IO Feed Dashboard](https://learn.adafruit.com/dvi-io.md)
- [Mario Magic Wand](https://learn.adafruit.com/mario-magic-wand.md)
- [NeoPixel Infinity Cube](https://learn.adafruit.com/neopixel-infinity-cube.md)
- [MIDI Solenoid Drum Kit](https://learn.adafruit.com/midi-solenoid-drum-kit.md)
- [Adafruit Feather RP2040 RFM69](https://learn.adafruit.com/feather-rp2040-rfm69.md)
- [PyGamer 3D Printed Snapfit Case](https://learn.adafruit.com/pygamer-snapfit-case.md)
- [PyPortal 2FA TOTP Authentication Friend](https://learn.adafruit.com/pyportal-2fa-totp-authentication-friend.md)
- [Step Switch Party](https://learn.adafruit.com/step-switch-party.md)
- [DIY USB Cable Aviation Connector Retro-Fit](https://learn.adafruit.com/aviation-connector-diy-usb-cables.md)
- [Monster Mask Case](https://learn.adafruit.com/monster-mask-case.md)
- [CircuitPython on the Arduino Nano RP2040 Connect](https://learn.adafruit.com/circuitpython-on-the-arduino-nano-rp2040-connect.md)
- [NES Emulator for RP2040 & RP2350 DVI Boards](https://learn.adafruit.com/nes-emulator-for-rp2040-dvi-boards.md)
- [PyPortal Retro Cases](https://learn.adafruit.com/pyportal-retro-compys.md)
- [Tree with Animated Eyes and Motion Sensor](https://learn.adafruit.com/tree-ent-sculpture-with-animated-eyes.md)
