I went to the Cambridge Jam yesterday and displayed HDMIPi production model #1, met lots of people, including Eben, Liz, and a multitude of Pi enthusiasts and bloggers (quite normal for a #CamJam). There was also a CNBC news crew there to film some Pi action. They shot a brief clip of me doing something like this…
Matt Hawkins @RPiSpy kindly took this one for me using my camera. Good job he’s not a monkey, or we might have a copyright dispute. It was really nice to spend some time chatting to Matt. (Thanks for taking the photo Matt.)
Gert Brought a VGA Adaptor
Demonstrating on the table next to me was Gert van Loo, one of the chip architects of the Raspberry Pi’s BCM2835, most of whom seem to be working as RPF Engineers and moonlighting as Ninjas these days (Gordon & James, I’m looking at you). Gert designed the original BCM2835-based Raspberry Pi prototype, the Gertboard, GertDuino and the camera board. He’s also got some other stuff in the pipeline that’s not ready for prime-time blogging.
Gert was displaying a VGA adaptor he’d made for the B+. He said that there was a parallel interface on the BCM2835 that could be used to drive VGA natively in hardware (with no CPU load) But only on the B+ are there enough ports (and the right ports) brought out to pins to be able to use it.
It Uses Nearly All The Ports
It uses all but four of the B+ GPIO ports. It basically consists of a 40-way header, and a resistor ladder digital to analog converter (DAC) and a VGA port. He’s designed it so that it can use surface mount (SMT) or through-hole resistors and he’s open sourcing the whole thing some time next week. SMT resistors are more easily available in exactly the right values. He won’t be manufacturing and marketing it as he feels it’s not worth the hassle, and also it’s likely to have issues with EMC. It’s highly likely that it would cause radio frequency emissions, which, for a manufactured product is a big ‘no-no’. But that doesn’t mean we can’t make our own from the plans.
Update 10/9/2014 Gert has now Open Sourced this at https://github.com/fenlogic/vga666
It’s capable of displaying 1080p60 VGA video with no CPU load. Here’s Gert displaying a 1080p VGA signal using his adaptor.
VGA & HDMI Simultaneously
It’s also capable of running VGA and HDMI independently and simultaneously (or will be in a few days, when Dom has modified the appropriate files). So you’ll be able to plug in an HDMI screen, like HDMIPi, AND a VGA screen and have them both working independently at the same time.
I asked Gert if it would later be possible to run VGA, HDMI and DSI all at the same time. He said that might be pushing it.
I will likely get a few PCBs made for fun, but I don’t think it’s one I’ll be kitting into a product. If a lot of people want the PCB I might arrange a group buy for that, but you’d have to sort out your own components. Leave a comment if that sounds interesting to you.
It was an excellent Jam as always. Hearty congratulations to Mike @recantha and Tim @Geeky_Tim and make sure you check out Piwars, which is going to be the December CamJam’s subject matter.
Other CamJam blog posts…
Looks fantastic – thanks for the write-up. Do we know yet which GPIO pins are left over?
No, but we will soon :)
Didn’t get a chance to say hi to you and look at your new boards yesterday – we were both pretty occupied :(
Yes, it was a hectic day, but fun! Let me know if you’d like any of the kits for the club/lesson you do [if I remember correctly?] and I’ll happily send some your way!
Thanks Andrew :)
I really like the fact Gert made allowances for through hole and surface mount resistors. I’m really looking forward to trying one of these. Don’t think I will make my own boards but happy to buy a few from anyone who gets a batch done. A nice little soldering project as well.
Well I’m hoping it’s just a question of send the Gerbers off and get some made. If it’s much more complex that that, I doubt I’ll bother. But that’s already three people who’d like some, with you, Andrew and Tim. I certainly don’t want to go down the route of kitting and counting out 1 of each of 10+ resistors. (There be nightmareville).
Sounds great… but even better for yachties like me (who like to take ‘old’ laptops with only VGA outputs to sea in case they get wet) would be a tiny HDMI to VGA adapter that can sit in or alongside an HDMIPI PCB (so we can put the lot in one waterproof box) rather than the generic ‘ebay-ed’ ones that hang about on a cable and are a wee bit bulky. I was a bit sad when I heard that the HDMI PI would not have a VGA input. Any chances of one you clever people? :)
If you’re not going to use the HDMIPi case, there are two ways to get VGA with HDMIPi. One is to solder a VGA port on the HDMIPi driver board. The other way is use the same board we used for our prototype HDMIPi. It does have a custom ROM on that our supplier flashed. But it would be easier to just solder a VGA port on the board rather than special order a 1-off board.
Thanks Alex. I know only the rudiments of electronics, and wondered if you would consider recommending a particluar VGA port with info on what to get and where, as I’d have no idea what to look for. And perhaps publish a little ‘how to’ solder it on, with a few pictures perhaps, on t’interweb. I say this not in selfishness as it’d be a lot to ask for one person, and I’m sure you’re very busy at the mo, but I suspect many customers would enjoy it.
I also asked Gert about using VGA, HDMI and DSI all at once, and he said the limitation would be the SDRAM bandwidth. Which possibly means that it *might* be possible to run them all at the same time, using reduced output resolutions.
Count me in for a PCB group-buy :)
It certainly looked pretty good when I saw it running yesterday. I would be interested in a PCB if you do go for a group buy. Not sure I would manage the SMD version, but it’s smart to offer both alternatives.
[…] Alex (of RasPi.TV) has written up a few bits from the Jam, including the special VGA adapter for the B+ that Gert Van Loo was displaying. Read it here. […]
Thanks for the write-up Alex.
I would join in on a group-buy of the VGA board.
Awesome …. Count me in for a PCB group-buy :) … two please.
[…] Gert Van Loo, designer of the original Raspberry Pi Alpha board, has come up with a new board for the B+. It plugs into the GPIO pins and gives you a VGA port! The quality of the video output is outstanding and it can work at the same time as the HDMI port so you could experiment with having a cloned or extended desktop. Gert is intending to open-source the design so no doubt we’ll see it available before long, although what price it will be is not determined yet (I’m hoping for considerably less than most HDMI-VGA adapters out there). Only 4 of the GPIO pins are not used for the VGA so it pretty much hogs the GPIO, but if all you want is VGA output I think that’s a fair compromise. You can read a little bit more about the board over at RasPi.TV. […]
I’d also be up for one.
I’ve only got a B (original) at the moment but I’d definitely be getting myself a B+ with this being an option. Save me buying a new projector that supports HDMI…
Any chance to see this released on the market?
Maybe, but not by me
It’s just occurred to me that by using this Pi-VGA adaptor, and soldering a VGA connector onto the HDMIPi board, you could potentially connect three separate Raspberry Pis to just one HDMIPi, and use the OSD to switch between them all :-)
Yes you could. You’d need a modified case back to fit the VGA port in, but it’s possible. :)
[…] in the Raspberry Pi is actually surprisingly powerful, it turns out. It’s actually capable of driving a VGA monitor through the GPIO pins using a handful of […]
i wouldnt know, but i venture out on a limb here:
– because i do not know what “the right pins” are, that are hooked up exclusively to the b+ model
and
– because this looks like just a giant r2r dac that uses up all those valueable pins
would it be totally outlandish to use external DACs and still use the onboard chip to render the video, thus leaving more than just 4 pins up for grabs?
please respond with pertinent comments on that….
No idea. You’d probably have to ask Gert.
I think I heard Gert (or maybe it was Eben) mention at the CamJam that this uses the DPI (Display Parallel Interface ?) hardware block in the BCM2835. So no, it’s probably not possible to do this via an external DAC.
With 26 GPIO lines available on the B+ GPIO header, this VGA adaptor must be using (26 – 4) = 22 lines; and with at least 2 lines needed for the HSync and VSync signals, I’m taking an educated guess that this must be using only 6-bit colour for each of the RGB channels (for a maximum of 262144 colours) rather than the more standard 8-bit (which would then leave the other 2 GPIO lines for the i2c DDC connection).
But that’s clearly all just me guessing!
I have 2 VGA monitors that would love to be fed a little Pi. I’d join in a group buy. Nice job.
Hi Alex, please count me in for a PCB!
At a guess it looks like Gert is using the BCM2835 Secondary Memory Interface signals SD0 to SD17 to drive 3x resistor DAC ladders (R-2R) to give RGB666 (18-bits of RGB). He may be using GPCLK0 and GPCLK1 to generate the VGA’s HSync and VSync signals.
It be interesting to finally see some documentation on the BCM2835 Secondary Memory Interface.
More details out today on the Foundation blog. Looks like they used my above photo too, as well as Hackaday :)
http://www.raspberrypi.org/gert-vga-adapter/
[…] the GPIO pins. You can find the source files on GitHub. The adapter, which was first covered on the RasPi.TV blog is not generally available to buy, so it’s hoped that someone out there will get together a […]
I would so buy one if you decide to the group order
[…] out what Alex at RasPiTv saw at CamJam this past weekend here! Including a VGA adapter for the […]
forget 1080p60 will it do 320x240p (ie 15KHz RGB video)
I think it well do anything up to 1080p
I think I read in the documentation (on github) that it supports most of the same modes as HDMI, and the full list of HDMI modes can be found at http://www.raspberrypi.org/documentation/configuration/config-txt.md
I wonder if the VGA mode can be selected on the fly, or if it’s fixed in a config file like the HDMI mode.
I hadn’t realised, but thanks to an innocuous URL in https://raspi.tv/2014/programming-a-kickstarter-tracker-in-python-part-2 I just spotted this group-buy on KickStarter: https://www.kickstarter.com/projects/pisupply/gert-vga-666-kit-hardware-vga-for-raspberry-pi
Only 4 days left so get in quick! (just a heads-up for anyone who’s subscribed to comments on this article)
Sure, the schematics are open source. But all the juicy bits of software are closed source (supplied as a binary blob). It would be *tremendously* useful to drive GPIOs at that frequency and timing precision with arbitrary data. I really hope this part can eventually be documented.
In http://www.raspberrypi.org/raspberry-pi-guy-interviews-clive-gordon/ Gordon mentions that the documentation is being worked on.
I realise I’m replying to a super-old comment, but I think if you want really accurate GPIO tming, your best best is http://abyz.me.uk/rpi/pigpio/
Hello,
VGA output is simple but very usefull. But is this modul useful even for another platform like Asus Tinkeboard ?
I think you’d only get the answer for that by asking on an Asus Tinkerboard website, not on a Raspberry Pi website ;-)
(I think this relies on a hardware mode inside the Pi’s SoC, and isn’t purely done in software – I’ve no idea if the Tinkerboard also supports this DPI hardware mode)