Arduino Video Over 2 Wires for Under $50: Mesa-Video

If you want video support on your project, you might start from a device like a Raspberry Pi that comes with it built in. [Kevinhub88] doesn’t accept such compromises, so he and his Black Mesa Labs have come up with a whole new way to add video support to devices like the Arduino and other cheap controllers. This project is called Mesa-Video, and it can add digital video at a resolution of up to 800 by 600 pixels to any device that has a single serial output.

The video is created by an FT813, a low cost GPU from FTDI that offers a surprising amount of video oomph from a cheap, low power chip (he has demoed it running from a lemon battery), meaning that he is hoping to be able to sell the Mesa-Video for under $50.

UPDATE: [KevinHub88] let us know that he didn’t actually power the device from a lemon battery, as you would need a lot of lemons to make 50mA at 5V. Apologies for any confusion!

However, Mesa-Video is just the beginning. [Kevinhub88] wanted to get around the problem of stacking shields on Arduinos: add more  than one and you get problems. He wanted to create an interface that would be simpler, faster and more open, so he created the Mesa-Bus. This effectively wraps SPI and I2C traffic together over a simple, fast serial connection that doesn’t require much decoding. This means that you can send power and bi-directional data over a handful of wires, and still connect multiple devices at once, swapping them out as required. You could, for instance, do your development work on a PC talking to the prototype devices over Mesa-Bus, them swap the PC out for an Arduino when you have got the first version working in your dev environment. Is the Arduino not cutting it? Because Mesa-Bus is cross-platform and open source, it is easy to swap the Arduino for a Raspberry Pi without having to change your other devices. And, because all the data is going over a simple serial connection in plain text, it is easy to debug.

It’s an ambitious project, and [Kevinhub88] has a way to go: he is currently working on getting his first prototype Mesa-Bus devices up and running, and finalizing the design of the Mesa-Video. But it is an impressive start and we’ll be keeping a close eye on this work. Hopefully he can avoid that head crab problem as well because those things are as itchy as hell.

60 thoughts on “Arduino Video Over 2 Wires for Under $50: Mesa-Video

  1. > [Kevinhub88] doesn’t accept such compromises,

    I definitely see the use case for the devices shown; however, at a 50$ price tag, using a goddam pi or any other linux board, and optionally getting rid of the Arduino on the way *does* sound kind of interesting, doesn’t it? Especially when the arduino zero pro used here would add another 50$ to the bill… Hell, for 75$, I can get [pretty much bang for the buck](http://www.hardkernel.com/main/products/prdt_info.php?g_code=G143452239825&tab_idx=2), including HDMI output; oh, and that output can talk to practically all customer HDMI screens in their native resolution (I don’t think you can even buy HDMI screens with 800x600px anymore).

    Seriously, it’s time for the embedded tinkerer community to come to terms with finding the appropriate tools for each job. Want digital color video on a customer panel, easily programmable to do everything you want in any language that you can run or compile to run on a linux on ARMv7? –> Rasperry, BananaPi, Odroids, smartphones.

    Throw on twenty lines of python, and be done with it. 90% (number based on arbitrary feeling of gut and because it fits my argument) of applications done on an arduino can be done with Linux-mediated GPIO pins, too, especially if you have a CPU core to spare.

    Want a small chip that goes into your clothing or can run off a battery for weeks? Get something with a Cortex M0, and don’t limit yourself to Arduinos, unless you want to make use of existing codebase.

    Building something to feed video from an arduino that takes more power than the arduino to a display that needs even more power? That’s fine, but let me call it Frankendesign.

    1. This has got me thinking, when the arduino turned up we all said it was overkill just use X (pic usually but equally atiny).
      In the earlier days of the PIC we’d say “waste of a pic” you could do this with some shift registers (see LFSR reently for this).
      I wonder if this goes all the way back to, “bah! what a waste of a thermionic valve!”

      1. That would suggest that the PIC is somehow lower performance than the AVR… Where the fuck do people get these silly ideas from. The aruduino came about after microchip was dominating the microcontroller world. But the AVR it uses isn’t anymore power than a PIC. Seeing how PICs come in way more flavors, you get on chip peripherals that the AVR simply doesn’t have. AVR is NOT > than a PIC

        1. Maybe he thinks it’s underpowered because PICs need each instruction to go through a pipeline that takes about 4-5 clock pulses, while AVR can do most instructions in 1-2. But yeah, just because something doesn’t fit most applications doesn’t mean it’s underpowered.

          1. Also, the AVR was designed to run C code efficiently, PIC not so much. Oh, and Atmel support the use of the open-source avr-gcc compiler, whereas Microchip want you to pay through the nose for their proprietary compilers (which used to be based on gcc, but with a license manager bolted on)

    2. I’d have to agree. You can almost get a whole Linux board setup for the same in investment in all this. The Linux setup would be more capable and also easier to work with. I could see if this was for a specific application, which it may be, but not for general use. I do have to say that I know you are taking on a quite difficult project and I do wish you luck but my recommendation is to do this one for fun unless you can get those board prices down.

    3. Linux & RPi isn’t hard real time, so things like moving multiple stepper motors or bitbanging some serial protocol in a deterministic fashion isn’t possible except through some sort of convoluted DMA hack. It may work, but it will have glitches that are hard to diagnose and potentially impossible to prevent.

      The GPU in this device on the other hand supports text, simple draw commands, and loading PNGs and JPGs into a 1 MB internal memory, so you can have a nice looking DRO or other user interface with a very simple controller without having to go through the trouble of setting up and programming in an RTOS environment, or bothering yourself with Linux just so you could use Python to make things “simple”.

      It’s function is more like substituting the stereotypical HD44780 LCD for output with a HDMI/DVI compatible monitor, which opens up a lot more possibilities with simple and robust hardware.

    4. $50 is the estimated MSRP in low volume. The actual BOM is $25. Better solutions for embedded development with video exist ( RaspPi, BeagleBone ) but aren’t as easy to develop embedded apps on as Arduino. Idea behind Mesa-Video is to add video to an existing $5-$20 MCU project like an Arduino Pro Mini. Arduino’s are very simple to get started with ( like the STAMP Basic before it ), low power, low size.

          1. That’s not bad at all, then. I couldn’t find the FT812 or even the FT810 (FTDI says they made those) and thought the chip might be $30 or more in singles. Since you have the FT813s, what other devices are needed in circuit to support it? *digging for hints at the circuit design*

          2. Here is the block diagram https://blackmesalabs.files.wordpress.com/2015/08/mesa-video.png . The whole circuit will be OSH just as soon as I locate a company willing to build and distribute it. BOM estimate is basically $5 FPGA + $10 GPU + $10 HDMI with all the little stuff rounded into those numbers. Judging by a lot of these comments, maybe I should sell it as a kit for $25 and let people solder the 0.5mm pitch QFNs themselves and save $25.

    5. Wow, some of those Odroid platforms look pretty impressive – even the “entry level”, at less than $40, C1+ packs a quad-core A5 at 1.5GHz, 1GB RAM, GPU with a full-size HDMI and 40 GPIO pins. They certainly look a lot more capable than the RPi2 for about the same price.

    6. Saw the orangepi mentioned on reddit. They are selling it for $15 on Aliexpress.
      Allwinner H3, Quad core, 1GB RAM, Ethernet, RPi compatible I/O connector etc

      http://www.orangepi.org/

      The other cheap alternative is the ESP8266 at less than 10X price. Make a webpage for the graphics, then your mobile device/tablet/desktop can be the *wireless* debugging terminal.

      1. Haven’t there been some FPGA based HDMI overlay projects on HAD before? It’s not, be strict definition, simple but if someone else has designed the VHDL/Verilog to overlay your data onto an HDMI signal then a small fpga taking input from a micro doesn’t qualify as hard, either.

  2. I have to say the same for both comments up top. Sorry.
    But saying that there has to be a cheaper solution to this video problem for little boards.
    I am no designer but there must be something out there that is super cheep.
    I don’t know if this help anyone out there but there use to be a little board that I added to the coco 2
    that gave it CGA out put it had one chip on it. I’m wandering if this would help anyone to put something
    together. I know there is a big difference between CGA and VGA.

    And Scrap any FTDI chips. they have done nothing but cost me money. I have to many things that are scrap now.
    even after I did the fix.

      1. Thank you for the adulation. So for $10 less, I can simplify my design and make it FPGA+HDMI only ( cutting out the FTDI GPU ). I actually have a prototype of this already as the “Duino-HDMI” shown here https://blackmesalabs.wordpress.com/2015/03/24/duino-hdmi/ . This design is pre-Mesa-Bus and uses a Xilinx Spartan6 FPGA ( XC6SLX9-2TQG144C ) which is $16, versus $5 for the smaller Lattice FPGA. The FTDI FT813 does everything my home grown GPU did and more, so I tossed my BML GPU design for this new solution. It is technically superior and fits within the 1″ width budget of the Mesa-Bus.

    1. Was probably a 6845, standard video chip in a lot of 8-bit designs, and indeed the CGA. Problem is, it requires maybe 8K of RAM, sometimes more or less, depending on the colour depth and resolution you want. Microcontrollers don’t have the RAM, or a bus to access the RAM directly, like 8-bit computers did. This solution is more intelligent than just a video chip, it has the RAM and a controlling computer built in.

      Unfortunately as others have pointed out, so does a Raspberry Pi, and you could connect that through a serial port to an Arduino too. And you wouldn’t need the Arduino!

      1. I was actually inspired to do this project reading about people using RaspPi as a video-slave for an Arduino. Clap trap comes to mind. I like RaspPi’s – they are Linux workstations for $25 which is pretty amazing. A standalone GPU they are not. You will also notice they are single sourced. My goal with working with Arduino’s is that anyone ( myself included ) can design and assemble their very own Arduino board easily ( see my Mesa-Zero Arduino-Zero cloan at https://blackmesalabs.files.wordpress.com/2015/08/img_1193.jpg ) for just a few bucks. These custom designs end up in applications the original designers never thought of ( quad-copters for example ). You just can’t do that with RaspPi or Beagle-Bone designs. I’m not suggesting Mesa-Video and a LCD belong flying around in a quad-copter – but I could certainly see someone using Mesa-Video while designing their quad-copter firmware.

    1. Someone sells you a product using a counterfeit FTDI chip and an FTDI driver bricks it. So you are mad at FTDI? You do know that FTDI actually pays it’s workers a living wage right? Way too many people here only seem to care about getting cheap stuff.
      FTDI got mad over people ripping them off and decided to brick the chips. They thought that they would be punishing those that counterfeited their chips. They realised it impacted others and withdrew the driver.

      That being said I wonder how much the chip costs? We may see some lower cost shields or even arduinos that have this built in.

        1. There are other market segments where manufacturers won’t honor a warranty or give support on their product if they found out the item was purchased on the internet or purchased it for a price far below MSRP. Some people feel that this is punishing the customer. But sometimes you have to look around and ask yourself “why is there one company selling X product for $25 when everyone else is selling it for $150?”.

          1. @Dax: Was trying to reply to you but i wasn’t paying close attention and accidentally clicked the “Report comment” link, sorry.

            so my question is to you: What should the company do to protect and sustain their business in such a situation?

          2. What should they do? Chase after the people who are responsible, the people making the pirate chips. Although good luck with that in China. Punishing the users is the wrong way.

            Then again, if users weren’t in the market for suspiciously cheap chips, from unknown suppliers, there’d be nobody to sell these fake chips to. I think FTDI would have been within their rights making the driver incompatible with fakes, deliberately. Actually bricking them though, no. If some virus writer had done the same, he’d be in prison now.

            I can imagine FTDI were tearing their hair out with frustration at this point, must be hard when Chinese pirates copy your stuff and there’s very little legal recourse available. It affects your company’s reputation, having garbage chips with your logo on, as well as cuts into your profits.

        2. Maybe but I have yet to see anyone on fire at the people that sold them a counterfeit part. All I see is “what do expect from a chinese Arduino clone”. Seem to me that if you bought a super cheap Arduino you had to know that it probably was not using real FTDI chips.
          FTDI releases a driver that broke counterfeit parts and they are evil.
          Chinese Arduino clone maker used counterfeit parts that are broken by the FTDI driver and…

          Seems to me the lesson is to buy your stuff from a reputable dealer and not to blame a company that is trying to discourage counterfeiting of their products.

      1. “They realised it impacted others and withdrew the driver. ”

        They couldn’t not have realized that their drivers would deliberately brick thousands of innocent end user devices. They were simply banking on people not raising a stink over it.

        1. No they were banking on people raising a stink. The problem is they expected people to raise the stink with the people that used the counterfeit chips. The made the error that people would care about right or wrong or legal or not. All that people cared about was cheap and their own stuff.

          1. I bought a device.
            I have no reason to suspect it was made with illegal parts (didn’t get it for half price in China).
            I update Windows and get the new FTDI driver.
            I suddenly don’t have a working device anymore.

            Who should I complain to? The device worked before the driver update, and now instead of just not working it was bricked by FTDI. Repeat that to yourself a second, FTDI decided to make something I own not work anymore because their work got infringed on. Sure, they have a beef with the people making chips that use their drivers (I won’t even call some of the fake FTDIs a clone, they behave totally differently internally and that’s what let the brick command work). But they didn’t have a problem with me until that day; so that made it my problem with them.

            Now, if I write some GPL code, and let’s say ISP_big_box swipes it and puts it in their cable/dsl modems without following the GPL license. I think we can agree I should be allowed to sue ISP_big_box, but wouldn’t it be a bit absurd if I were to use some underhanded trick in my code to suddenly take over all of those modems, bricking them (or bot-net, or CIH-type virus).

      2. They did not withdraw the driver. My chip was bricked in July on an up-to-date Windows PC. They are bastards.

        I was able to unbrick it using some Linux utilities on a Raspberry Pi, but that’s not the point. It inconvenienced me and my students for no good reason.

        To use a car analogy, it would be like a manufacturer using a “counterfeit” part in a car, e.g. the tyres, and then selling it to me. I have no idea that the part is not genuine (nor do I care, as long as it does the job). Then, the “authentic” manufacturer comes around and slashes my tyres. Yes, I can put things back as they were, but.. WTF!

          1. Nice Project PK! VGA is the ideal path for lowest cost. HDMI costs me. A single FPGA, a HD15 ( VGA ) connector and a couple of resistors is all that is needed for simple 1bit color VGA video – which would be like a $10 solution. I recommend you check out the new Lattice devices ( cheap ) $3-$5 for very capable FPGAs. ICE5LP1K – 4K family ( SGN48 package ).

  3. I think everyone commenting here is missing the point. This board, like any Arduino, isn’t meant to get embedded into a project and left. Its got two big things going for it:
    1. It runs off an amazing combo of signals.
    2. It ISNT imbedded into a single computer board. This means that this little device can be hooked up to any device that has a serial out. For example, I write a program that outputs data over the serial. I mass produce it, and now I need to debug this. Just plug in this device, and I’ve got visual output. When I finish with the one board, I unplug it and move to the next. This is a great TOOL for the embedded world. And its open source. And its hackable. And its cheap. And its done for you already.

    1. Aaron – you have hit the nail on the head. That is exactly my point. Developing Arduino’s with just a trace serial port for visibility is a drag. With something like Mesa-Video, a developer can have live bar graphs, variable updates formatted to the screen, etc,etc. Much more powerful than a trace port. When their app is done – you unplug Mesa-Video and you have a working project. Thank you for getting my point exactly. -Kevin

  4. “Black Mesa+ lemon battery” made me think of “aperture science+potato battery”

    “All Aperture Science personality constructs will remain functional in apocalyptic, low power environments of as few as 1.1 volts”

    When life gives you lemons, don’t make lemonade! make a battery for your FT813

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s