• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Need recommendation for Cheap Arduino or Clone

be80be

Well-Known Member
If it's 3.3 volts it will program at 3.3 fine the crystal be a 8 mhz is what most use.
But on a side note I've programmed a nano that was 5 volt at 3.3 and used 3.3 volt to power it worked.

You use a 8 mhz crystal for 3.3 volts
16 or 20 for 5 volts the atmega 328 will run happy at 3.3 volts
 

DrG

Active Member
I have several 3.3v prominis, including the real one from sparkfun and a couple of different clones. They all work quite well, but they are slow (8MHz).

The IO on the 3.3V promini is NOT 5V tolerant. Vcc for the ATMega on the board is 3.3V and Vcc +.5 is the maximum input voltage level, if I recall the data sheet correctly.

I have settled on this serial-USB board https://www.microcenter.com/product/486570/FTDI_Adapter_USB_Controller and have several and they have never let me down. They are 3V-5V switch selectable and all the relevant signals get switched.
 

Pommie

Well-Known Member
Most Helpful Member
Every Arduino (and clones) board I've bought has had the USB part built in. Surely it's cheaper (and easier/safer) to just buy complete boards. Not a criticism, just an observation.

Mike.
 

BobW

Active Member
Since I've already got the USB/serial adapter, it's not a big deal, and the Mini-pro appears to be cheaper than anything else I've been able to find.

The IO on the 3.3V promini is NOT 5V tolerant.
Thanks for the warning. I'll stick some resistors in line with Tx and Rx lines.

I'm going to try the LED Blink demo tonight. I'll report back later.
 

Nigel Goodwin

Super Moderator
Most Helpful Member
I was pleasantly surprised to find a semi-local supplier of Arduino & Arduino clone hardware with cheap shipping. I ordered 5 mini pro's which arrived last night.

The supplier sells both 3.3V and 5V versions. I ordered the 3.3V ones, and then afterwards got wondering if there would be any compatibility problems using the FTDI USB/serial adapter to program it. The FTDI adapter supplies 3.3V to the controller, but I assume the serial signal logic levels are still 5V. I guess I can put some small value resistors between the adapter and the microcontroller just to be safe, but I was wondering if anyone has had any problems with voltage level differences in this situation.
No there's no problems at all with the FTDI, as far as I'm aware it actually puts out 3.3V levels?, and is fully compatible with 5V as well.

Just checked one, as there was one connected just to my right, and a meter just to my left :D - 3.3V on the I/O.
 

DrG

Active Member
No there's no problems at all with the FTDI, as far as I'm aware it actually puts out 3.3V levels?, and is fully compatible with 5V as well.

Just checked one, as there was one connected just to my right, and a meter just to my left :D - 3.3V on the I/O.
But you didn't check every board in existence, did you?

The point I made in post #22 is simple and is correct. The ProMini 3.3V is not 5V tolerant. One needs to look at the voltages on all of the lines that will be connected to the ProMini to make certain that they are not 5V. Not all FTDI USB to Serial boards are always 3.3V signals. Not all boards called FTDI have legitimate FTDI chips.

Here is a legitimate FTDI USB/Serial interface board.

As you can read in the description:

One of the nice features of this board is a jumper on the back of the board that allows the board to be configured to either 3.3V or 5V (both power output and IO level). This board ship default to 5V, but you can cut the default trace and add a solder jumper if you need to switch to 3.3V.

If you buy this board, don't cut the jumper, and use it with a 3.3V ProMini, you will likely damage the ProMini.

The 3.3V ProMini is not 5V tolerant. Check the voltage on whatever USB?Serial adapter that you use. <---period
 

Nigel Goodwin

Super Moderator
Most Helpful Member
But you didn't check every board in existence, did you?

The point I made in post #22 is simple and is correct. The ProMini 3.3V is not 5V tolerant. One needs to look at the voltages on all of the lines that will be connected to the ProMini to make certain that they are not 5V. Not all FTDI USB to Serial boards are always 3.3V signals. Not all boards called FTDI have legitimate FTDI chips.

Here is a legitimate FTDI USB/Serial interface board.

As you can read in the description:

One of the nice features of this board is a jumper on the back of the board that allows the board to be configured to either 3.3V or 5V (both power output and IO level). This board ship default to 5V, but you can cut the default trace and add a solder jumper if you need to switch to 3.3V.

If you buy this board, don't cut the jumper, and use it with a 3.3V ProMini, you will likely damage the ProMini.

The 3.3V ProMini is not 5V tolerant. Check the voltage on whatever USB?Serial adapter that you use. <---period
Most FTDI boards are adjustable to either - usually by a moveable jumper. If you're going to assume every poster is too thick to read instructions, or labels on the prducts, perhaps you ought to warn them against connecting mains directly to the Arduino?.

The poster that asked about it clearly said "I ordered the 3.3V ones" in post #20, and was wondering if the 3.3V ones actually used 5V logic levels, and just altered the power out - which they don't. Perhaps you should try reading the posts you reply to?.
 

DrG

Active Member
Most FTDI boards are adjustable to either - usually by a moveable jumper. If you're going to assume every poster is too thick to read instructions, or labels on the prducts, perhaps you ought to warn them against connecting mains directly to the Arduino?.

The poster that asked about it clearly said "I ordered the 3.3V ones" in post #20, and was wondering if the 3.3V ones actually used 5V logic levels, and just altered the power out - which they don't. Perhaps you should try reading the posts you reply to?.
Are you starting an argument because you are a moderator and correcting mistakes that have not been made? - this is not AAC.

The ProMini comes in a 3.3V and 5.0 V version. You need to read post #20 for content and not tell me to read post #20 because you somehow believe that it makes you right to correct a mistake that you think has been made.

You completely misinterpreted what the OP has said. He never asked if the 3.3V promini used 5V logic signals, "and was wondering if the 3.3V ones actually used 5V logic levels". That is absurd. He clearly assumed that the FTDI board used 5V signals and said as much "The FTDI adapter supplies 3.3V to the controller, but I assume the serial signal logic levels are still 5V."

QUOTE="BobW, post: 1365438, member: 151546"]
I was pleasantly surprised to find a semi-local supplier of Arduino & Arduino clone hardware with cheap shipping. I ordered 5 mini pro's which arrived last night.

The supplier sells both 3.3V and 5V versions. I ordered the 3.3V ones, and then afterwards got wondering if there would be any compatibility problems using the FTDI USB/serial adapter to program it. The FTDI adapter supplies 3.3V to the controller, but I assume the serial signal logic levels are still 5V. I guess I can put some small value resistors between the adapter and the microcontroller just to be safe, but I was wondering if anyone has had any problems with voltage level differences in this situation.
[/QUOTE]


I have several 3.3v prominis, including the real one from sparkfun and a couple of different clones. They all work quite well, but they are slow (8MHz).

The IO on the 3.3V promini is NOT 5V tolerant. Vcc for the ATMega on the board is 3.3V and Vcc +.5 is the maximum input voltage level, if I recall the data sheet correctly.

I have settled on this serial-USB board https://www.microcenter.com/product/486570/FTDI_Adapter_USB_Controller and have several and they have never let me down. They are 3V-5V switch selectable and all the relevant signals get switched.
I have had problems with voltage levels in "this" situation. And I looked at the voltages before connecting to a 3.3V device (which happened to be an early ESP8266).

IF the OP used an FTDI adapter THAT HAS 5V SIGNALS as shipped, like the one that I posted , IT WOULD DAMAGE the 3.3V ProMini. Nothing needs to be corrected there.

My response to the OP was straightforward and accurate. I could have also said, check the lines before you add dropping resistors. I could have added a lot of things but to suggest that I should have said something like "perhaps you ought to warn them against connecting mains directly to the Arduino" is snarky and hostile. It does not make your point correct.

Again, do not correct mistakes that are not made. In this case you are simply wrong and you have no reason to be jumping on me to correct imaginary mistakes that you believe that I made. I don't care how many years of experience you have doing anything or what position you hold on this board or anywhere else. In this particular case, you are simply wrong.
 

DrG

Active Member
Every Arduino (and clones) board I've bought has had the USB part built in. Surely it's cheaper (and easier/safer) to just buy complete boards. Not a criticism, just an observation.

Mike.
Yeah, well that is a point. When the ProMini 3V came out, the rationale was that it is cheaper - see https://www.sparkfun.com/products/retired/9220

But cheaper is relative. It is small and the clones are very cheap. These are the four that I have left:
ProMinis.jpg

On the far left is the original from Sparkfun. The two clones on the right cost US$1.80 each, free shipping from China. I just looked at the receipt from Dec 2017 - maybe they have gone up $1, don't know, but that is pretty darn cheap.

They are small and once in the project, you can still access them for reprogramming (see https://www.electro-tech-online.com/threads/yasp-yet-another-silly-project.157779/).

Once I got used to them, I just never thought about having to use the USB/Serial connector much.

One thing though. If you roll your own ATMEGA386, you may not want to mess with also building on board USB capability. For example, for this one:
I burned the bootloader with an UNO
Arduino Bootloader 1.jpg

Thereafter, I used the same USB/Serial board to program it from the IDE:
arduino bootloader 2.jpg
I followed exactly this article and it took me about an hour from start to burned bootloader to programming a flashing LED. There are other approaches and many such articles, but I like that guy's writing as it is carefully clear.

One other approach is to use the internal 8MHZ RC, so no crystal at all. I have not yet done that, but it is on the list and I might eventually try an approach like those instead of a ProMini, but I think I would stick with an external USB/serial board for those projects also (although there are other ways to program the board I suppose).
 

DrG

Active Member
Since I've already got the USB/serial adapter, it's not a big deal, and the Mini-pro appears to be cheaper than anything else I've been able to find.


Thanks for the warning. I'll stick some resistors in line with Tx and Rx lines.

I'm going to try the LED Blink demo tonight. I'll report back later.
So, as I see it, the bottom line (without the bickering - sorry about that), is that you should check the voltage output on your USB board before connecting to the ProMini. You may not have to, or want to, add anything, but you might need to, it all depends on your board. Also, look for any 3v/5v jumpers on your board, but still, check the voltage before hook up. It only takes a few minutes and can save a lot of trouble. Remember too that it is not just RX and TX, you will also need the DTR/CTS lines (maybe it is just the DTR line, I can't recall from memory) to use the auto reset, which you will want.

Hope it helps and let us know how it turns out.
 

BobW

Active Member
I'm using an FTDI UMFT230XB USB/Serial breakout board.
Datasheet: https://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_UMFT201_220_230XB.pdf
It turns out that its serial I/O operates at 3.3V. I put it on my scope just to make sure. Since 3.3V logic levels are TTL compatible (min 2.5V for logic 1), I expect it should work with most 5V boards too. I've already used it with ESP-01 boards which are 5V.

I'd picked up several of these USB/Serial adapters a few years ago for an unrelated project, but they work fine for programming Arduinos. The only drawback is the lack of DTR line. So, I have to manually press the reset button on the pro-mini.

Anyway, the good news is that I've uploaded a sketch to the pro-mini without any problems. So now I can get on with my main project.

Regarding the pros and cons of Arduinos having the USB built in, I'm a bit of a cheapskate, and don't see much point in having hardware that's used only for programming, when it could be a separate item. Different schools of thought I guess. I know that the idea of not having to have any additional hardware other than a USB cable appeals to a lot of people. I assume that's why a lot of people won't built PIC projects, even if the program is already written, because of the need for a PICkit programmer.

I appreciate all of the input. Thanks everyone.
 

be80be

Well-Known Member
If they did change the way it programs the RTS should reset too.
I havn't tried it but at one time arduino ide used rts or dtr to reset.

On the first board that arduino developed that used an auto-reset feature the IDE used the RTS control signal to trigger the reset to the board. On later boards they changed to using the DTR signal to use that (I recall no reason given for the change) for the trigger signal. So to keep compatibility they had to issue both RTS and DTR pulses
 
Last edited:

BobW

Active Member
Thanks. I wired the RTS on the USB/Serial adapter to the DTR pin on the pro-mini, and tried it just now. It works. I was a bit leary, because some of the VCP drivers have problems setting the DTR and RTS lines, but it worked fine.
 

DrG

Active Member
Good deal, I am glad you got it sorted out and good info be80be on the DTR/CTS issue. BTW: I recognize those old FTDI boards, they date back to when you could spend many hours trying to get drivers that worked with the board and Windows, the latter being the more frequent problem. Good to see that you were able to make it all work.
 

BobW

Active Member
Last night I did some programming. I'm a bit rusty, programming in C, and got tripped up with function calls that have no parameters. I was unaware or had forgotten that, unlike some other languages, even if your function call has no parameters, you still have to include an empty pair of parentheses. I'd left them out, and the compiler didn't flag it as an error. So, it took a while to track down.

Anyway, it's working now. I'm using the Arduino to interface to a MAX6922 32 bit HV driver to operate a 3½ digit Nixie display. The MAX6922 is actually a source driver, but the outputs can sink enough current to drive the Nixies.
NixieDuino_01.jpg
This display had been controlled by an 8 pin PIC. I just popped the PIC out of the socket, then plugged the data, clock and strobe lines from the Arduino into the PIC socket. The Arduino reads analog input A0, scales it to 0..1999 and displays on the Nixies.
 

Nigel Goodwin

Super Moderator
Most Helpful Member
Last night I did some programming. I'm a bit rusty, programming in C, and got tripped up with function calls that have no parameters. I was unaware or had forgotten that, unlike some other languages, even if your function call has no parameters, you still have to include an empty pair of parentheses. I'd left them out, and the compiler didn't flag it as an error. So, it took a while to track down.
I must admit, I've done that a time or two myself, and it's a real pain to find.
 

Pommie

Well-Known Member
Most Helpful Member
I'm a bit rusty, programming in C, and got tripped up with function calls that have no parameters.
The one that still occasionally gets me is if(var=3) instead of if(var==3). I've tried using if(3==var) so it throws an error at compile time but for some reason my fingers always type it the other way around.

Mike.
 

BobW

Active Member
This is one reason why I've never been a big fan of C. Just like in real life, if everything is legal, things can get unpredictable and dangerous. Instead of calling it "C" they should have called it "A" for anarchy.
 

BobW

Active Member
No, they're not VFD's. VFD's would have a blue or green display. I used Russian IN-16 nixies. As I mentioned above, the MAX6922 is "intended" for VFD use, but it works fine as a sink driver for nixies as long as the current isn't too high. See the attached schematic for the wiring I used.
Nixie display schematic Arduino.png
 

EE World Online Articles

Loading

 
Top