Welcome MAKE Readers!

MAKE vol 25 features a little article I wrote about building a “Breadboard Arduino”.  You can buy a kit that contains all the parts for $40.  Click on the giant “Buy Now” button to order one today!

The kit includes everything you need:  a solderless breadboard, jumper wires, a pre-programmed ATmega328P with pin label, USB adapter and basic components to perform the basic “software experiments” in the article.  You need:  a computer with a spare USB port that can run the free Arduino IDE software and a USB A to mini-B cable.

The first 99 buyers also get the “Li’l Larson LED Scanner Expansion Pack”, for free!  OK, it’s just 5 red LEDs and some more jumper wires but you do get a really nice, custom laser-cut LED bezel for maximum Cylon (or K.I.T.T.) action!


Breadboard Arduino Kit

Breadboard Arduino Kit contains all the parts you need to build a Duemilanove-compatible microcomputer with your bare hands - no tools required!

25 Comments

  1. Brian says:

    I love the simplicity of your USB adapter.

    Can someone by it alone? Maybe in the Maker Shed?

  2. Dale Wheat says:

    Thanks! I worked hard to make it simple, if that makes any sense at all! 😀

    Right now I’m only making them for the Breadboard Arduino Kits. If there’s enough demand, I would be delighted to sell them individually either from my web site or through the Maker Shed. I’m building up a new batch of them today!

  3. Ted says:

    I also really dig the USB-TTL adapter. Is there a chance you might make the Eagle file available for those with the know how to etch their own boards and solder SMD components? Assuming you designed it in Eagle and also assuming it’s one sided. 🙂 I have all the other components already and would love to have a couple of those adapters at my disposal. If not, then I also am putting my vote in for those to be sold separately. Thanks!

  4. Dale Wheat says:

    Thanks for writing, Ted!

    Yes, the basic layout was done in EAGLE 5.11 but the final production artwork was tweaked with the freeware version of CAM350 v6.

    Schematic (PDF): http://www.dalewheat.com/info-content/USB-TTL%20v1.1%20schematic.pdf
    EAGLE schematic: http://www.dalewheat.com/info-content/USB-TTL%20v1.1.sch
    EAGLE PCB layout: http://www.dalewheat.com/info-content/USB-TTL%20v1.1.brd

    Alas, it is most decidedly a two-sided board. Let me know if you are able to reproduce these at home! I would hope that it was possible, but I’m not going to try it here. 😀

  5. Kevin says:

    Looks like the Make article may have a misprint. Last paragraph of the “Install the Brain” section reads “…J-7 to right power, and J-9 to right ground (Figure G).”

    I think that is supposed to be “…J-9 to right power, and J-7 to right ground (Figure G).”

    The figures are correct.

  6. Dale Wheat says:

    Good eye, Kevin! Thanks for pointing that out.

    See the correction on the web site:

    http://makezine.com/25/arduinoprimer/

  7. Ryan says:

    Hi Dale!

    I am just now scanning through my latest acquisition from the magazine stand, and as soon as I flipped to page 62 my eyes were sucked in by an attention-capturing black-hole of awesomeness that is your USB to TTL adapter.

    Your adapter caught my attention with such a raptness because I recently just finished toiling over a few days of extended google-fu sessions trying to find myself the ultimate USB-TTL adapter for my Arduino breadboarding. In all my efforts I couldn’t find one that was as convenient and simple for Arduino interfacing as the one you show in your article.

    I got sick of using my Duemilanove as a programmer and then pulling the ATmega328 chip out of it and transferring it to a breadboard (my preferred way to use one) every time I needed to make a software change. Wiring from the Duemilanove to my breadboard so I could program the ‘328 in place is too bulky, so I was looking for something to solve my problem.

    I wanted it to be small, based on the FTDI FT232RL chip, and have a pinout that would facilitate easy hookup… but since I couldn’t find anything that had an exact “drop in” pinout for the ATmega328, I just went with the LillyPad FTDI breakout board from sparkfun which was “close enough”.

    Your adapter there is EXACTLY what I wish I had found a week ago before I ordered my lillypad FTDI breakout board… oh well, I could always use more than one programmer! =D

    I really like that you went ahead and included the coupling capacitor and pull-up resistor that are needed for the reset line… that’ll save me a few components on my breadboard as compared to the regular FTDI breakout boards or cables.

    I would be THRILLED if I could get a few of your adapters “a la carte” from your store. I’ve already got quite a stash of ATmega328 chips, 16 MHz crystals, and breadboards at my house so I can’t exactly justify buying your whole Arduino breadboard kit.

    Also, although I may admit I scanned right past the first few sections of your article, I greatly enjoyed the Software Experiments section… I honestly had never really delved into any of the built-in examples and I thought your article was a great “back to the basics” review for me and an excellent first time intro to anybody new to the Arduino.

  8. Dale Wheat says:

    Thanks for your very kind words! I, too, was looking for a more “breadboard friendly” USB-TTL adapter to use in my classes. My first attempt was “okay” but still required a lot of wiring. This version is almost “just right”. The only problem with them is that they are hard for me to manufacture.

    You’re not the first person to ask for these adapters “a la carte”. I’m considering making them available, but as I mentioned before, they are difficult to produce here in the lab. What would you consider a fair price?

  9. Ryan says:

    Considering it’s handmade and the fact that you offer the complete kit for 40 bux, I might suggest 25 dollars. 30 would probably be a bit high and by that point in time it wouldn’t be very worth it to get JUST the adapter when you could get the whole kit for 10 dollars more.

    Here’s how I came to the number 25:

    I found the lowest prices from amongst sparkfun, allelectronics, and jameco for everything else in your kit… rounded up to nearest dollar.

    8 for the breadboard
    6 for the ‘328
    2 for the crystal
    6 for the random passive components and wire (just a guess… since I don’t know the specifics of what passives come with the kit)

    If we add all that up we get 22 dollars worth of extra stuff if I were to be purchasing all of it from a supplier like jameco.

    40 – 22 leaves 18 dollars left as my estimate of what the “in a kit” price for your adapter would be, so by selling the the adapter on its own for 25 you could potentially be making more money off your time spent constructing the adapter than you do when you sell them as part of a kit.

    Additionally, by making the adapter 25 dollars you help guarantee that your kit is still a viable and competitive option to those people who aren’t already swimming in components… since you’d be hard pressed to match the contents of your kit for the same price. Even if I were to buy a commercially available FTDI breakout board for 15 dollars I would barely be able to re-create your kit for the same price.

    That way, new guys could get your kit and still feel good about getting a great deal… and experienced guys who are already well stocked on components could get your adapter at a price that would still be fair and comparable to the commercial offerings for 15 dollars. I think most hobbyists and make readers could easily justify a 10 dollar premium for the handmade factor.

  10. Gary Brown says:

    Hey Dale,

    I got the kit after the cool article in MAKE fired up my 16 yo son. We have spent 7 hours on three PCs (1 Win 7 Ult 64, 1 win 7 Ult 32, & 1 XPPro 32) trying to get the USB drivers to work. I am regularly tasked with setting up communications gear and I can’t get this to go. The Win7Ult32 ‘saw’ the “Dale Wheat” chip once, went to update and downloaded and installed drivers. But then no communication. Now it doesn’t see the usb device at all, like the other two. Is there a chance this usb header might have a problem? Thoughts?

    Gary

  11. Dale Wheat says:

    Gary,

    Thanks for posting your experience here, as well as for your kind words. I’m thrilled to hear that your teenager was excited about the project!

    At the same time, I’m disturbed, frustrated and disappointed to hear of all the troubles you’re having with the kit. My goals for the kit were for it to be:

    1) Plug-and-play (or actually, “plug-and-plug-and-plug-and-plug-and-play”, as there is some assembly required)
    2) Fun!

    So far it’s failing on both points. Let’s get that turned around!

    The good news is that you’re not the only one to experience this type of problem. My USB adapter is identical to the ones on “real” Arduinos, so the same driver issues apply. In my classes there’s always at least one or sometimes two computer systems that just don’t play nice. It’s almost always a driver conflict of some sort. It’s not unreasonable to think that the USB adapter might have a problem, but it’s much more likely that it’s a software problem. I’ll start here with some basic trouble-shooting on your Windows XP machine, as that’s what I have in the lab this morning. I’ll be doing some more testing and research on Windows 7 this afternoon and will post my findings then.

    If you can, go back to your Windows XP machine and plug in the Breadboard Arduino kit. Open the Device Manager (Control Panel -> System -> Hardware -> Device Manager). Scroll down to “Ports” and expand that item (click on the [+]) and you should see “USB Serial Port (COM?)” with an actual numeral instead of a ?.

    If you don’t see this entry, that means that the drivers were not properly installed when the device was originally plugged in. I would suggest running the “CDM Uninstaller” from FTDI:

    http://www.ftdichip.com/Support/Utilities/CDM_Uninst_GUI_Readme.html

    This will remove any previously installed FTDI drivers as well as any registry entries. Then try unplugging and re-plugging the Breadboard Arduino cable into your PC. This should bring up the “New Hardware Wizard”. If you’re currently connected to the Internet, your best bet is to let it “automatically” find and install the correct drivers. This can take a few minutes, but the FTDI drivers are well known to Microsoft and they will find and install the right ones for you. If not connected to the Internet, you can specify the drivers that came with the Arduino 0022 software, in the folder “arduino-0022/drivers/FTDI USB drivers”. Note that you have to install *two* drivers: one for the FTDI USB bus interface and another for the USB serial port. This should happen automatically.

    If the driver is already listed properly in the Device Manager, right click on the “USB Serial Port (COM?)” entry and select “Update Driver…”. This will start the “Hardware Update Wizard”. Again, the preferred method is to let Windows find the most recent driver. The FTDI drivers supplied with the Arduino 0022 software are not the most current ones, but they should still work. Updating the drivers often solves many installation issues (somehow).

    Once the drivers have been updated, Windows is really, really going to want to be restarted. Please indulge it. Once rebooted, confirm that the “Tools -> Serial Port” selection in the Arduino IDE is set to your USB serial port, and that you’ve got the “Arduino Duemilanove or Nano w/ ATmega328” board selected. If it still doesn’t work, we’ll have to do some more digging.

    I’ll try to get some good information on updating the drivers in Windows 7 this afternoon. In the meantime, please let me know if any of this helps.

  12. Brian says:

    Hi Dale,

    Is there any issues with not using the 12~22pF load caps for the Crystal? I do not see them being used, or mentioned, at all in your article in the Make:25 issue either. Are they really not needed?

    Also, in the article, the reader is only told to buy a 16MHz crystal.
    Are they to know whether to get a Series crystal or the normal 12~22pF parallel loaded crystal? I’m guessing many of the readers do not read the 566 page MCU datasheet and may get stuck at this point.

  13. Dale Wheat says:

    Brian,

    The loading capacitors are simply not needed. There’s more than enough stray capacitance in the circuit to allow the oscillator to start. You’re right about the distinction between parallel and serial mode crystals: the parallel mode is required in this application. You’re also right in your guess about reader not combing the data sheets. Unfortunately, I know professional design engineers that don’t bother to read them, either!

  14. Brian says:

    Thanks! I’ve never tried leaving them off.

  15. Fabian says:

    Hi Dale, concerning the USB thing. I am having the same issue. My board lights up my LED but come time to upload the blink program and I get this:
    avrdude: stk500_getsync(): not in sync: resp=0x30
    avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

    I followed your and the site instructions but got a fail. WIndows 7 was a nightmare but XP did as it was foretold. I loaded the drivers. First Dale Wheat TTL, the the USB one kicked in. It said ready but was not on my device list in either Ports or USB. It then reported an error with ‘USB Device not recognized / malfunctioned’ and I followed your instructions for uninstall and tried but install and got nothing online. It still said good to go but no show on my device list. Then back to malfunction. Everything is plugged nice and snug. I have a mac I will try there and I will also try other usb cables but I’m worried that maybe something is wrong with the board. Will keep fiddling.

  16. Fabian says:

    One more thing. In your instruction/article you mention that the second LED when powered should start blinking before I even begin working with the IDE. It’s not. Could this be my problem?

  17. Dale Wheat says:

    Sounds like a bad USB-TTL adapter. I’ll send you another one today.

  18. Dale Wheat says:

    Well, if you’re sure the LED is connected properly (installed in the right direction and connected to the right pins), then it sounds like there might be some other problem with the circuit besides the USB-TTL adapter.

    First, make sure the chip is installed in the right direction, with the RST and A5 pins right next to the end of the breadboard.

    Second, make sure the power and ground connections to the chip are correct. There is a typo in the printed instructions for the right side connection (they are reversed). The photos are correct. Make sure your jumpers look exactly like the photos.

    Third, the quartz crystal must be connected to the pins marked “XT1” and “XT2”. It just won’t work at all without it!

    If, after double-checking all these things, it still doesn’t work…. then again I suspect the USB-TTL adapter. Just shoot me an email to let me know what’s going on. I can send you a replacement USB-TTL adapter today.

    We’ll get it working! 😀

  19. Ted says:

    Dale,

    What about just selling the PCBs for your USB adapter. I’m assuming you use a PCB “service” and a large run of these could be very profitable. I know that not everyone has the skills to hand solder these, but many, if not most of the MAKE readers do. I know I would love the challenge and be more than happy to source my own parts and assemble it myself. In fact I think I already have half the parts out in my parts cabinet. 😉

    Ted

  20. Dale Wheat says:

    Ted,

    That’s a great idea! What do you think would be a fair price for just the PCB? The components are not expensive. It’s just very tedious and time-consuming to put it all together, program it and test it.

    Anyone else interested in just the PCB? How about for my other products, as well?

  21. Ted says:

    I’d say somewhere in the neighborhood of 8-12 dollars? That seems reasonable for just the PCB.

    Bare PCBs seem to be a pretty good market, I’ve bought TQFP32 breakout boards from Taiwan just so I could make use of 328s in that package size when the DIP28 packages were scarce about a year ago. I’ve also bought PCB only development boards for MCUs. I personally love to solder and sometimes feel like I don’t get to do it enough!

  22. Dale Wheat says:

    Done! Have a look in the store:

    http://www.dalewheat.com/store/

    Thanks!

  23. Ted says:

    I bought one! Thanks Dale, can’t wait to get it up and running.

  24. Bruce says:

    Dear Dale:

    I have assembled your Arduino kit and have plugged it into my Apple MacBook Pro’s USB port to power it up. The preinstalled program on the ATmega 328 makes the LED blink, and everything seems to be working properly. I have downloaded the Macintosh version of the IDE and selected the “Arduino Duemilanove or Nano w/ ATMega 328” board under the “Tools” menu.

    Now the time has come to select the right serial port under the Tools menu. My options are:

    /dev/tty.Bluetooth-PDA-Sync
    /dev/cu.Bluetooth-PDA-Sync
    /dev/tty.Bluetooth-Modem
    /dev/cu.Bluetooth-Modem

    None of these seem terribly promising. Most worrisome is the fact that none of the four options disappear when I unplug the board. I have tried restarting the IDE with the board connected to the computer, and no new options appear.

    I went ahead and tried uploading with each of the four options above, and have verified that none of them work. The first two options yield:

    avrdude: stk500_recv(): programmer is not responding

    while the third and fourth options yield the more fearsome:

    processing.app.SerialException: Serial port ‘/dev/tty.Bluetooth-Modem’ already in use. Try quiting any programs that may be using it.
    at processing.app.Serial.(Serial.java:144)
    at processing.app.Serial.(Serial.java:76)
    at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:75)
    at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:93)
    at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:56)
    at processing.app.Sketch.upload(Sketch.java:1603)
    at processing.app.Sketch.exportApplet(Sketch.java:1568)
    at processing.app.Sketch.exportApplet(Sketch.java:1524)
    at processing.app.Editor$DefaultExportHandler.run(Editor.java:2293)
    at java.lang.Thread.run(Thread.java:680)
    processing.app.debug.RunnerException: Serial port ‘/dev/tty.Bluetooth-Modem’ already in use. Try quiting any programs that may be using it.
    at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:99)
    at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:93)
    at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:56)
    at processing.app.Sketch.upload(Sketch.java:1603)
    at processing.app.Sketch.exportApplet(Sketch.java:1568)
    at processing.app.Sketch.exportApplet(Sketch.java:1524)
    at processing.app.Editor$DefaultExportHandler.run(Editor.java:2293)
    at java.lang.Thread.run(Thread.java:680)

    I have tried quitting all other known programs that might be using the serial ports, to no avail.

    When I open up the Apple System Profiler, I see the following entry under “USB”:

    Dale Wheat’s USB to TTL:

    Product ID: 0x6001
    Vendor ID: 0x0403 (Future Technology Devices International Limited)
    Version: 6.00
    Serial Number: DWU4X2NV
    Speed: Up to 12 Mb/sec
    Manufacturer: Dale Wheat
    Location ID: 0xfd130000
    Current Available (mA): 500
    Current Required (mA): 500

    So the computer definitely recognizes the device, but I do not see this reflected in the pull-down menu of the IDE. I have looked in:

    http://www.arduino.cc/en/Guide/Troubleshooting#toc1

    and there is nothing that seems to address the above issue. Any suggestions that you or others might provide would be most welcome.

    The kit is most enjoyable, and I am learning much from it. Thank you for making it available!

    Best regards,
    Bruce

  25. Dale Wheat says:

    I don’t have a Mac, so I’ll have to try this out on someone else’s computer this week. What I do know is that on Windows systems, the FTDI driver is composed of two parts. One part is the driver for the USB interface (this is the one that is labeled “Dale Wheat’s USB to TTL”, that seems to be configured correctly on your computer). Another part is the serial port driver, where the device is listed with the other serial ports available on the machine. I don’t know why they (FTDI) chose to do it this way, but here we are.

    It looks like only one of the drivers is working on your computer. Can you try removing it and allowing it to re-install itself? How this happens on a Mac (or in Linux, for that matter) is a complete mystery to me.

    Also, after reading the rather extensive trouble-shooting guide on the Arduino web site, I’m wondering if your Bluetooth software might somehow be interfering with the proper enumeration of the serial port. Is there any way you can temporarily suspend its operation and try the Arduino upload again? It might be using the virtual serial port to monitor what it thinks is a Bluetooth device, making it unavailable for use with the Arduino IDE. Sadly, I’m completely guessing at this point.

    I will find someone with a Mac this week (probably Tuesday) and try to learn more about how it’s supposed to work, and get back to you.

    If anyone else has Mac-specific knowledge of this issue, I’d really appreciate hearing from you!