Using USB and Serial Pins?

I'm a total newbie and just trying to figure out what I have in my new Duemilanove.

I would like to be able to use the Serial Pins to communicate with a Serial<->Bluetooth modem called a BlueSmirf. However, I notice on the schematics that these pins on the microcontroller are also tied to the USB UART chip, so they must be being used to download the programs.

I guess I can't both communicate with the development environment and use the serial pins. Do I have to physically disconnect them from the BlueSmirf when downloading new programs? Do I have to physically disconnect the USB port when communicating with the BlueSmirf? Should I use the serial port emulator package on some other set of pins with the BlueSmirf?

Any advice or clarification would be appreciated.


Unless you can disable the input pins on the BlueSmirf while a program is
downloading I would disconnect them.

On my board (Loading...) I use a DPDT switch to switch the
COM lines between an XBee and the serial port. It is not that inconvenient to
switch the switch for programming.

If you want to add a MUX IC you could automatically switch the COM lines.
You would dedicate one output line to the MUX. When the bootloader starts
the output line will be open and the MUX would connect the COM lines to the USB
port. When your sketch starts you would configure and set the output line that would
switch the COM lines to the BlueSmirf.

(* jcl *)

You confirmed what I suspected. I think I'll try first using Software serial to talk to Bluesmirf over two other GP lines. Because of the limitations of that solution though, I think I'll probably end up with a DPDT switch for a "Program/Run" mode. The MUX solution is interesting, but more than I think I need.

  • redredred