Desktop Frisbee Launcher

Here’s how to build my first iteration of a launcher that throws Discraft Mini-Star Ultimate discs. You could call this the quick and dirty version. It’s really basic. All it does is shoot. But, it could easily be modified to do more. And that’s the plan for later iterations. I’ll add complexity and make it a more dynamic thing.

This is my version broken down. What you read below is going to be a little different. Simpler, and easier to construct. For video, see here: https://vimeo.com/149931779

WordPress no longer supports my Vimeos.

The instructable can be found here: http://www.instructables.com/id/Desktop-Frisbee-Launcher-With-Wii-Nunchuck/

IMG_0925

Discs: Discraft Mini-Star — http://www.amazon.com/Discraft-Mini-Star-disc-Set…

Motor: I used a 12VDC 5310 RPM brushed motor. From other versions online I gathered that the motor speed needs to be around 5000 RPM to get good rotation on the disc as it exits the chute. You shouldn’t need quite as heavy duty a motor as i have here, but I’m not an engineer and wanted to make sure I was going to have the torque I needed. — http://www.robotshop.com/en/12v-5310-rpm-cim-brus…

Power Supply for Motor: A 12V 20A power supply is what you’ll need for this big honkin’ motor if you get the one I used. Make sure it’s 20A! Although the motor needs less than 3A to run unburdened, and spikes at less than 4A when the disc goes through, it’s initial draw to start up is 16A. So any other power supply won’t hack it. You’ll never get the motor started. Look at MeanWell switching power supplies on Amazon.

Repair/replacement 3 prong power cable – Your power supply won’t come with a power cable. You’ll need to wire it up. You can get one of these easily at a place like Lowe’s or Home Depot

Flywheel: https://www.adafruit.com/products/167

ply-wood: 4’ x 4’ x 1/4” or 1/2” – This will be more than enough material, but it’s probably the average sheet size you can get at your local hardware store.

Arduino Uno set with breadboardhttps://www.adafruit.com/products/170

Extra wire – I had access to both solid core and stranded in multiple colors. 4 different colors should be enough. In this case we use red, blue, green, and black.

1 diode – 1N4001 (in Adafruit’s Uno kit)

1 2.2KΩ resistor (In Uno kit)

1 TIP 120 Transistor (separate from kit)

9V battery adapter for the Uno (in kit)

9V battery

1 WiiChuck adapter for Arduino – The original is from todbot through SparkFun. That’s what I bought. He has links here:http://todbot.com/blog/2008/02/18/wiichuck-wii-nu… But in future iterations, I’ll probably use the sturdier clip-in model from Solarbotics. You can get it through adafruit, here: http://todbot.com/blog/2008/02/18/wiichuck-wii-nu…

1 Wii Nunchuck joystick controller (avoid 3rd party models)https://www.adafruit.com/products/342

soldering iron and solder

electrical tape

electric drill

wood screws (1/2”)

a drill bit set for wood

#8 machine screws (to match mounting holes on motor)

5 minute epoxy

Multimeter

calipers are handy, but not necessary

Step 2: Cutting Parts for the Box

First, let’s build the box. You can wire it all up once the motor’s been mounted, and it will be easier to test when it’s stable.

I’ve included two .PDFs. The first shows the dimensions if the thing were made entirely of 1/4” plywood. The second .PDF is to use if you were to cut your other parts on the CNC router or laser cutter. The top and bottom are the same dimensions and should always be plywood.

Now, using a table saw or circular saw, cut everything to size. With the curve for the chute, cut a square blank. Then, print and use the .PDF as a paper template. Place it on top of the square blank, trace the curve onto the surface of the wood, then cut to the line with either a band saw or jig saw. If necessary, follow up with sanding.

If you don’t have access to a band or jig saw, but have a cnc router, you can use the router to cut just the chute curve. It would be wasteful of time and energy to use it to cut squares unless you absolutely had to, though.

Step 3: Drill holes to put the thing together!

You’ll want to drill holes for all your wood screws. For the side walls, drill holes that are larger than the size of your screws so they come in and out easily. For sides A and B, put holes in each corner 1/2” from the sides, and 1/8” from the top or bottom (1/8” will line them up with the middle of the edge grain on the top and bottom pieces). For sides C and D, put holes in 1.25” from the sides and 1/8” from the top and bottom. Then, in the edge grain of the top and bottom faces, you’ll want to drill pilot holes. You can mark the center points for these holes using the ones you’ve already drilled. Just make sure that these holes are small enough for the threads on the wood screws to catch, but not so small that the screws split the laminates on the plywood.

You’ll follow the same procedure for drilling holes in the chute curve.

Step 4: Drill holes for motor mount

Your motor holes will go in the top face. To drill holes for the motor, start with the center hole. Drill a hole slightly larger than the diameter of the shaft to prevent rubbing of materials. Then, drill holes at the appropriate distance from the shaft to line up with the mounting holes for the #8 screws.

Here’s a .PDF that you can use to mark points for those holes relative to the curved chute. The shaft hole goes at point C, and the holes for the mounting screws go at appropriate distances on line A-B.

Step 5: Put the box together

Now, start putting the box together. We’ll start with the top and sides A, B, and C. This will leave side D and the bottom open for putting the motor in. Screw A, B, and C together. Through side D, go ahead and fit the motor in and mount it with the machine screws. Now, you can put the bottom on, but leave side D completely open for wiring.

Step 6: Wiring up the WiiChuck to the Uno

Now, let’s take a look at the Arduino Uno. It’s time to wire this thing up! We’re going to do this in two stages. First, we’ll wire the WiiChuck to the breadboard, then we’ll wire the motor to the breadboard and power supply and tuck it all away.

First, wire your breadboard to the 5V and ground. Run 5V to the positive (+) column and GND to the negative (-) column.

Now solder 4 male header pins directly into the WiiChuck adapter and then just stick it into the breadboard. Once you’ve done that, all your wiring can come and go from the breadboard. You’ll connect C to Analog input pin 5 and D to analog input pin 4. Then you’ll connect “+” to positive on your breadboard, and “-” to negative on your breadboard.

Running everything through the breadboard instead of direct to pins will allow you to easily introduce servos or other things into the system without having to start over later if you want to add some functions to the Nunchuck, or just use it for something different altogether.

Step 7: Wiring the Motor

For the motor, because you don’t need power from the uno, you can wire directly to the pins you need. In our code, we’re using pin 9 to control the motor through the nunchuck, so we’ll plug directly to pin 9. And we’ll plug our negative directly to ground.

Now, before you do this completely, you’ll need to check the polarity of your motor, because once you introduce the transistor and diode, the current becomes directional. And you can’t just switch positive and negative to run the motor the other way. It will cause really heavy amperage draw at low voltage.

So, let’s wire up the power supply. Using a standard replacement cable from the hardware store, it should have standard coloration. Green for GND, White for Neutral, and Black for Live. Please consult your packaging or a reliable internet source if this coloration is not the case.

First: DO NOT PLUG ANYTHING IN — Always make sure everything is turned off before adjusting wiring on any electronics.

2nd: Make sure the switch on the side is set to 115V. It should be easily adjustable with a toothpick.

3rd: Connect green to GND, white to N, and black to L.

4th: Connect to a surge protected power strip that’s plugged into the wall, but turned off. Then turn on the power strip. The green light should come on. This means the supply is functioning correctly.

Now, if you’ve got a multimeter, which you should probably have if you’re doing any kind of power related wiring, you can touch red to positive and black to negative to get a reading. It may not read exactly 12V. If not, you can use a phillips head screw driver or similar tool to adjust a little dial next to the green light. Adjusting that dial will “dial” in the voltage to the desired 12V.

Remember why we did this now? So we can check the polarity of the motor. You want the motor to spin clockwise. So connect it up to the power supply and see which orientation matches clockwise. Screw it in as if you’re wiring it permanently, don’t just touch it to the supply. Then flip it on. If you need to wire it positive to negative and negative to positive in order to get the correct direction of rotation, you’ll need to switch that around when you read the diagram to wire it to the Arduino. If for some reason your motor does need to run “backwards” all you ned to do is flip the wires before you get to the diode in the diagram. Connect red to the black end of the diode and black to the silver end of the diode. Do not change the color orientation after the diode. This way, you’re always wiring red to positive on the power supply and black to negative on the power supply.

Step 8: The Code

Before everything gets buttoned up, the code needs to go into the UNO. I based my work on a set of code for a nunchuck controlled rubber band gun that ran three servos. Eventually, this disc shooter will function on multiple axes.

First, you’ll need to have a few libraries. Two of them should already be available in your Arduino programming on your computer. Those are Servo.h and Wire.h. They’ll already be in your libraries list. The one you’ll have to add is attached to this instructable. It’s called nunchuck_funcs.h

You’ll need to add an actual folder for it into your libraries folder. On a mac, you can unzip the file right into your libraries folder: documents > arduino > libraries.

I’m giving you the file, because the versions out online lack the correct syntax. They haven’t been updated it some time, and many of the sites where these files originated are gone.

From there, just copy and paste this code into your Arduino window! This code has potential to allow you to do much more than just fire up the motor. But that overcomplicates things for what this prototype is trying to do. I’ll add more later.

[code]

#include #include #include "nunchuck_funcs.h"

int loopCnt = 0; int bang = 9;

Servo LR; //servo for Left-Right movement Servo UD; //servo for Up-Down movement

byte accX, accY, joyX, joyY, zbut, cbut;

void setup() { UD.attach(10); pinMode(bang, OUTPUT);

Serial.begin(19200); nunchuck_setpowerpins(); nunchuck_init(); Serial.print("WiiChuck: Let’s Do This!!!\n"); delay(100); }

void loop(){

if (loopCnt > 200) { loopCnt = 0;

nunchuck_get_data();

zbut = nunchuck_zbutton(); cbut = nunchuck_cbutton(); joyX = nunchuck_joyx(); joyY = nunchuck_joyy(); accX = nunchuck_accelx(); accY = nunchuck_accely();

if (zbut == HIGH) {digitalWrite(bang, HIGH);}

else {digitalWrite (bang, LOW);}

}

loopCnt++; }

[/code]

Now, you can hook the power supply back up and test your nunchuck control of the motor. It should only power on when you press the Z button.

Step 9: Box it up and put on the fly wheel!

Now you’re ready to slap the last piece of the box on. You’ll want to do one thing though. Cut a notch out of the last of the four walls, so that all the wires you need access to can get out. you’ll need the nunchuck cable to come out of the box and the wires to the power supply (which should sit outside of the box so it can breathe) should also come out.

Once it’s packaged up there’s only one thing left. You want to put the flywheel on.

Unfortunately, this fly wheel is meant for servos, not DC motors, so you’ll need to drill out the center a little bit. A wood bit should do this just fine. But, be careful! You’re going to need to clamp the wheel down really well. Get the diameter of your motor shaft and drill a whole the same size. If you’re lucky, it’ll be so perfect, you can pressure fit it to the shaft and it will be tight enough. But, what’s more likely is that you’ll have to drill it ever so slightly larger like I did. In this case, get that 5 minute epoxy and glue the thing on so it sits up just high enough not to rub any of the box or the screws to the motor underneath. Also, don’t glue it to any of those things either. Take it easy with your glue! ADVICE: Wear nitrile gloves so you don’t get any on your hands.

After a little under an hour, the glue will be set and you should be able to give this thing a whirl!

      Instructable First Draft (Rough)

      The Mini Star-Shooter!

      A fully controllable desktop disc launcher—

      If you love to throw a disc (whether you call it Ultimate, Flatball, Fetch, or Frisbee) chances are you love it so much it’s hard to put the thing down before you go to sleep at night. You may even be one of those people that always has one in their bag, looking for any opportunity to toss during the day. But a 175 gram UltraStar can be hard to get away with throwing inside if you work in a tight office space. That’s probably one of the reasons DisCraft makes the Mini-Star, a 4.5” disc you can throw around in smaller spaces.

      Mini-StarPhotoTK

      Here, you’re going to learn to up your indoor disc game with the Mini Star-Shooter!

      The Star-Shooter is a desktop disc launcher for all your indoor disc launching needs! Controlled with a Wii nunchuck plugged into an Arduino, the Star-Shooter is an accurate, 3 axis disc cannon built for your desk.

      AwesomeVideoorAction Photo TK

      Here’s What you’ll need:

      Materials:

      1+ Discraft Mini-Star Discs    Where to buy

      4  ModelNumberTK Servo Motors – Where to buy

      1 Nintendo Wii Nunchuck – Where to buy

      1 WiiChuck Adapter for Arduino + header pins    Where to buy

      Arduino Nano/Min/TK  – Where to buy

      Soldering Iron with Solder  – Where to buy

      Brushless DC motor  – Where to buy

      Structure Materials  – Where to buy

      Structure Materials  – Where to buy

      Structure Materials  – Where to buy

      Code:

      PhotoMaterials TK

      So, first things first! Gather the materials and take a look at what you’ve got and what you’ll be using it for!

      Obviously, the disc is the projectile. Put it aside for now.  Yes… I know it’s hard not to throw around when you’re procrastinating.  It’s super cute and we love the Mini-Star. But you’ll have to curb your excitement just a little to focus on the task at hand!

      Take a look at the nunchuck. This will be your command center. Before this is over, you’ll be able to use a combination of the joystick, trigger buttons, AND the accelerometer inside to precisely control your launcher. Don’t worry! You won’t have to damage the controller to get this done. Thanks to Tod at tidbit.com, you can plug it directly to your keyboard with the WiiChuck adapter.

      InfographicphotoTK

      What’s actually being controlled by the nunchuck is the servo motors and the DC motor.

      Three of the servos run the three-axis movement of the launcher, the fourth drops the disc into a track, and the DC motor spins the disc out of the track. The functionality is pretty linear. Aim, start launcher, fire!

      BasicDemoVideoTK

      All of these functions funnel through an arduino board.

      PhotoOfBoardHookedUpTK

      So Let’s get started!

      First, we’ll go through the construction of the structure and housing.

      3 axis servo structure

      Launcher electronics housing

      hopper

      launching track

      Now that we’ve finished the housing parts, let’s construct the electronic portion, wire up the arduino, and fit the whole thing together.

      We’re putting it together before coding it so we can make sure it functions correctly as we code.

      Here’s how to put it all together correctly.

      Now, here’s the code:

      I’ll walk you through all of the different functions and what physical controls and processes they reflect.

      Variables

      Understanding the nunchuck functions

      controlling servos

      controlling the DC motor

      Thanks for sticking it out through my Intructable, everyone!  I hope to hear Mini-Star Sales start to go up in coming weeks. Please check back in as you make improvements or cool modifications! I’d love to see what anyone can do with this to make it even more fun! 

      Bonus track!

      Trash Can Horse!

      I’ll never let you down, little servo!

      Hi, everybody!  So, I did my best to modify this code a little bit, but never really understood why I couldn’t control the function better. I’m pocketing this question for class. But, here’s what the sample code looks like:

      [code]

      #include <Servo.h>

      Servo myservo;

      int pos = 0;

      void setup()
      {
      myservo.attach(9);
      }

      void loop()
      {
      for(pos = 0; pos <= 180; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 180; pos>=0; pos-=1)
      {
      myservo.write(pos);
      delay(15);
      }
      }

      [/code]

      Here’s the closest thing to the way I had it in the end, when it still wasn’t functioning… I don’t have a video of that, because it really wasn’t any different with the exception of a little skip in the middle of the sweep.

      [code]

      #include <Servo.h>

      Servo myservo;

      int pos = 0;

      void setup()
      {
      myservo.attach(9);

      void loop()
      {
      for(pos = 0; pos <= 10; pos += 1)
      {
      myservo.write(pos);
      delay(50);
      }
      for(pos = 10; pos <= 20; pos -= 1)
      {
      myservo.write(pos);
      delay(50);
      }
      for(pos = 10; pos <= 20; pos += 1)
      {
      myservo.write(pos);
      delay(50);
      }
      for(pos = 20; pos <= 30; pos += 1)
      {
      myservo.write(pos);
      delay(50);
      }
      for(pos = 30; pos <= 40; pos += 1)
      {
      myservo.write(pos);
      delay(50);
      }
      for(pos = 40; pos <= 50; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 50; pos <= 60; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 60; pos <= 70; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 70; pos >= 80; pos -= 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 80; pos <= 90; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 90; pos <= 100; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 100; pos <= 110; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 110; pos <= 120; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 120; pos <= 130; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 130; pos <= 140; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 140; pos <= 150; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }

      for(pos = 150; pos <= 160; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 160; pos <= 170; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 170; pos <= 180; pos += 1)
      {
      myservo.write(pos);
      delay(15);
      }
      for(pos = 180; pos <= 0; pos -= 1)
      {
      myservo.write(pos);
      delay(15);
      }
      }

      [/code]

      And here’s the video of the successful function, although I’m not happy that that’s all it does. I wanted it to function like an old yard sprinkler.

      Thanks for looking!

      Will

      Power Pants!

      Power Pants are the pants that make you proud of getting dressed in the morning! They’re not your average pants. They provide you with a nice sense of accomplishment every time you put them on!

      Coming soon to a store near you!


      What’s in a Power Pant?!

      The tech:

      Power Pants are built on Arduino, using a simple piezo and pulse width modulation to create audio from chosen frequencies. What you see above is one of two functions coded into the Arduino. The second function is the longer musical bit you hear in the video at the top. It uses the contact in the same way to trigger the sound.

      Here’s the code:

      [code]
      int ledPin = 13;
      int inputPin1 = 2;
      int inputPin2 = 5;
      int val1 = 0;
      int val2 = 0;
      int counter1 = 0;
      int counter2 = 0;
      int speakerPin = 9;
      char notesA[] = "azbC"; // a space represents a rest
      int lengthA = sizeof(notesA);
      int beatsA[] = {2,3,3,12};
      int tempoA = 80;
      char notesB[] = "Cbza"; // a space represents a rest
      int beatsB[] = { 2,3,3,4};
      int tempoB = 80;
      char notesC[] = "gabygabyxzCDxzCDabywabywzCDEzCDEbywFCDEqywFGDEqi";
      int lengthC = sizeof(notesC);
      int beatsC[] = { 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1};
      int tempoC = 150;

      void setup() {
      pinMode(speakerPin, OUTPUT);
      pinMode(inputPin1, INPUT);
      pinMode(inputPin2, INPUT);
      Serial.begin(9600);
      }

      void loop(){
      val1 = digitalRead(inputPin1);
      val2 = digitalRead(inputPin2);
      if(val1 == LOW && counter1 == 0) {
      counter1++;
      for (int i = 0; i < lengthA; i++) {
      playNote(notesA[i], beatsA[i] * tempoA);
      }
      }

      if(val1 == HIGH && counter1 == 1) {
      counter1 –;
      for (int j = 0; j < lengthA; j++) {
      playNote(notesB[j], beatsB[j] * tempoB);
      }}
      if(val2 == LOW && counter2 == 0) {
      counter2++;
      for (int k = 0; k < lengthC; k++) {
      playNote(notesC[k], beatsC[k] * tempoC);
      }
      }
      if(val2==HIGH && counter2 == 1){
      counter2=0;
      }

      else{ digitalWrite(speakerPin, LOW);

      }
      Serial.print(counter2);
      }

      void playTone(int tone, int duration) {
      for (long i = 0; i < duration * 1000L; i += tone * 2) {
      digitalWrite(speakerPin, HIGH);
      delayMicroseconds(tone);
      digitalWrite(speakerPin, LOW);
      delayMicroseconds(tone);
      }
      }

      void playNote(char note, int duration) {
      char names[] = {‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘x’, ‘a’, ‘z’, ‘b’, ‘C’, ‘y’, ‘D’, ‘w’, ‘E’, ‘F’, ‘q’, ‘G’, ‘i’ };
      int tones[] = { 1898, 1690, 1500, 1420, 1265, 1194, 1126, 1063, 1001, 947, 893, 843, 795, 749, 710, 668, 630, 594 };

      // play the tone corresponding to the note name
      for (int i = 0; i < 20; i++) {
      if (names[i] == note) {
      playTone(tones[i], duration);
      }
      }
      }

      [/code]

      IMG_0744IMG_0746 IMG_0745

      The simple wire contact activation was converted to a switch using conductive thread stitched into the button holes and around the button. This way, the button itself acts as the switch.

      IMG_0747

      For the demonstration, extensions were added out the legs where the audio would normally be wired directly into the Power Pants themselves.

      This is the future of pants!

      The Knight Light: Keeping You Safe In Your Kitchen

      When I was younger, we would regularly have thanksgiving at my grandmother’s house in central Arkansas. It’s a place where my extended family would gather from around the country. Aunts and uncles and cousins would gather in this small house and tell stories and reminisce about Thanksgivings long before those I was present at. There were several stories I heard year after year. One of those stories was a warning against trying to steal from Grandma Roses’ kitchen the night before Thanksgiving.

      There’s not much to this story, as the house was small and the moment was quick. It happened at one of these gatherings before I was born, when my older cousins were in grade school. My cousin wanted a midnight snack and couldn’t resist sneaking into the kitchen. So, he waited until the lights were out and everything was still before quietly (and probably proud of his sneakiness) he slipped into the kitchen.  But it wasn’t so much slipping as tripping.  My grandmother had tied up a line across the kitchen doorway.  It was looped up through every pot and pan on the counter and stove.  They came hurtling down to the floor!  Of course, everyone was woken and my cousin was caught amidst the commotion. And the story was probably told every year the family was together for thanksgiving after that.
      IMG_0680

      The Knight Light is a reminder that the pots and pans guard the kitchen at night.  Before Thanksgiving, it’s a warning!  In a quiet home the rest of the year, it’s good company and a soft glow to welcome you to the kitchen for the occasional midnight craving.

      How it’s made:

      IMG_0670

      The light itself comes from 10 white LEDs just over 3V each, wired in series of 2. Then those series were wired in parallel.  The battery pack is only a 6V pack for two coin-size batteries, so the lifetime is shorter.

      IMG_0671

      I packaged them in this nifty fake lightbulb so they could stay concentrated in the same location in the body of the light. This also took away some of the distance the light has to travel through the diffusing material.  I used these soft plastic pellets that are for filling things like bean bags and Beanie Babies.  They create a nice even diffusion and give a weight to the light so it plops on the surface an a cute kind of way.

      IMG_0672

      The main body was made of white sheer muslin to aid in letting out that light.  Then the pots and pans are made of a rayon fabric to get a nice sheen that pairs interestingly with the glow in the dark.

      Here’s the on/off difference as seen by an iPhone!IMG_0674IMG_0676

      The thing I enjoyed the most here was playing with the diffusion of the light, and the way the light sits in the object.  And going back to it, I would just focus on the core of this little thing and make it bigger.  It’s possible that it could get more out of using actual pots and pans than plush ones.  That was definitely the biggest making challenge, thinking of ways to make pots and pans fit this little guy and still have proper proportions.  In the end, there aren’t many that lend themselves to fabric construction that also then lend themselves to use as armor.

      Thanks for reading!

      I look forward to showing you my next project!

      Will

      WORDPLAY COURTESY OF: Josh Corn

      Blue Cactus: Pink Flowers as Blue LED: Brown Table??

      Hello, Everybody!  My test piece is still in progress.  I’ve been adding flowers slowly over the course of the week.  And there’s Blinky to the right! She and I are good friends, now.

      FullSizeRender 2

      Thanks for reading!

      Bonus Track:

      I got really into #FreeArtFriday this past weekend.  Made a lot of pillows…  You can see where they were put out on insta. @william.clay

      IMG_6090