A good use for ardunio..?

I was also curious about what happens when you do weird things with the pins, so I wrote my own little program that does nothing but receive simple commands over the serial port and execute them. Using this, I have found that yes, you can read input from a digital pin defined as output, and it actually works! It will return the last value you wrote to it. Writing to an input pin does something a little surprising: it enables/disables the state of an internal pull-up resistor for that pin.

So far the only seriously confusing thing I have encountered is when I use up too much SRAM (as opposed to program flash memory). There is no compiler warning, only bizarre behavior when I try to upload and run the sketch.

Pretty much everything is straightforward C++ code, only exceptions are apparently not supported (no big deal).