Multiplexing between USB and BT sources for programming an Arduino Uno

Thread Starter

electrophile

Joined Aug 30, 2013
167
A while ago I had designed a project that uses a MUX (74LVC1G3157) to select between a USB-UART wired connection and a Bluetooth module to connect and program an Arduino Uno. I use the USB bus voltage (VBUS) to select between the two sources. When the USB cable is plugged in the SEL lines goes to 5V, connects the CP2104 USB-UART chip to the Uno and shuts off power to the BT module thereby completely isolating it.

Both the CP2104 and the BT module are 3.3V devices and my Uno runs at 5V. I had missed adding a level shifter at the MUX that outputs the DTR signal. Hence this worked partially in the sense that I could communicate with the Uno through a serial monitor but not program it (due to the RESET pulse not going below 0.5V). With the level shifter now in place (a simple non-inverting buffer operating at 5V) at the output of the MUX that outputs the DTR signal, I can see that the reset pulse works fine, however the programming still does not work.

Any thoughts as to why this is not working now? The most recent schematic is as below and the scope output showing the reset pulse is also shown. The yellow trace is the DTR output from the buffer and the blue trace is the RESET pulse at the RESET pin of the AVR.



 
Top