Fixing the Mac Lilypad USB Serial Port/Driver Issue

4,292

10

5

Introduction: Fixing the Mac Lilypad USB Serial Port/Driver Issue

As of 2016, is your Mac less than 2 years old?

Have you recently upgraded to the newest OS (Yosemite or anything newer)?

Do your Lilypad USBs/MP3s no longer work?

My tutorial will show you how I fixed my Lilypad USBs.

The error I encountered was related to a serial port/driver issue. I spent at least ten hours working on this, and was only successful when I sat down, focused entirely on the task at hand, and tried everything over half a day.

I've gone ahead and listed everything I did, since your specific problem may differ from mine. It may take some time to do all the steps, and you're more likely to succeed if you can devote a few hours to solely focus on troubleshooting, as I did.

(For the sake of brevity, Lilypads will henceforth be called "LPs.")

Step 1: This Error Has Been Seen in Many LPs, But...

It's more likely to affect the LPs that are made in China.

Arduino boards (including the LP) are made in multiple countries, including Italy and China. The Italian/EU boards are usually the highest quality, and Chinese boards are probably best described as clones which can be good, but are often made with cheaper materials and lack pre-loaded drivers. It's important to note that Arduino is fully open-source, so Chinese boards aren't actually counterfeit, and are usually significantly cheaper.

I'm a student, I'm not rich, and I needed multiples that might be expendable, so I ordered several Chinese-made boards off Amazon Prime for around $16.00. That's about half the price of a LP sold from Sparkfun.com!

The more "official" Sparkfun Arduinos are more expensive, but they have better quality control, since they use higher-end components and usually come with the correct drivers preinstalled. So if you're pressed for time you may want to consider buying your components from Sparkfun or a similar retailer. (Note that some Sparkfun boards have also presented with driver issues, but overall they're more reliable.)

You can also get LPs even more cheaply from sites like AliExpress.com, but be prepared to wait weeks—or even months—for shipping and customs clearance. You also have less recourse if these boards are defective. For example, it's easy to return defective boards purchased from Amazon or Sparkfun, but it's usually nearly impossible to return imported boards. Despite this, I plan to order components directly from China soon; just be aware that it's riskier.

Basically:

Sparkfun and other established sellers of boards manufactured in the EU:

  • Most expensive
  • Fast to moderate shipping time (usually not free)
  • Usually the fewest technical issues (but still prone to some)
  • Decent to good customer service for defective boards

Amazon and other American resellers of boards manufactured in China:

  • Cheap to moderately priced
  • Fast to moderate shipping time (often free or very cheap)
  • Possibly some technical issues
  • Decent to good customer service for defective boards.

Chinese manufacturers or Chinese resellers on sites like Alibaba/AliExpress:

  • The cheapest
  • Moderate to slow shipping time (shipping times and costs vary)
  • Most likely to have technical issues
  • Everything from appalling to good customer service if your board is defective
  • Look for sellers who have good feedback on sites like AliExpress

Step 2: Is It Plugged In?

  1. Make sure that the LP is plugged into your computer with a working Micro USB cable. At least one light on the LP should be on (like in the photo above), indicating that the LP is receiving power.
  2. If there's no light, then you have a USB port issue on your computer, a broken cable, or a broken LP board. Check for all 3 by using different cords, ports, and a different LP—if you can get one.

Step 3: Make Sure You've Selected the Right Board Options Within the Arduino Menu

See the above photo for how to find this section of the menu. You want to select the "Lilypad USB" option. The other Lilypad option is for the older board which doesn't have a built-in USB.

Step 4: Can You See the Correct Port?

Here we can see only one port, the Bluetooth port.

This is bad. :(

Your LP needs another port. When your LP is connected properly you will see a port named with some variation of "Lilypad" (or a numerical string for the Lilypad Mp3).

Until you find the correct port, your computer and LP can't talk to each other, and you won't be able to upload code on the LP. :(

Step 5: What Cables Are You Using?

  1. What kind of cable are you using? (In my experience LPs are VERY fussy when it comes to cables.) It MUST be a cable that's capable of sending and receiving data. If you've used your cell phone cable to sync data with your computer then that cable is probably OK (although this isn't always true).
  2. Many Micro-USB cables only transmit power. These cables will not allow your LP to connect with your computer and vice versa! Use a reliable, tested DATA cable!
  3. None of the above cables work for my LP. The short white and black ones are power-only Micro-UBS cables. They do not transport data effectively, if at all. The long grey one is a data cable which syncs data with my cell phone, but surprisingly cannot sync with my LP. This is why you need to try multiple data cables.
  4. When using a power cable with your LP you will see a light (usually only one), but you will get a port error with cables that can't support data. See the two pictures for examples of a screen with port errors in both the menu and terminal. Using power-only Micro-USB cables isn't the only issue that causes this error, but it's a common one.
  5. Two lights can be an indication that the LP is syncing, but this is far from always true.

Step 6: This Cable Works!

The above cable, a Samsung Micro-USB data cable, was the only cable in my collection that worked for my LP. I've included pictures showing the model number if you want to try and order this cable and see if it works for you.

Again, both lights on the board will usually be on (or at least blinking) when the board is connected properly.

After finding a cable that worked, I made sure to mark it with silvery paint and keep it with my LPs. You might want to similarly tag your tested/preferred cable.

Step 7: Did a Valid Cable Fix the Issue?

  1. If you have the correct cable you should see the port listed, as shown in the terminal screenshot. This is GOOD. Your LP should now be working. :D
  2. If you're still seeing an error—and you're certain you're using a proper data cable—you can next try pressing the reset button on your LP by finding the little brass button I'm pointing to in the photo. Press it Once and hold down for a few seconds.
  3. You can also try pressing the reset button TWICE in quick succession, which will initiate the bootloader.

If you still can't find the port go to the next step.

Step 8: Install the FTDI Drivers

It's pretty straightforward. Click the driver link below and download the appropriate driver, which will probably be the 64 bit for Mac. The 32 bit would likely work too.

FTDI Driver Link Click the link and download the file for Macs. Find the file (it's a .dmg file as shown in the screenshot above), click on it, and it should then install automatically.

If you have any trouble this site gives a good explanation: How to install FTDI Drivers

Try installing both versions (VCP and DFXX).

You can then try closing Arduino and/or restarting your machine. Open Arduino and see if you can find the correct port for your LP.

Still not working? Go to the next step.

Step 9: Still Not Working? Try Burning Your Bootloader.

You can also try burning the bootloader, as shown in the terminal screenshots above.

Even if you get a burn bootloader error, I've found that just trying to burn it can fix your board.

The last screenshot shows me changing the programmer options, which can also help when trying to burn the bootloader. Feel free to try them all, but remember which one(s) are usually used for your various Arduino devices.

I hope that my tutorial helped you fix your LP.

However, if it's still not working, and you're unable to burn the bootloader, then you may need to fix your bootloader. Instructables has several great tutorials on this, which are easily searchable.

Step 10: Hopefully One of These Steps Helped You Fix the Issue...

Thanks for reading!

Be the First to Share

    Recommendations

    • Battery Powered Contest

      Battery Powered Contest
    • Plywood Challenge

      Plywood Challenge
    • Plastic Contest

      Plastic Contest

    5 Discussions

    0
    Christian KevinA
    Christian KevinA

    2 years ago

    The following method is in case the method described in this post doesnt work, by the way I am using Ubuntu 16.04.

    Sometimes is not a matter of cable. I was programming at register level and I messed up with some variables and after uploading that program and I couldnt upload anything anymore in the Lilypad USB, so I thought I burnt something (I didn't), not even reset button worked. The thing is that I messed something up that interferes the USB and the reset button that it cannot be recognized by the PC. the simple solution was doble click on the reset button and this action loads (actually forces) the bootloader. Here you have to be fast cause that bootloader only stayss by 8 secods (i think) during this time you upload your new program, could be a dummy one, like blinky or something and this new condiguration will correct that register. That's it.

    0
    LeAnne_K
    LeAnne_K

    3 years ago

    I find the pictures showing the model of the USB cable are too small to make out. Do you mind writing it out please?

    0
    elleobot
    elleobot

    Reply 3 years ago

    I have moved, so I don't have access to that cord right now, since it's tucked away in storage somewhere.

    I'd recommend buying a legit data-enabled cord from a legit Samsung supplier and seeing if that works.

    Good luck!

    0
    wold630
    wold630

    4 years ago

    Nice! Thank you for posting this!

    0
    elleobot
    elleobot

    Reply 4 years ago

    Thanks!