0

Edit: this was completely my mistake. See end.

My official Uno worked fine when powered by 12v on VIN, but my Uno clone acted really funny--it read random noise from an input when a simple wire was attached, but not with no wire. It was solved with a pulldown resistor. The worse problem was that the PWM didn't turn off when I called analogWrite(pin, 0). More worrying, it seemed to be outputting by power rather than duty cycle, since my small LED strip seemed to be doing higher duty than my big LED strip (both powered by transistors), though both were being set with analogWrite(pin, 0). I measured the 5v pin at 5.9v. The input voltage may have actually been up to 12.5 v, but clean. I disconnected VIN and hooked back up to USB, and everything worked fine.

I assume the solution is to either use a linear regulator wired to VIN, or a battery?


I did get the linear regulator, which didn't help. I finally checked all my voltages, and found there was a 0.8 volt difference between different grounds! It turned out my breadboard was wired to the Arduino pin next to ground, instead of ground itself. I feel very lucky not to have ruined the board, and my only complaint is that the pins aren't labeled clearly as they are on my official Arduino. On the other hand, I wouldn't have been able to debug this as easily on the official Arduino, since the clone has lovely solder holes at each pin which are a great spot to stick a voltmeter probe.

  • you connected the uno clone to 12V without reading the specs for the board? – jsotola Feb 1 '18 at 2:06
  • It may be naive of me, but I wasn't aware cheap clones had specs, at least specs that are in English. I thought they were supposed to work like the official ones, but with less reliable construction and components. Various internet sites indicate that clones max out at 12v while Arduino will handle 20v in a pinch, but I didn't think 12.3v (probably) would be over some hard limit. – piojo Feb 1 '18 at 2:34
  • 1
    the solution is to either use a linear regulator wired to VIN, or a battery - or stop using cheap chinese knock offs - I mean, clones :p – Jaromanda X Feb 1 '18 at 2:37
  • @JaromandaX You highlighted "cheap". Do you mean it's possible to find high quality knockoffs? – piojo Feb 1 '18 at 2:50
  • 2
    Clones. Yes off course – Jaromanda X Feb 1 '18 at 2:51
1

Is it common that Uno clones misbehave when connected to 12v on VIN

Whether it is "common" is probably unanswerable unless you do some sort of survey.

However bear in mind that clones or "knock off" boards (some of which pretend to be official ones) are built to a price. The original Arduino was already designed to be cheap. To make them even cheaper the manufacturers may well make a number of compromises. For example, some use a cheaper USB interface chip. It wouldn't surprise me if the components like the voltage regulator, capacitors, etc. are under-specified.

I see from eBay that clones are already quite cheap, possibly around $US 4.50. To compete with that, some manufacturers may be cutting back even further on the quality of components.


I assume the solution is to either use a linear regulator wired to VIN, or a battery?

You are probably better off bypassing the on-board regulator entirely. Get a wall-wart that outputs 5V regulated. The sort of thing that might power a USB-based device. Then plug that into the 5V pin of the Uno (not VIN). In fact, virtually any mobile phone charger wall-wart will output exactly what you want. Just run a USB cable from that to the USB port on the Arduino, and there you have it! Regulated 5V power.


The other thing that could work would be to give the voltage regulator a break. Don't put 12V into it, put in 9V. Then it doesn't have to work so hard (that is, dissipate the extra voltage as heat).

  • I'm just outside of China, so these clones were $2.70. They weren't even the cheapest I could have bought. A wall wart is the worst and last option--this project has a fixed location, and it would mean running an additional long power cord to it. However, I should be able to get a linear regulator to output 5V from the (required) 12V that's being supplied. I'm also thinking about making a voltage divider--the fluctuation shouldn't be that bad if I let 500 mA flow through the divider with no load. But please let me know if this is a bad idea. – piojo Feb 1 '18 at 6:59
  • To clarify, if I use a voltage divider, I would be supplying 9 V to VIN (letting the Arduino take care of fluctuation), but if I use a linear regulator, I'll apply 5 V to the 5V jack (assuming there is no fluctuation). – piojo Feb 1 '18 at 7:01
  • 1
    @piojo: The issue with the divider is that the voltage you get is highly dependent on the current you draw. Depending on what the Arduino is doing, the current draw can vary quite a bit. – Edgar Bonet Feb 1 '18 at 8:39
  • 2
    Check out my post about a temperature sensor that runs from batteries. There are much better ways than trying to put 12V into VIN. – Nick Gammon Feb 1 '18 at 8:54
  • @NickGammon That mosfet technique is really interesting! As for my original post, I edited it to explain that the board wasn't the problem. I wired ground to a floating pin (next to GND) instead of GND. So the problem is between keyboard and chair, unless you blame the board manufacturer for labeling that's not as good as the labels on an official Arduino. – piojo Feb 2 '18 at 1:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.