Rolling your own minimal USB to serial Arduino programmer

[Hans Peter] wanted to move away from using full Arduino boards in his projects. One of the components he rarely used after the development stage is the USB hardware. Once the firmware is flashed to the chip he didn’t need it any longer. So he tried his hand with some really small SMD parts by building this USB to serial Arduino programmer.

The chip he went with isn’t the FTDI part we’re used to. Instead of using an FT232RL, he opted for its smaller cousin the FT230x. This chip doesn’t fully implement the communications protocol of the 232, but it does work with AVRdude and that’s all that really matters. Above you can see [Hans’] creation next to the official Arduino USB-to-serial programmer. He used the same connection scheme, but went with an edge connector for the USB instead of using a mini-B jack.

It’s pretty impressive to see his prototyping work with the 16-pin QFN package. He soldered it dead-bug style to a couple of SIL pin headers in order to test it on a breadboard. The first board he assembled was too loose in the USB port, but he added some tape to the back to make it thicker, and coated the edge connector traces with a bit of solder and that did the trick.

It’s why I tend to use the 32U4 or the like. I have a programmer but if I use a USB to Serial, the damn Windows box keeps assigning an ever higher vitual port number with each connect. I get up into the 50’s and some of the other software starts to balk during enumeration.

My AVR programmer from Robokits doesn’t do this, but for the damndest reason my Bluetooth stack doesn’t play nice with it.

But Why ??
I know this is a hacker site, but boards based on the CP2102-chip are like $2 on ebay and the should work fine.
I would definitely not understand if anybody else want’s to go through the trouble of building these boards themselves, instead of getting the ebay boards.
The hacks I create is either because a store-bought product is not available / have the features I want, or I create them to save money. These boards do none of that and I’m sure the time / money spent could have been used for something way cooler.

They are to become a part of a kit with an Arduino Pro mini, using an Atmega168V. So partly it was to make a programmer that would fit with another custom board and partly because I can’ and also because I actually like to solder SMDs.

So what would be the cheapest solution I could get to get started with MCU programming? I think I’d want a board with a couple of LEDs and buttons, an AVR or two, and a USB programmer. How cheap could it be? In the UK cos that’s where I am.

I hear that AVR’s better, firstly because of all the pre-existing code (tho there’s plenty of PIC too), and the popularity it has at the moment with currently-developed code and projects. Also I hear the software’s all free.

Is it practical to program in C even for smaller stuff? I could learn asm without too much trouble, I get the theory. I’ve just got a couple of ideas for stuff to hook up, stuff like connecting a Sega Megadrive joypad to other equipment.

Is it easy to do USB, using an FTDI-chip lead or whatever, to make my own keyboard or joystick or something?

Really the bargain-basement would be best, then I’d buy other stuff to add-on as I went. I’ve seen that Jaycar do some good stuff, they’re Australian but seem to have opened a UK-specific sales department.

One of the USB AVR series will do what you want.. like the 32u2 or 32u4. You can use avr-gcc/avr-libc just fine with it and upload your code via it’s usb port. There are few boards with those chips kicking around ebay but it’s easy enough to build up a little dev board of your own on a QFP adapter. If you ask Atmel nicely and have a reasonable email address (one that looks like a company) they might send a few of those parts for free.

You’re going to base your argument on trouble then cite ebay as a place to do business? Your logic seems faulty to me. I’m sorry but I gave up on ebay a long time ago due to all of the hassles, scams, and headaches I constantly had to deal with there. Then there were the buyers and sellers to contend with too …

I use the Sparkfun FTDI basic for devices where I don’t need to keep a USB interface. Sometimes however you need a permanent USB interface and for that I like the MCP2200. At only £1.50 it is about the same price as I’d pay for the FT230X but as it is available in a SOIC package it is easier to work with. It will operate at 3.3V or 5V and it does do auto-reset when used with Linux (not tested with Windows). http://blog.stevemarple.co.uk/2013/01/uart-usb-converter-for-mixed-33v5v.html

The MCP2200 Is a great chip, and cheap too! I just don’t know how to feel about that external oscillator. I know it is not very rational, but it really bothers me when other chips like the ones from FTDI have an internal one.