USB Controlled Microcontroller

Hi, i'm new to microcontrollers and I want to make a Usb powered and controlled 5 x 20 Led array using charlieplexing, and I have a few questions: - Is there only 1 led on at a time when charlieplexing? - What microcontroller should I use? - Is there a good instructable on connecting a USB to a microcontroller? (i've searched) - Does anyone have a suggestion for a programmer. Thank You, Sander

sort by: active | newest | oldest
westfw9 years ago
There are FIVE instructables on charliplexing:
https://www.instructables.com/id/How-to-drive-a-lot-of-LEDs-from-a-few-microcontrol/
https://www.instructables.com/id/5x4-LED-display-matrix-using-a-Basic-Stamp-2-bs2/
https://www.instructables.com/id/3D-LED-Charlieplex-Cube-from-Chrismas-Tree-Lights/
https://www.instructables.com/id/Charlieplexing-LEDs--The-theory/
https://www.instructables.com/id/Charlieplexing-7-segment-displays/

You have several choices for USB connectivity:
  • A microcontroller like the PIC18F4450 that has special purpose built-in USB peripherals.
  • A conventional microcontroller that "bit bangs" USB entirely in software. (The only things I've seen along these lines is for Atmel AVRs. See AVRUSB)
  • A conventional microcontroller with an external USB peripheral chip. While it may be depressing paying more for the USB chip than the microcontroller, this has the advantage that the chip vendor may provide PC-side drivers that connect easily to software by pretending to be a serial port. The FTDI chips are very popular for this, and they have drivers for ALL popular OSs.
See also this How to Choose a Microctroller Instructable. Be sure to read the comments!

If you're starting out from scratch, you could do a lot worse than to buy one of the Arduino products or "Freeduino" clones. By default they are self-programming (no additional programmer required, include USB connectivity (via FTDI "serial" chip), and include a LOT of online support and tutorials. There's even This instructable on Charlieplexing using arduino. They sell for $25 to $35 or so for a version with the USB chip (some cheaper semi-clones omit USB connectivity...)
svkatwijk (author)  westfw9 years ago
I know there are multiple Instructables on charlieplexing, and I've read them all, I just still don't understand if there is only 1 led on at a time or if I just don't understand correctly. Also, I've been watching that PIC18F4450 you mentioned, it will suit my needs and leave room for expansion. But it also raises a question: There are a lot of variants, like -I/ML, -I/P, -I/ML, -I/PREL, -I/PXXX. What do these things mean? Thank you, Sander
As you discovered (but for the information of other readers), the extra letters at the end of Microchip part numbers designate packaging and temperature ranges. That isn't true of all microcontrollers; for instance the Freescale parts put most of the details there, so a 68HC908KJ1 is MUCH different than 68HC908QT4...
svkatwijk (author)  svkatwijk9 years ago
Sorry, can't edit my post, already know what the variants are. Still wondering about the 1 led on at a time thing though. Thank you, Sander
I'm not sure. It seems to me like you should be able to do a full row at a time unless you're using bi-directional LEDs or similar, but I've seen references claiming that you can be subject to "ghosting" through hidden current paths if you do more than one at a time...
gmoon svkatwijk9 years ago
Yeah, charlieplexing is a form of demultiplexing, and only one LED is lit for a given state of the output pins.

However, one can cycle quickly through different states so it appears multiple LEDs are lit... Your POV does the rest.
svkatwijk (author) 9 years ago
Absolutely no-one has a recommendation for a microcontroller or knows anything about charlieplexing? I found out it's easier to connect it to a serial port, is it possible to receive the power off the serial port too, or do I need to use a usb port for that (separately)? GreetZ DePeer
I (personally) recommend AVR microcontrollers (cause I've tried PIC and I could never get it to work) and I use this programmer:
http://cgi.ebay.com/AVR-ISP-Programmer-Compatible-With-Atmel-STK-200-300_W0QQitemZ130202441672QQihZ003QQcategoryZ4661QQrdZ1QQssPageNameZWD1VQQcmdZViewItemQQ_trksidZp1638Q2em118Q2el1247

As for charlie plexing I think you can get multiples by using a combination of what pins are acting as ground or Vcc and by quickly blinking them so it seems continuous.