eriksmartt.com/blog

  • arduino (3)
  • art (2)
  • austin (39)
  • automotive (15)
  • blogging (25)
  • books (10)
  • business (3)
  • code (15)
  • design (10)
  • diy (3)
  • django (8)
  • experience (17)
  • family (2)
  • film (4)
  • food (1)
  • for:optaros (2)
  • gadgets (11)
  • games (11)
  • garden (3)
  • green (5)
  • hack (13)
  • hardware (11)
  • hci (9)
  • life (13)
  • lifehack (11)
  • links (70)
  • linux (8)
  • living (3)
  • make (3)
  • media (7)
  • mobile (98)
  • music (2)
  • news (17)
  • osx (29)
  • outdoors (4)
  • privacy (2)
  • product-management (1)
  • python (74)
  • quote (3)
  • security (10)
  • society (20)
  • software (38)
  • spam (2)
  • syndication (5)
  • technical (30)
  • technolust (5)
  • transportation (12)
  • travel (25)
  • ubuntu (7)
  • web (66)

  • Search:
     

     

    “Official Arduino Ethernet preview board”

    Adding Internet connectivity to your Arduino projects might be getting a lot easier:

    Official Arduino Ethernet preview board

    (Via: Matt Biddulph)

    [Update: 2008-05-15]
    Those shopping for Arduino’s might also check out this new Arduino Nano:

    Arduino Nano

    (Via Arduino Nano: all-in-one design for breadboard use.)


    Post Comment »


    Arduino development on Ubuntu PPC (and command-line Arduino)

    The Adruino Diecimila board supposedly has circuit protection to ensure that one doesn’t fry their computer accidentally, but just in case, I figured it might be better to use a spare machine for my Arduino hacking. I happened to have an older PowerBook that fits the bill perfectly; however, I run Ubuntu PPC on it, and it didn’t take long for me to realize that neither the Arduino OS X or Linux builds would work on it.

    Not to be discouraged, some quick googling led to the instructions on patching up the OS X release for Ubuntu PPC. However, a little more googling dug up something much more interesting: Arduino from the Command Line.

    It’s not obvious while using the Arduino/Wiring IDE, but you’re really just writing C without includes and prototypes. When you save, the IDE patches up your code, then passes it to gcc-avr for compiling and avrdude for flashing. Therefore, if you’re so inclined (or happen to prefer vi and be on a non-supported platform), one can simply add the extra C++ manually and build/flash yourself.

    The docs on this (linked above) tell the story, but they’re a little out of date (since they reference release 0007.) You still need to “sudo apt-get install gcc-avr avr-libc avrdude”, but after that, download the “Arduino 0009 installer for Linux” [the newest at the time of writing] instead, uncompress it, and look in “lib/targets/arduino/” for the Makefile and libraries you need. Read the comments in the Makefile — they explain it all quite well.

    Once you stash the libraries somewhere handy, starting a new project goes like this:

    1. Create a new directory to work in
    2. Write your Arduino code as a *.cpp instead of a *.pde file
    3. Copy and modify the Makefile for your project
    4. Run ‘make’ to compile it
    5. Run ‘make upload’ to flash your code to the Arduino

    It’s not as simple as the IDE, but it works, it lets you use any text editor you want, and gets you a little closer to whats going on behind the scenes.

    For those curious, I’ve included an example of how the supplied “Blink” sample looks once modified for command-line building. It’s a bit longer… but still manageable:

    
    /*
     * Blink (modified for command-line building)
     *
     * The basic Arduino example.  Turns on an LED on for one second,
     * then off for one second, and so on...  We use pin 13 because,
     * depending on your Arduino board, it has either a built-in LED
     * or a built-in resistor so that you need only an LED.
     *
     * http://www.arduino.cc/en/Tutorial/Blink
     */
    
    #include <WProgram.h>
    
    void setup();
    void loop();
    int main();
    
    int ledPin = 13;                // LED connected to digital pin 13
    
    void setup()                    // run once, when the sketch starts
    {
      pinMode(ledPin, OUTPUT);      // sets the digital pin as output
    }
    
    void loop()                     // run over and over again
    {
      digitalWrite(ledPin, HIGH);   // sets the LED on
      delay(1000);                  // waits for a second
      digitalWrite(ledPin, LOW);    // sets the LED off
      delay(1000);                  // waits for a second
    }
    
    int main() {
      init();
      setup();
    
      for (;;)
        loop();
    
      return 0;
    }
    


    6 Comments »


    Arduino says Hello

    18082007460

    I finally got my first Arduino board last week (a Diecimila, to be specific.) It’s been on my list of “things I want to hack on” for awhile, so I eagerly awaited it’s arrival. It’s been a good ten years since I’ve built anything in the Art Installation / Physical Computing genre — which is ten years way too long.

    In preparation for my first weekend with the Arduino, I hit up SparkFun and a local electronics store for a handful of little gizmos to wire up. I’m still a newbie when it comes to designing electronics (though to be honest, that’s part of the fun), so I started off by following the “Spooky Projects - Introduction to Microcontrollers with Aurdino” lessons. With the Spooky Projects built (minus the glowing skull, unfortunately), I wrapped up the weekend experimenting with potentiometers as the controls for animation timing in a few late-night, generative-art pieces I’ve built using Processing.

    So far it’s all good fun — and something I’d definitely encourage folks to try.


    1 Comment »


     

    A few books I'm reading now:

    A few books I'd recommend: