Alex Wulff
Published © GPL3+

3D-Printed RGB Wallet

Stand out from the crowd with this unabashedly ostentatious excuse for a wallet.

EasyFull instructions provided3 hours1,532

Things used in this project

Hardware components

Atmel ATtiny85 - DIP
×1
Adafruit Neopixel Buttons
×3
DIP-8 Socket
×1
2-Pin JST Connector
×1
LiPo - 100 mAH
×1
Arduino UNO & Genuino UNO
Arduino UNO & Genuino UNO
Just needed for programming the ATtiny85
×1
Breadboard (generic)
Breadboard (generic)
Just needed for programming the ATtiny85
×1
Stranded-Core Wire
×1

Software apps and online services

Fusion 360
Autodesk Fusion 360

Hand tools and fabrication machines

Hot glue gun (generic)
Hot glue gun (generic)
Soldering iron (generic)
Soldering iron (generic)
3D Printer (generic)
3D Printer (generic)

Story

Read more

Custom parts and enclosures

Base

Middle

Cover

Fusion Archive

Upload this in your Fusion 360 Data Panel

Schematics

Circuits.io Breadboard Simulator

You can use this to test code before uploading it to the ATtiny

Code

Light-Up-Wallet

Arduino
//Alex Wulff - www.AlexWulff.com

//##################
//IMPORTANT NOTE - BURN THE BOOTLOADER TO THE ATTINY BEFORE UPLOADING THIS OTHERWISE IT WON'T WORK
//##################
#include <Adafruit_NeoPixel.h>

#define PIN            3
#define NUMPIXELS      3
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  // put your setup code here, to run once:
  pinMode(PIN, OUTPUT);
  strip.begin();
}

void loop() {
  rainbowCycle(20); 
}

void rainbowCycle(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
    for(i=0; i< strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
  WheelPos = 255 - WheelPos;
  if(WheelPos < 85) {
   return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  } else if(WheelPos < 170) {
    WheelPos -= 85;
   return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  } else {
   WheelPos -= 170;
   return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  }
}

Credits

Alex Wulff

Alex Wulff

1 project • 48 followers
I'm an 18-year-old maker from Upstate New York. I love Arduino, embedded systems, 3D printing, and iOS development. www.AlexWulff.com
Contact

Comments