The Light Painting Stick……of doom?

Inspired by the amazing work of http://sites.google.com/site/mechatronicsguy/lightscythe/, I set off to build a version of my own.

Armed with a Teensy microcontroller, two Xbee radios, and a Makerbot, I went to work.

Behold the Light Painting Stick…..of doom!

Light Painter

I’ve uploaded my progress to Thingiverse, where a more detailed description can be found.

http://www.thingiverse.com/thing:16912

Hello….Hello….Is this thing on?

It’s terrible how long it’s been since I’ve posted an update.

It’s been busy in the real world of software engineering, parenting, and attempting to maintain sanity.

I have several projects that I will be detailing here over the next few weeks, with the most important being my involvement in developing an Applied Computer Programming course for a local high school.

As a new STEM start up, the school is looking for new and exciting ways to teach computer skills to the students. Continue to check in for developments on this exciting opportunity.

If anyone has any cool ideas for course work associated with computer programming, drop me a line at brad@capacitivemind.com.

In addition, I have some Makerbot projects and general electronic triumphs to showcase as well, so feel free to check back any updates.

Prusa Mendel Progress

Things have been slower than I’d like with the Prusa printer.

With so many options and configurations to choose from, it’s been difficult to nail down a final configuration.

I’m settled on all of the mechanical parts and will be done printing and assembling the mechanical parts soon. I have managed to complete the majority of the frame and axis construction. All that remains is to reprint the extruder. Instead of the default Wade’s Extruder, I will be using the improved Greg’s Hinged Extruder design to make for easier use. I will also be reprinting the axis carriages to use LM88 Linear Bearings instead of the PLA Bushings.

Prusa Frame

However, I’m still trying to determine the best electronics system to use for the best performance. I’m torn between the RAMPS and Gen7 systems at the moment. Once I decide on the design, I’ll be one step closer to a complete Prusa Mendel.

More Makerbot Progress

Over the last month, I’ve been able to research and learn more about the 3D printing process used in the Makerbot and RepRap platforms. It truly is amazing what you can create with these machines.

I purchased the Aluminum Build Surface to add on to my Makerbot and it has made significant improvements to the print quality. By providing an even heat distribution and level surface, the extrusions stick and the layers are adding more consistently.

With my new additions, I was able to print a nice case for the wireless web server project. With the printer, I was able to give the project a more professional look than if I were to hack together a project box.

Case Design

The terrible photo doesn’t do the case justice, but it will have to suffice until I can take some proper shots.

Maker Bot Progress

I recently acquired a Maker Bot Thing-o-Matic.

After a few hours of kicking, screaming, and yelling I had a fully operational 3D printer in my garage.

Over the last month I’ve experimented with the Maker Bot and I could not be more impressed with the capabilities of the printer. After printing a few of the stock calibration type pieces I moved on to printing various models from Thingiverse with both success and failure.

After spending some time researching and learning about the general printing process I picked up on some key items they make help a new comer to the Maker Bot Thing–Matic:

1.) Automated Build Platform

The printer comes with what is called an Automated Build Platform(ABP), which consists of a heated build area with a PTFE belt that will roll the printed object off into a bin when the object is complete. It is a very novel idea in theory, however, in practice it leaves much to be desired.

As an object grows taller, the belt will begin to flex as the object is printed, causing the object to sway, and ultimately making a inaccurate print.

I would recommend using the standard Heated Build Platform for the most accurate prints with ABS plastic. After switching, I’ve seen a great increase in accuracy and print quality.

2.) Cable/Wire Management

After a week of steady printing, my operation was brought to a halt because I did not tidy up my X-axis stepper motor wire. The wire caught on a screw and damaged the connector on the stepper motor, making in inoperable. $20 later I was back in business, but at the expense of time and money. Spending the extra time to clean up the wiring will make for a better looking and performing printer.

3.) Z-Height

Getting the Z-Height right the first time will save you several head aches while dialing in a print. I would recommend logging the calibration info when you find a setup that produces a quality print. Cross reference that information when running a new calibration procedure to ensure your Z-Height is set correctly.

I know there are more things that I’ve learned over the past month, and I will continue to add my successes and failures, but these are the three things that really held me back from printing accurate models.

My next project is assembling a Prusa Mendel 3D printer from reprap.org

I’ve printed all of the parts on my Thing-O-Matic and will be beginning construction soon. I will be logging and posting the progress and instructions once I complete the build.

Prusa Mendel Printed Parts

For more information on 3D printing, visit the following links:
http://www.makerbot.com
http://www.reprap.org

WiFly Adhoc Network

There is an awesome library to control the WiFly shield at http://forum.sparkfun.com/viewtopic.php?f=32&t=25216

However, there was no support for AdHoc networks in the existing code.

Paste this function into the WiFlyDevice.cpp and you’re on your way:

void WiFlyDevice::beginAdhoc() {
  /*
    Create and AdHoc network with the WiFly Shield.
   */

  DEBUG_LOG(1, "Entered WiFlyDevice::beginAdhoc()");

  uart.begin();
  reboot(); // Reboot to get device into known state
  requireFlowControl();
  enterCommandMode();

  // Turn on Adhoc Mode
  sendCommand("set wlan join 4");
  // Set SSID of Adhoc Network
  sendCommand("set wlan ssid PTIOZONE");
  // Set Channel for Adhoc Network
  sendCommand("set wlan chan 1");
  // Set IP for Adhoc Network
  sendCommand("set ip address 169.254.1.1");
  sendCommand("set ip netmask 255.255.0.0");
  // Turn off DHCP
  sendCommand("set ip dhcp 0");
  // Set server port
  sendCommand("set ip localport ", true);
  uart.print(serverPort);
  sendCommand("");

  // Turn off remote connect message
  sendCommand("set comm remote 0");

  sendCommand("save", false, "Storing in config");
  //Ensures sucessful reboot. See requireFlowControl for more info.
  sendCommand("get uart", false, "Flow=0x1");
  reboot();

  //After rebooting, your AdHoc network will be available.
}

It takes about a minute for the WiFly to issue an IP to the connecting device, but once the address is issued all is well.

WiFly Webserver

My latest project has been to create a Wireless Webserver with the Arduino and the WiFly shield from Sparkfun.com

After a few grueling hours of yelling at my laptop, I present….

WiFly Webserver
WiFly Webserver

Using an Arduino, Sparkfun microSD shield, and Sparkfun WiFly Shield, I’ve been successful at creating a functional wireless webserver.

I’m working on a tutorial and demo video and will have them uploaded asap.

Inaugural Post

Oh no! Another blog on the internet. What will we do!

Somehow you’ve stumbled upon the ramblings on a Software Engineer with a desire to save the world one piece of code at a time.

Welcome and I hope you enjoy your stay. The website is in total disarray right now, and I will be cleaning things up and adding new features over the next week or so. (More like months, but a guy can hope.)

Here you will find my successes and failures with things like Visual Basic .net framework, Embedded Systems, HTML 5, and life in general. From this I hope to give back to the community that has taught me so much in the last 25 years.

Here’s to a glorious future.

Cheers!