Does arduino uno have protection against burning a computer's usb port? - arduino

I'm currently using my computer's usb port for both charging and program uploading. However, I've heard cases that arduino was burned due to misconnected wires. So my question is, does arduino have protections for the computer's USB port? For example, if any short circuit happens, the board burns first and stops any data/electricity flow from/to the computer port so that we don't burn the computer's usb.

Yes it does. Both the computer USB port and arduino have some kind of protection.
Specifically your computer USB port usually has some good protection that you need not to worry about. In case you use a Chinese arduino unsure of its schematic, it would be a good practice to have an external USB port connected to your PC and to connect there the arduino.
The UNO unlike some other units has a resealable fuse on it, which is pretty a good way to protect your port, (that green led). In addition most if not all the arduino including UNO have a diode preventing wrong polarity to go into your PC.

Related

Atmel ICE C initial connection problems

I have ATMEL ICE C initial connection problems - it cannot read device signature, because of the target board voltage isn't between range of 1.8 to 5.5V. It has measured by the Atmel Studio as 1.3V (when target board is powered by the USB connector) or 0.3V (when USB disconnected from target).
It'a a brand new device, and i never used it before, may be i did something wrong?
I had used before AVR ISP handmade by myself, and had used previously programmed target board for this experiment, to avoid possibility, that board is dead. The target is works and blinking heart beat.
What i has done -
1.Connect the target board to the ICE programmer.
2.power target board by USB.
3.power programmer by USB from PC USB port.
4.open "device programming" tab in AS 7.
5.Make all settings for my chip atmega328p
6.press "apply" then 'read'
7.get err msg that voltage is too low.
(while i had measured it directly, by the digital voltmeter on pins +5V and GND on target
board, it's about 4.5V, same as in ISP connector - measured on 2 and
6 pins.)
=======================================================
#markus-nm where did you take your measurements?
i had measured on pin 2 and 6 of ISP connector and between pin +5V and GND on Arduino Nano board.
What reference was used?
i had used GND pin on target board for the reference.
Did you use the same USB Host for ISP and power?
no, power to target board was from the wall socket USB charger, AND power to Atmel ICE is from personal computer.
If not, did you connect the grounds?
no, but i guess that grounds are already connected on the target board.
Some links to your chip, your board and ISP would be helpful.
ATMEL-ICE-C https://www.microchip.com/en-us/development-tool/ATATMEL-ICE
ARDUINO NANO PRO https://store.arduino.cc/products/arduino-nano
If it's a custom PCB, provide some schematics. Show a wiring diagram of what you did.
no, i had used the standard Nano board (may be not original, but clone, but it is definitely working now, because it can be programmed by the AVRDUDE program and work.)
The Atmel-ICE, by design, has a lot of different ways to hook up the programming connector. Often when I see problems like this it's because the wrong connector is used. Keep in mind the programmer itself has both an AVR and a SAM port. For the Arduino Nano Pro, make sure it's plugged into the AVR port. After that, ensure you're using the correct programming connector on the adapter board that comes with the Atmel-ICE and that it's oriented correctly on the Nano's header.
If that all fails then something is broken.

How to connect Arduino with Internet?

I have gone through several links online but I have not found any appropriate solution to it. I am wondering if there is a way to connect an Arduino with WiFi without using any shield or any other external hardware. My laptop is connected to WiFi and the arduino board is connected to the laptop with an USB cable. I want to access/run the data for the Arduino using WiFi. Is there a way to do it?
Hope my query makes a sense.
Thanks.
Let's restate your question for clarity - you want to share the laptop's Internet connection (e.g. via WiFi) with the Arduino connected to the laptop with a USB cable, with no additional hardware?
Assuming I restated it correctly, the Arduino's USB connection provides a virtual "serial port" for communication. This means you can use an "IP over serial" solution for Internet access. One such common and widely supported solution is PPP.
However, programing the Arduino with IP over PPP stack requires significant amount of memory and is probably an overkill for whatever it is you're trying to do.
You're probably better off designing a custom-tailored protocol for the serial communication between the Arduino and a small gateway program you can program and run on the laptop.
If you're bent on a complex solution that provides full Internet access to the Arduino, the steps to achieve what you're after are:
Program the Arduino with a TCP/IP over PPP protocol stack, running on the serial port. You'll probably need an Arduino MEGA.
Setup the laptop to be a PPP endpoint on the Arduino's serial port. For a Windows machine you can refer to this page for information on how to do that.
Once the PPP link is up, you can setup the laptop's OS to share Internet access to the PPP link.

Connecting 2 USB ports together over a "Null Modem" like in the old days with COM ports?

I was curious if anybody knows a way to connect two different computers together over a USB line and what API's exist to program this interface.
For Serial Ports its common to buy a "Null Modem" adapter to cross over the Transmit and Receive lines of the UART so that the computers can talk together. And then You would read and write them like normal windows files over special system files called "COM1", "COM2", etc.
I was wondering if there was an Adapter of some kind that could emulate this same behavior except for native USB protocol. I realize they have USB-to-UART adapters. That's not really what i'm interested in because the baud rate is very slow for uarts. I was looking for something with USB speeds to transfer from one computer to another that is not going over a network link such as ethernet or wifi.
This is what I have:
COMPUTER A<-->USB<-->UART<-->NULL_MODEM<-->UART<--->USB<-->COMPUTER B
Speed 110,000 Baud, whatever... to slow to transfer files... ok for text...
This is what I want:
COMPUTER A<-->USB<-->Crossover_Adapter<--->USB<-->COMPUTER B
Speed 480 megabits per second
Assuming this beast exists, how do you program it and where do you buy it?
The only solution that I know of is the "FTDI Chip USB-to-USB Null modem cable" that can transfer between computers two computers using USB ports at a rate of 3 MBaud (384 kbytes/s) That's a lot faster than using older serial ports with null modem cable that maxs out at say 115200 baud (14 kbytes/s). The FTDI chip cable can be programed in c/c++/c# just like a standard windows serial port by way of a virtual serial port.
http://shop.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=92&title=Null+Modem+Cables
From Their Website:
USB NMC-2.5m
NMC In the era of legacy PCs with onboard RS232 COM Ports, it was
common practice to establish a simple communications network between
PCs using a cable popularly known as a Null-Modem cable. Typically,
such a cable would have DB9 female connectors on each end with the TX
/ RX and handshaking signals cross-connected so that the PCs could
communicate with each other via legacy COM ports.
On modern PCs the legacy COM Port connector is rapidly disappearing as
USB becomes the multi-function communication port of choice. However,
this presents a dilemma in application areas that previously relied on
legacy COM Ports for inter-PC communication.
A convenient solution to the problem is the FTDI USB NMC cable. From
the outside, this cable appears to be two USB type “A” sockets wired
together, however each of the USB sockets conceal a small PCB with a
FT232RQ based USB-UART converter IC plus support components inside.
The interconnect cable cross-connects the TXD / RXD data signals, RTS
/ CTS handshaking signals and interconnects the common GND reference
rail betwen the two converter PCBs.
When used together with FTDI’s supplied Virtual COM Port ( VCP )
drivers, the USB NMC cable may be used to establish inter-PC COM Port
based communication at baud rates of up to 3M baud. The standard USB
NMC cable p/n USB NMC-2.5m comes with an interconnect length of 2.5m (
8.2ft ) - other lengths may be available on request. Multiple operating systems are supported including Windows, Linux, Mac OS etc.
single cable
Another Alternative is to use Bluetooth which is also programmable just like a the older serial port.
I think I found the solution: Avnet Spartan-6 LX9 MicroBoard.
It has a USB on one end and an ethernet port on the other end.
http://www.xilinx.com/products/boards-and-kits/1-3i2dfk.html
I can put the fpga/microblaze-cpu in the middle to filter out traffic to make sure the link doesn't get hacked and maybe encrypted it as well.
Easy Computer Sync sells the null modem cable plus the data transfer software. The SW is versatile and easy to use. https://www.bravurasoftware.com/easy-computer-sync/ (I have no connection with other than being a satisfied user.)

Bypassing powered on FTDI. Connect directly to RX/TX pins to drive externally

I'm working with a driver board which communicates with a PC program via USB -> FTDI -> TX/RX into the microcontroller. The serial pins are not broken out on the board and I need to talk to the board from another microcontroller (like Arduino). My plan is to just solder directly to the RX/TX pins on the microcontroller despite the fact that the FTDI is powered on and RX/TX of the FTDI will be electrically connected to those pins. I will not be transmitting anything via USB. My assumption is that the FTDI chip will be passive and I can just drive those pins from my Arduino.
Will this cause me any issues? I'm just concerned if the FTDI passively drives those pins low or high, I'll get "smoke" if I follow through with my plan. Perhaps I should put some resistors on my Arduino's RX/TX just as a safeguard.
It's very possible some of my logic is flawed here. Thanks in advance for your advice!!
Cheers
You need to check with the particular FTDI chip you're using on that board.
Some FTDI chips support RS485 and because of the required multidrop capability they operate as open-drain allowing to connect multiple devices.
Even if this solves your hardware problem, you still need to consider how the (live) FTDI chip may respond to your 'unexpected' incoming (RX) data stream. For example, possible XON/XOFF flow control appearing on TX especially since there won't be a consumer from the PC side and the internal FTDI buffers will eventually fill up.

Is it possible to use both external power jack and USB port with Arduino?

I have the Arduino UNO board and I want to know if it is possible to use both the USB connection (for exchanging data) and the external jack to power supply it.
I will use the following cable: http://ecx.images-amazon.com/images/I/41OMXaj5cPL.SY355.jpg with a AC-DC 5V adaptor in order to power supply the Arduino. However, I want to use also the USB connection in order to send some data from the computer.
Both will be connected at the same time.
In short, I want the Arduino to be able to run even if the computer is OFF and whenever I open the computer to send data to Arduino from USB connection.
Is this possible? Will the Arduino Uno board support it?
Yes. From the official Arduino website:
Power
The Arduino Uno can be powered via the USB connection or with an external power supply. The power source is selected automatically.
External DC power will override USB power if the Arduino detects it. [Source]
as other said, it is absolutely possible to have both usb and power jack plugged in.
but be aware that if you shut down your computer and turn it on after, when reading the usb port you'll restart the Arduino and might loose important data.
yeah both of them can be used. If you want to upload the code in arduino then simply use the usb cable otherwise keep it on adapter. it wont harm the device.
What I personally do is, I keep on plugging the adapter and remove the usb once I am done with uploading and then test it as normally the usb cable is quite small and I normally work on robots so I need long wires.
if you want just plugs it in, it's ok but Arduino board will chose one and usb has priority to other power source.
********* Very important :*****
if you are controlling other circuits, that are connected to an external power supply, with your Arduino and connecting it to your PC's usb, Arduino will have potential difference and it will cause current flow that will damage your PC and Arduino board. if you want to do such thing, you have to shield your Arduino board from your other circuits that you want to control and they have external power source. this could happen with optocouplers for digital ports, non signal analog ports with shield relays, and complex analog circuits for analog signals

Resources