Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
Hardware Hacking Graphics Open Source Hardware Build Linux

Micro-SD Card Slot Abused As VGA-Port 77

dvdkhlng writes "The Ben NanoNote open-source hand-held computer has often been criticized for not being very extensible hardware-wise. A community effort now starts to challenge this by shipping the so-called UBB board, which plugs into the micro-SD port, making 6 I/O lines available to hardware hackers. The most impressive use so far is this VGA port implemented by just a few resistors, with signal-generation mostly controlled by software. The guy who did this calls it an 'unexpected capability.' Schematics and source code are available under the GPL."
This discussion has been archived. No new comments can be posted.

Micro-SD Card Slot Abused As VGA-Port

Comments Filter:
  • But I couldn't fit my floppy in the Micro SD slot now its traumatized and won't work anymore.
  • by shoppa ( 464619 ) on Saturday May 07, 2011 @09:34AM (#36055970)
    Don Lancaster did a pretty good job explaining raster-scan-generated-by-cleverness-of-using-main-CPU in the Cheap Video Cookbook []. Back in 1978.

    So slashdot is about, oh, 33 years late :-).

    • by Anonymous Coward on Saturday May 07, 2011 @09:59AM (#36056056)

      The concept is as old as time. There are also lots of similar VGA out implementations for various microcontrollers, FPGAs, etc. What's new here is that the MMC controller is used to send out the pixels, which a) allows for a comparably high resolution, b) makes the operation reasonably efficient (i.e., in the future, it may even be possible to do other things in parallel), and c) hides some of the complexities of instruction timing in modern CPUs, with caches, DRAM, multiple bus masters, etc. Within the qi-hardware community, it was also a nice surprise to discover that our little Ben could actually do this.

      • Re: (Score:3, Informative)

        by dvdkhlng ( 1803364 )
        BTW, this mailing-list post [] contains all the details about how the MMC (SDIO) controller is used here. An earlier version [] relied on doing bit-banging with the MMC lines programmed as general-purpose I/Os, but didn't even reach QVGA resolution this way.
      • by Osgeld ( 1900440 )

        just what do you think a MMC controller is really doing? its nothing special, some data lines and a clock, stick it in SPI mode with a 25MHz clock and you have most of what you need for a raster line display

    • by DarkOx ( 621550 ) on Saturday May 07, 2011 @10:24AM (#36056144) Journal

      Well the technique was pretty darn common in the 8 bit home computer era. So you are right in that this is not novel, but it shows its still a good method to add video to hardware that the manufacturer maybe never intended to have video out. I think this is a pretty good "News For Nerds" post even if its strictly New(s) that you can do this. I think it might be an interesting technique to apply in things like Rockbox and plug computers, as well.

    • Don Lancaster (Score:5, Interesting)

      by Anonymous Coward on Saturday May 07, 2011 @11:17AM (#36056412)

      "Cheap Video Cookbook" is exactly what came to mind when heard about the VGA port (I have a Ben Nanonote and subscribe to the mailing list). I enjoyed Don Lancaster's books so much when I was a kid. He taught me not to be afraid of a soldering iron. He showed me how to disassemble software. But mostly, he explained hacker values better than anyone.

      In one of his columns, he told the flute story, and it always stayed with me. I became a teacher in College ten years ago, and I always repeat this story to my students. Here it is.

      "Many years ago, I was at a rock concert. The opening act was a single flute player standing solo in front of the closed stage curtains. His job was to warm up the audience for the high priced talent that was to follow. He was good. But as he went along, the musical vibes got stranger and stranger, then totally bizarre. He was playing chords on his flute. Combined with utterly unbelievable riffs. Much of the audience got impatient and bored at what seemed like a bunch of god-awful squawks. Then I happened to notice a friend beside me who had both been in and taught concert band. He was literally on the edge of his seat. He turned to me and slowly said 'You Can't Do That With a Flute.'

      Of the thousands and thousands of people in the theater audience, at most only five realized they were witnessing a once-in-a-lifetime performance of the absolute mastery of a difficult and demanding instrument.

      Always play for those five."

      • 5 sounds overly optimistic, I'd say at most 1 or 2.

      • by am 2k ( 217885 )

        Always play for those five."

        While I understand your philosophy, I don't quite see it that way. When only 1% of your audience understands what you're presenting them, you have completely failed to consider your audience when planning your performance, which is actually the most important thing.

        I'm in software development, and it's the same thing: My audience doesn't care whether I created perfectly clean code for my implementation, so why should I? There has to be some other benefit to it.

        It's the same in hardware marketing: The people

        • by SpeZek ( 970136 )

          The people don't care whether the computer has a CPU with 3.2GHz or 2.8GHz, so why advertise that?

          Intel would care to disagree.

          • by am 2k ( 217885 )

            Intel would care to disagree.

            I guess that's why they nowadays give their processors fancy names like Pentium, Itanium, Core Duo and i7 instead of 80386/33, 80486/40, 8088?

            Besides that, Intel's main customers are large companies like Apple and Dell. They do care about the specs, but they're not what I'd call "people".

            • by Anonymous Coward

              Intel changed their processor names to get better trademark protection.

            • Corporations are people too!

              I have a dream where Americans are judged by their abilities, not the number of individuals that make them up. Where a Corporate American can run for President and - thanks to the votes of other Corporate Americans - win.

              When President Microsoft and Vice President Haliburton take office my dream will be fulfilled.

            • by Threni ( 635302 )

              Intel advertises on the TV all the time in the UK - an odd way to reach `large companies like Apple and Dell` if that were their aim.

          • Intel would care to disagree.

            No they don't. That's why my processor is called the Intel i7 920.

            I don't even know what speed the i7 920 is... and I'm a huge nerd. I could look it up, but it's certainly not "advertised".


            • That's a pretty nice processor, and you bought it separately so installed it yourself - assuming that's actually your box. At that level, it's almost a given that you know everything about the product by the time you walk in the door. That is, you don't walk in, say "I want that one", and spend $340 (if you did, most don't). You would've been pretty familiar with it beforehand - in the same way that a Lamborghini doesn't advertise its horsepower, since the target audience knows more about the car than you c

        • by AJWM ( 19027 )

          My audience doesn't care whether I created perfectly clean code for my implementation, so why should I?

          In your case presumably the audience can never see how clean (or not) your code is, so perhaps the point is moot. (Might be different if you're writing open source -- in which case most of the users will still never look at the code, but a few will.)

          In the flute-player's case, it was all exposed for the audience. Sure, only a few appreciated it. But if you are truly skilled at something, don't you want

          • Re: (Score:2, Offtopic)

            by am 2k ( 217885 )

            I write hard SF. I go to great effort to get details right, although I know most of my readers will neither notice nor care. As long as I entertain them, that's fine -- and it's important that the details don't get in the way of that entertainment. However there are a few who will notice, who may even do the math. They're the ones I take that extra effort for.

            Being a big fan of hard SF and very technically-minded myself, I appreciate your attention to detail, but be aware that you're doing that mostly for your own peace of mind. For example, there are so many faults in the Harry Potter series that somebody even wrote a whole book about that (called Harry Potter and the Methods of Rationality []), and see what disaster it meant to J. K. Rowling's sales.

            • by AJWM ( 19027 )

              A fair point, and yes, I do it because I want to -- and readers like you who do appreciate the effort. I know there are other writers, some quite prolific, who take the attitude "it's fiction, for crying out loud, just make stuff up!". Yeah, no.

              If I ever get that desperate it'll be under a pen-name. ;-)

              (Not that I'm above tweaking a detail for the sake of the story, but I'll try to keep that to the realm of "not proven" rather than "known false".)

          • Completely off-topic - but I love hard SF. I see you've got quite an extensive bibliography [] - for someone who is unfamiliar with your work, where would be a good place to start. Kindle eBooks preferred for the instant gratification factor, dead trees will be considered though.

            • by AJWM ( 19027 )

              Thanks for asking. I don't want to spam Slashdot, so I'll send you an email. Or search Amazon for my author page (Alastair Mayer). All short stuff and collections so far, a couple of novels are in the works.

          • I would say the exact opposite. Nobody cares how clean your code is--but you do.

            I've seen a lot of brilliant products die because as it grew it hit the limit of what people could do with it. The products I've seen last decades aren't the same code as when they started but they did share an ease of accessibility in implementing new things.

            So don't create for the 5 people in the audience. Create for yourself. Do it because it makes your life easier or excites you. Then you'll probably find an entire au

            • by AJWM ( 19027 )

              Good point, and I'm sure that flautist was performing for himself as well as the five. (And I agree with you on the software front too -- having done a couple of decades in software development myself.)

        • They do depending on their needs.

          Most people who just run Word and Firefox look for quality and price and maybe features like BluRay if they watch movies on a laptop. Gamers. multimedia creators, and the wealthy still look at those specs. Millions of us including most slashdotters do because we use more CPU than an average user.

          If a 3.0 ghz is at the same price as a 2.8ghz then the average consumer will take notice and get the 3.0 ghz system.

          Ghz is still important but the average Joe is correct that a i5 is

        • by mrjb ( 547783 )

          My audience doesn't care whether I created perfectly clean code for my implementation, so why should I?

          Because your audience isn't just end users.
          In rock band terms, the flute player doesn't only play to the radio audience, but also to fellow musicians.

          Likewise, your audience isn't just your users, it's also the future maintainers of your software.

          After you've made your fortune, and you are lying on a beautiful white-sand beach beneath palm trees with a long drink served by a beautiful native, give a tho

      • Re: (Score:3, Interesting)

        by Anonymous Coward

        Did you read the story in the paper about Joshua Bell, one of the world's top violinists who dressed up as a bum and played the violin for day in the subway system? There was a similar moral to the story: some people took notice and went on their way, most didn't and a very few (I think the # was also 5) stopped and stayed to listen. Only one of those who stayed recognized who the musician really was.

        link to story:

    • If the hardware can pump out the data fast enough for a tolerable refresh rate, it might be worthwhile to make a fancier version of this VGA interface that could deliver better color depth. Take multiple clock cycles to load portions of data for each RGB pixel into something like two-stage latches, with the outputs of those driving the resistors that act as a D/A converter. 6 bits per RGB component would probably be tolerable. If one settled for 5, each 16 bits transferred would include one extra for cons

    • Don Lancaster did a pretty good job explaining raster-scan-generated-by-cleverness-of-using-main-CPU in the Cheap Video Cookbook []. Back in 1978.

      So slashdot is about, oh, 33 years late :-).

      "Don Lancaster"! There's a name that brings back memories of delving into 6502 machine coding in my high school years...or are they nightmares?

  • Nice, but... (Score:4, Insightful)

    by luvirini ( 753157 ) on Saturday May 07, 2011 @09:38AM (#36055994)

    While the GPL part is nice, and hack can be fun, the question still arises why start with such a limited platform in the first place if you have the need for more?

    • Re:Nice, but... (Score:5, Insightful)

      by pvera ( 250260 ) <> on Saturday May 07, 2011 @10:02AM (#36056070) Homepage Journal

      Because it opens the possibilities of other "unexpected" hacks that people can't visualize simply by looking at the available ports for a given device (not just the one in the article). If you can plug that thing into the microSD port and make it talk to VGA with 10 resistors and a bit of software, it means you can probably use microSD as a connector on other devices knowing that the connector and board are not only dirt cheap but open.

      • My brother's Android phone didn't have any video output ports. With something like this, he could use the microSD slot to connect it to the television's VGA port.
    • Re:Nice, but... (Score:4, Interesting)

      by cfriedt ( 1189527 ) on Saturday May 07, 2011 @10:02AM (#36056072)

      It's often ___immeasureably__ useful to get some (any) kind of console output when porting Linux to an existing device running e.g. windows mobile 5 or 6. Take a look at HaRET []. Porting is often harder than most would imagine, as some manufacturers actively use hardware obfuscation methods to prevent hacktivists from getting console access.

      Try to imagine how long it would take to use LEDs or haptic feedback to iteratively check all conditions required to bring up Linux on a board without a serial port. The first thing you would probably do is try to use a hardware subsystem that was known to work and fashion a serial port out of it. This is the same concept but graphical.

      Great work!

  • Just this morning I finished turning my VGA port into a micro-SD card slot. Now I can't submit my story to /.
  • I don't remember the details, but this device came out a few years ago. Only difference between MircoSD and SD are a few ground pins, right? The margi probably used a ucontroller for the signal generation, now that devices are more powerful, the software implementation is now plausible.
  • by Anonymous Coward

    Micro-SD Card Slot Abused As VGA-Port

    Finally! A slashdot headline I can agree with.

  • by udippel ( 562132 ) on Saturday May 07, 2011 @10:27AM (#36056158)

    A community effort now starts to challenge this by shipping the so-called UBB board, which plugs into the micro-SD port, making 6 I/O lines available to hardware hackers. The most impressive use so far is this VGA port implemented by just a few resistors, with signal-generation mostly controlled by software. The guy who did this calls it an 'unexpected capability.' Schematics and source code are available under the GPL."

    Open Hardware; not the Open Software, is relevant in this project.

  • This was more significant in the pre-USB 2.0 era. It's now possible to get USB interfaces to almost anything. It used to be that your choices were a serial port, a parallel port, a data acquisition board, or custom hardware. Now there's usually some inexpensive USB device that will do the job.

    It's hard to find low-cost devices which provide 50MHz digital in/out ports. There are lots of USB to digital I/O interface devices, but only a few can reach even 40MHz. If you don't need that much speed, though, a

    • For a tiny integrated machine, it matters.

      If you're running it headless and need it as small as possible, having the display double as something else is huge.

  • Abused? (Score:4, Insightful)

    by PPH ( 736903 ) on Saturday May 07, 2011 @02:01PM (#36057526)

    Why abused? Re-purposed sounds more accurate.

    I've used a lot of 'ports' for functions not originally envisioned in their design (Rule 34 applications included) and its only abuse if you don't get permission first.

You know, Callahan's is a peaceable bar, but if you ask that dog what his favorite formatter is, and he says "roff! roff!", well, I'll just have to...