The problem is that I want this to be an embedded / self-contained device, so I won't be able to unplug the TX and RX pins every time I want to make changes to the software.
I also have an Arduino Mega, which I don't think has this problem (can anyone confirm?).
I would prefer to use the Nano since it is smaller and cheaper, but if the Mega will work then I might just use that.
You can use software serial, which enables you to run bluetooth on other pins. Mega has four hardware serial pins, which is probably two more than you need, and you might as well keep it for something more appropriate. Using software serial is not such a great idea but it will be fine if you are just flashing LEDs about.
SoftwareSerial is slow (9600 baud to 38400 baud) and uses up a fair bit of the Arduino's CPU cycles. Neither should matter for a simple project that turns an LED on or off.
There is also AltSoftSerial and NeoSwSerial as alternatives
I bet you are not as fast with your fingers as you think you are, and you will never know the difference between 9600 and 38400, let alone 115200. If you have a substantial stream of computer-generated data, you probably would know. I don't think you have a problem with the LEDs, you can always suck it 'n' see. The switch isn't a bad idea but likely to be unnecessary.
Nick_Pyner:
I bet you are not as fast with your fingers as you think you are, and you will never know the difference between 9600 and 38400, let alone 115200. If you have a substantial stream of computer-generated data, you probably would know. I don't think you have a problem with the LEDs, you can always suck it 'n' see. The switch isn't a bad idea but likely to be unnecessary.
Okay, thanks for the feedback. I will try out the software serial and see how it works.
Do you think the regular SoftwareSerial library will work fine, or is one of the other libraries better?
I'm afraid I am not familiar with any software serial. You might as well try the standard one as it is already in your hand, and it will probably be OK.
..
Update: SoftwareSerial works great, only problem is I am running out of RAM on the Arduino Nano. The atmega328p version I have only supplies 2 kB, which is right on the edge.
I had never heard of it before... (and I like that it doesnt disable interrupts!)
not sure if it has any advantages for me yet.. but good to know it exists!