Categories
Uncategorized

Milwaukee Makerspace Grand Opening Recap

Grand Opening
Photo by Michael Diedrick

The Milwaukee Makerspace Grand Opening & Mini Maker Fair was held on Saturday, April 9th, 2011 and wow, what an event it was! The photo above should give you a little indication of the crowd. It was “several hundred people” from the estimates I heard…

I’m mainly going to talk about my own experience, since I really didn’t get to experience much of the event, which is sad, and weird, but also cool.

Pete and Sam
Photo by Michael Diedrick

So, I got there around 10am and Matt was heard to say “Hey look, Pete brought BarCamp!” due to the amount of stuff I tend to bring with me, including projects to show, camera equipment, tripods, audio equipment, projector, tables, Time Lapse Bot, and other things. I got set up at a table and put out my projects. As usual, I was way too ambitious, and actually pulled back and didn’t show everything. This was a good decision, as there was just too much going on. The two projects that got the most interest were the Egg-Bot and the Friday Night Drawbot.

Egg-Bot
Photo by Brant

The Egg-Bot is just, well, it’s just cool. I had to explain a number of times that I did not “invent” it, but I built it from a kit. I gave a brief explanation of it (including open source software/hardware, Inkscape, etc.) to a lot of people. One kid was interested in it, and I told him how much the kit cost, and then he complained it was too much. I then described the parts used to construct it, and as soon as I said “laser cut” he was like “oh, yeah, laser cut, OK!” and then he was sold, and thought it was something he should have. (I did point out that it was all open source and he was welcome to get all the parts and assemble his own.)

Eggs
Photo by Brant

I ended up printing about 50 eggs throughout the day, pretty much non-stop. I ended up doing someone’s name on an egg, and then printing one with the word “VEGAN” on it, and then at some point a mom asked if I could print a monkey. A monkey!? Well, off to OpenClipArt.org to find a monkey. And a candy cane. And a rose. And a cat. And the Rebel Alliance logo… I somehow ended up being a one-off egg printing factory! (But it was a lot of fun, and I learned a lot more about Inkscape.)

We gave away a lot of eggs, and I (mostly) remembered to tell people they were raw eggs, and advised the kids not to squeeze them, put them in their pockets, or drop the on the car ride home. One very young girl suggested I should have got up earlier that day (maybe 4am) so I could have boiled them all. As my excuse, I told people it would be easier to preserve them by blowing out the insides since they were raw. One woman gave us a dollar for an egg. (We added it to the Makerspace Donation bucket.)

Drawbot Action

And what would the day have been without some Drawbot action!?

I don’t know, but I do know I’m lucky Sam showed up and took on a lot of the Drawbot maintenance. He also ended up exploring Drawbot in ways I haven’t yet, using the Ultra Fine Point Sharpies, and the results were pretty darn good. I’ll try to scan some of the drawing this week. I’ve also got some reprogramming of Drawbot I want to do soon.

Oh, and I ended up telling a lot of people about the Arduino, and how the Drawbot worked, and explained that it was pretty darn easy to build, and if they came down to the Makerspace on a Thursday night, someone could probably help them get started with Arduino hacking.

Now, as for the rest of the event… I missed most of it! I was at my table for nearly 8 hours straight, with just a few quick bathroom breaks here and there while Sam watched the table. I think I need a “Back in 10 minutes!” sign or something. But really, it was a blast talking to so many people and answering questions… but it was also exhausting. I didn’t feel comfortable enough to just leave the table unattended for any large amount of time, so I’m not sure what the solution is… except to have someone else work the table along with me.

I have almost no photos to share from the event, and no video (except for the stuff Time Lapse Bot shot) so head over to the Flickr pool to see some more photos.

Oh, and word from the makers is that they all loved it, it was a great/successful event, and they can’t wait to do it again. Well, they can wait about a year maybe. :)

Categories
Uncategorized

Kickstarter: Gameduino

Gameduino

The most interesting Kickstarter project I’ve come across recently has to be Gameduino:

Gameduino connects your Arduino to a VGA monitor and speakers, so anyone who can write an Arduino sketch can create video games. It’s packed full of 8-bit game goodness: hundreds of sprites, smooth scrolling, multi-channel stereo sound.

James Bowman was hoping to raise $3,333 to do a manufacturing run of the Gameduino, but with the deadline tomorrow, it’s now at $35,253 raised. Amazing!

I also think the pledge levels were chosen wisely…

$3 or more gets you a zip file containing all the raw video and audio.

$53 or more gets you a Gameduino from the production run, assembled and tested.

$113 or more gets you a Gameduino, a printed reference poster, a joystick, and an Arduino Uno, preloaded with the Asteroids game.

$263 or more gets you all of the above, plus your 64-byte message burned into an easter-egg section of every Gameduino’s boot ROM. (8 of these were available.)

$433 or more gets you all of the above, plus the Arduino preloaded with a game of your devising. Just supply the graphics, describe gameplay, and I’ll have a weekend hackathon to put it on the Gameduino. (4 of these available.)

Gameduino

At the base, you can toss $3 towards the effort, just to show your support and help make things happen. For $53 you get an actual Gameduino from the production run. One would hope that they do more production runs, based on the money raised, I’d say that’s a sure bet. But will it cost more or less than $53 next time? If you don’t want to risk it costing more, or you just want to be one of the first to have one, this is a great option.

And for the people who really want to support the project, there were 12 higher-end support options, 4 of which get you custom game development. (All of them sold out.)

Also worth noting: The Gameduino is open-source hardware (BSD license) and all its code is GPL licensed. Nice! This means that once it’s created, others should be able to build and sell them as well. I’d expect kits to appear in the future.

Check out the Gameduino project page for a sweet video showing it’s capabilities, and if you want one, hurry up and pledge today!

Categories
Uncategorized

Fitbit… getting closer!

Fitbit API

I originally thought the Fitbit looked awesome, but in digging into things, I found a few issues I didn’t like. (See Fitbit Improvements.) While it looks like they’ll never go the route of sending your own data to your own computer without first sending your data to the cloud, their official API is out (in beta) and should at least offer an improvement over the “unofficial” APIs people had been working on.

Over at dev.fitbit.com you can read up on the details, and get some example code (none in Perl yet though!) It’s good for the Fitbit ecosystem, as more applications may come out that make use of the data. If anything, I’d like to see something like what I created for Last.fm in Heard, an application that syncs your data back to your own server from the cloud.

I also noticed that Fitbit got a mention on the Arduino blog, which amuses me for a few reasons. First, if the Fitbit had been more open I probably would have looked more seriously into getting one last year. (Open source hardware would have been awesome, but I can live with closed, though it is interesting that they use the open source Arduino for rapid prototyping.) Second, I actually got into working with the Arduino partly to try to do some of the sleep monitoring functions that the Fitbit does. (Yes, that’s another project I got sidetracked on.)

Depending on how our research funds shake out this year, the Fitbit may still be on our list. As I’ve said before, I’m the type of person who needs to collect data, and analyze it, and chart it out, in order to find more value in it. Meanwhile, I’ll be in the lab working on my Arduino-based sleep monitor…

Categories
Uncategorized

Friend of Drawbot

Remember my Drawbot? We’ve been busy “tweaking it” now and then to make different drawings, and I’m sure it’ll be an ongoing project, but one of the most exciting things about it was the comment I got from Howard Patterson.

Howard was kind enough to provide his own code, and he also sent me these photos of his Drawbot.

Friend of Drawbot

Friend of Drawbot

Awesome… I mean, it’s not like the Drawbot is some standardized platform (or is it!?) but I think it’s cool that by sharing build info, photos, and code, we can have a common result.

Howard says he’s using an Arduino Duemilanove with a shield and mini-breadboard attached. I think this also shows the strength of the Arduino platform, as anyone can get an Arduino, the other parts, and get up and running with this pretty quickly.

Thanks for sharing Howard! :)

Categories
Uncategorized

Arduino + ShiftBrite Light Organ

Arduino ShiftBrite

If you liked the last Arduino + ShiftBrite post, but don’t like Perl, here’s a Processing sketch for you… It’s a simple Light Organ that lights up the ShiftBrite in a specific color based on pressing a key.

(Once again we’re using the HughesyShiftBrite library.)

Here’s the code for the Arduino, which is pretty similar to our code from last time:

/*
 * LightOrgan.pde - Arduino
 */

#include "HughesyShiftBrite.h";

HughesyShiftBrite sb;

void setup()
  sb = HughesyShiftBrite(10,11,12,13);
  sb.sendColour(0,0,0);
  Serial.begin(9600);
}

void loop() {

  int input = Serial.read();

  switch (input)  {
  case 48:
    sb.sendColour(0,0,0);
    break;
  case 49:
    sb.sendColour(700,0,0);
    break;
  case 50:
    sb.sendColour(0,700,0);
    break;
  case 51:
    sb.sendColour(0,0,700);
    break;
  case 52:
    sb.sendColour(700,700,0);
    break;
  case 53:
    sb.sendColour(0,700,700);
    break;
  case 54:
    sb.sendColour(700,0,700);
    break;
  case 55:
    sb.sendColour(900,300,300);
    break;
  case 56:
    sb.sendColour(300,900,300);
    break;
  case 57:
    sb.sendColour(300,300,900);
    break;
  }
  delay(5);
}

The only real difference here is the colors we are using…

Once that’s loaded on the Arduino, create a new sketch in Processing with the following code:

/*
 * LightOrganController.pde - Processing
 */

import processing.serial.*;
Serial myPort;

void setup() {
  println(Serial.list());
  myPort = new Serial(this, Serial.list()[0], 9600);
  myPort.buffer(1);
  size(200, 200);
  background(0,0,0);
}

void draw() {
  // nothing needed here
}

void keyPressed() {
  if (int(key) == 48) {
    myPort.write(48);
    fill(0,0,0);
    rect(5,5,190,190);
  }
  else if (int(key) == 49) {
      myPort.write(49);
      fill(200,0,0);
      rect(5,5,190,190);
  }
  else if (int(key) == 50) {
      myPort.write(50);
      fill(0,200,0);
      rect(5,5,190,190);
  }
  else if (int(key) == 51) {
      myPort.write(51);
      fill(0,0,200);
      rect(5,5,190,190);
  }
  else if (int(key) == 52) {
    myPort.write(52);
    fill(200,200,0);
    rect(5,5,190,190);
  }
  else if (int(key) == 53) {
    myPort.write(53);
    fill(0,200,200);
    rect(5,5,190,190);
  }
  else if (int(key) == 54) {
    myPort.write(54);
    fill(200,0,200);
    rect(5,5,190,190);
  }
  else if (int(key) == 55) {
    myPort.write(55);
    fill(250,125,125);
    rect(5,5,190,190);
  }
  else if (int(key) == 56) {
    myPort.write(56);
    fill(125,250,125);
    rect(5,5,190,190);
  }
  else if (int(key) == 57) {
    myPort.write(57);
    fill(125,125,250);
    rect(5,5,190,190);
  }
  else {
    myPort.write(48);
    fill(0,0,0);
    rect(5,5,190,190);
  }
}

When you run the Processing code, it will draw a black box on the screen, and if you press any number between 0 and 9 it will change the color of the box, as well as changing the color of the ShiftBrite.

Colors

If you’re lucky enough to have a number keypad on your keyboard (I mean, since Apple stopped including that part of the keyboard) you can go nuts hitting all the keys from 1 through 9 (and zero for “off” or black) and put on a nice little light show.

If you don’t care about the on screen display and just want to control the ShiftBrite, here’s some simpler code:

import processing.serial.*;
Serial myPort;

void setup() {
  println(Serial.list());
  myPort = new Serial(this, Serial.list()[0], 9600);
  myPort.buffer(1);
}

void draw() {
  // nothing needed here
}

void keyPressed() {
  if ((int(key) > 47) & (int(key) < 58)) {
      myPort.write(int(key));
  }
  else {
    myPort.write(48);
  }
}

Since we don’t need to draw anything based on the key pressed, we just look for a key between 0 and 9 and send it over the serial port.

Disclaimer: This code is probably pretty damn basic, but I’m a fan of documenting the process, and I’m still learning (and having fun!) and I hope someone finds it useful. If you’ve got suggestions or improvements, let me know… thanks!

(Thanks for reading this. If you’re reading it on Facebook or Google Reader or somewhere else it got syndicated to, consider visiting the original post, especially if you’d like to leave a comment.)