Drawing Machine [physical set-up complete]

On Monday I finally received the Polargraph Drawing Robot Vitamin Kit for the LAB. There was a lot of excitement since Josh, James, Adi, Meghna, and I had been waiting, impatiently, for over a month to receive this device from Sandy Noble, the creator of the amazing Polargraph project. I am very grateful to Sandy for keeping this project alive and making this kit.

Earlier today we finished assembling the physical and electronic components of the drawing robots. All-in-all this process took about 15 hours – this is a cumulative figure taking into account all of the time that James, Josh, Adi and I devoted to this project to date. A lot of this time was spent trying to resolve small issues that arose because the online tutorials all feature older versions of the Polargraph SD Drawing Robot.

The best place to start is the tutorial on instructables. It features really good overview of how to set-up the drawing surface and how to use the software. The software is more complex than you might expect since it has a lot of cool features and configuration options.

There are a few things about the physical assembly of the laser cut components and the workings of the Polarshield that are not covered in this tutorials. I jotted down some tips for anyone who is planning to assemble their own kit (and for myself, since I got another kit for living room that will be arriving in the next week or two).

Assembling the Motor Bracket

The bracket design has been updated so that they can be mounted upside down and to help with cable management. This blog post features a several additional pictures of an assembled bracket that will help you understand how all the pieces fit together (picture and blog post from Sandy Noble). I know it is not rocket science, but it is always good to make sure you know what you are doing before you start glueing parts together.

Getting to Know the Polarshield Board

The Polarshield board provides the interface between the Arduino Mega and the motors, SD card reader, touchscreen and optional Xbee. This blog post provides an overview of the features of the Polarshield. Below is an annotated picture of the Polarshield that is taken from this blog post (both from Sandy Noble). For the most part this board is plug and play, with one very important exception that I will discuss next.

Connecting the Polarshield Board

When you mount the board to an Arduino the leads from motor port A will come into contact with the metal casing of the Arduino’s USB port. Therefore, you need to add a piece of electrical tape to the underside of the board to isolate the leads from motor port A from the metal casing of the Arduino’s USB port.

Uploading the Firmware (using a Mac)

Quick correction: I previously had stated that you could not upload the Arduino Mega firmware using the Arduino IDE. I was wrong. This means that you can either upload the firmware using the standard approach, via the IDE, or by using the hex file as described below.

Here is how to upload the firmware to your Arduino using the hex file provided by Sandy:

Make sure that you have Arduino installed because you will need to use a few files that are saved inside of your Arduino application package. To explore your Arduino application package just control-click the app icon and select “Show Package Contents” from the drop-down menu.

Copy the avrdude.conf file from your Arduino application directory to the ‘/usr/local/etc’ directory on your Mac. This file is located inside your Arduino app in’Contents/Resources/Java/hardware/tools/avr/etc/’. This step is not required for everyone but it was necessary on my computer, so I advise that you do it just in case.

Open the Terminal application and run the command outlined below, replacing path_to_file, file_name, and port_name with the appropriate paths, names and ports for your computer. As an example, I’ve included the actual command that I ran on my computer.

Command Syntax:

path_to_file/avrdude -Cpath_to_file/avrdude.conf -v \
-patmega2560 -carduino -D -b 115200 -cstk500v2 \
-P/dev/tty.port_name -Uflash:w:path_to_file/file_name.hex:i

Example Command:

/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude \
-C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf \
-v -patmega2560 -carduino -D -b 115200 -cstk500v2 -P/dev/tty.usbmodem411 \
-Uflash:w:/Developer/_LAB_Projects/prototypes_experiments/Polargraph/arduino_code/polargraph-read-only/embedded/branch/polargraph_server_polarshield/polargraph_server_polarshield.cpp.hex:i 

If you are using a PC just follow Sandy’s direction on how to upload the firmware to your Mega.

Tags: , , , , , , ,

3 Responses to “Drawing Machine [physical set-up complete]”

  1. Sandy says:

    Glad to see you got it set up – just wanted to say that there should be nothing stopping you from uploading the code through the arduino IDE. There’s a bunch of libraries required before it’ll compile, but there’s nothing special about the code. The hex files are just there to make it a bit easier, but it does mean you don’t have access to edit the source code, which is useful sometimes when playing!

  2. julioterra says:

    Sandy, thanks for the clarification. I’ll update the blog post. That is good to know because we definitely want to play around with customizing the firmware.

Leave a Reply