Week 14: Project Development

Project and my contribution

Our group made a head for a Ilan Moyer's Fab in a Box, that will paint a picture, and I made the stage for it. I made the bed something that fit into the existing gantry because I thought it might get dirty and need to be cleaned. It also needed to hold cups (of paint). I tried first with something cantilevered off the front, but then the head couldn't get to the paint (because it was under one of the axes controls). So the bed fits into the stage and sits on top of the existing platform. This decreases possible z travel, but the painting action doesn't require lots of z variability. I made the stage work with Dixie (or similarly small) cups, since I thought those would be changed regularly and shouldn't be a permanent part of the stage. To keep down the size of the archive, I haven't posted any pictures here. Information about our machine can be found here

Development Update (from Week 14)

Progress on the group project

My group decided to make a Fab in a Box, per Ilan Moyer's designs. Short version: this ended up being much too expensive for our budget, so over the weekend we scrapped it and decided instead that we'd pursue making a new head for the machine. We can use the existing one that lives in my lab. The head will paint a picture; this means it has enough subsystems to keep everyone engaged. Hyundo and I are working on the head hardware - how it grasps the paintbrush (hopefully incorporating different sizes), the new stage design (to incorporate paint cups, etc.). Adina has done work to quantify the paint brush motion. Meaning - how long can it go between getting paint, how far down should it push and how fast should it go. Abdul and Chintan are working on the software. Ilan has existing scripts but their new interface will input a picture, and let the user tell the machine which colors are present. Then the software will create the toolpath and begin painting. Emily M, Emily G, and Krista are also on the project, also helping with hardware and integration. I think our next big steps are deciding layout so we can split that up into smaller responsibilities that people can get done. I'm excited to see what we can draw!

Progress with my final project

Now I shall answer some questions

what will it do?

I want to make LED cubes that can 'talk' to one another. Meaning - you change the orientation of one --> its color changes --> the other changes to match. I want this to be two-way communication, not leader-follower.

who's done what beforehand?

There are plenty of LED cubes out there, including those with accelerometers so their orientation determines color. There are also some who network and 'talk' to one another, but I still haven't been able to make my XBee's exchange DI/O pins so I think the project will help me better learn my serial communication and networking

what materials and components will be required?

  • Acrylic
  • Fine grit sandpaper (I want it to look frosted!)
  • two Xbee's and their hardware (SMD mounts)
  • two accelerometers
  • circuit board, of course
  • Some LED's
  • Determination
  • Coffee

where will they come from?

I've used (or, tried to use) all these materials before. Xbee's and Xbee adapters came from Adafruit, accelerometers from Sparkfun. Everything else from Digi-key (provided I can find it on Mordor their website)

how much will it cost?

XBee's are ~$20 each, accelerometers ~$6 each. Other materials (mostly coming from fab inventory) will cost ~$5/board (led's, microcontrollers, etc.). Acrylic will come to ~$10, and I can probably use scrap. Overall I'd say $75. But the ability to talk via color cubes is priceless.

what parts and systems will be made?

I think this is more of an integration project. I'll make the cube but it's fairly basic. I'm not making any of my sensors or microcontrollers or anything.

what processes will be used?

Laser cutter, modela, elbow grease, all my programming skillz

what tasks need to be completed?

Tasks and (hopeful completion date)

what questions need to be answered?

  • How can cubes take accelerometer data and turn it into color commands? (Hint: I have sort of solved this! Yahtzee!)
  • How can cubes have two-way communication and not just be shouting at one another?
  • How can I decouple orientation from color? (When a cube receives a command from the other cube, it should change color but keep same orientation. How do I handle this?)
  • How to program ATMega328 with Arduino IDE? I can find ATTiny hardware files, not ATMega ones. But I would really like to use the SoftwareSerial library

what is the schedule?

All my parts will arrive by today, 12 December. The next steps will be finally figuring out how to send serial over Xbee's from an ATMega328 or ATTiny44 (not the Arduino; I can do it on Arduino). In parallel, I'll make algorithm design for two-way communication that doesn't involve just shouting all the time. Once I've breadboarded up, and proven it works, I can make the circuit, probably two-sided for more even light distribution, and make the little cube. I think most of my time will be spent with programming - serial communication and networking were the two weeks where I was unsuccessful with my project. I shall be avenged! Using LED's

I've already made one board... but have been having trouble soldering on those motherf*cking gosh darn ADXL335 Accelerometers. Flux is my friend, I've found.

First pass at a board for my XBee, Accelerometer, and LED

how will it be evaluated?

I would like to be able to sit in my office, and my friend has her cube in her office, and we coordinate getting coffee over color. A possible conversation could be...

My cube turns blue - coffee time?

Her cube responds yellow - maybe later

Ten minutes later...

Her cube turns green - ok I agree! Let's get coffee

My cube turns white - on my way!

End scene.