Vinculo is a 25€ development platform for the FTDI Vinculum II (VNC2) dual USB host/slave microcontroller. The board design has been copied from Arduino, and they even advertise it as Arduino-inspired and Arduino shield compatible. FTDI seems to have realized the potential that comes when having a large hobbyist userbase...
Vinculo could be called a USB-enabled Arduino, but that really doesn't do the board justice. There are many features that set it apart from the Arduino, and it also beats Arduino in all the specs (see below). Of course, it's not nearly as user-friendly as the Arduino as a first platform.
|Look what I got in the mail!|
|Vinculo board with the programming header uncovered (the pins on the right).|
Compared to Arduino, there are many differences:
- The USB ports on the Vinculo can not used for programming the microcontroller - they are used for connecting host or slave devices.
- You need also a 15€ USB programmer for the Vinculo (it's the small device on the right in the picture below)
- Due to the flexibility of the VNC2 chip, the signals can be rerouted to different pins
- Many feature & performance differences, more detail below.
|Vinculo board and the programming & debugging module.|
|A close-up of the USB slave/host ports and the 9V jack.|
|Vinculo next to an Arduino Duemilanove.|
Vinculo board features:
- 16-bit VNC2-64Q microcontroller (Arduino is 8-bit)
- USB Type A connector for use in USB 2.0 host applications
- USB Mini-B connector for use in USB 2.0 slave applications
- Connector for external 9V power supply
- Compatible with shields built by the Arduino community
- 30 digital input/output pins (Arduino Duemilanove has 14)
- 8 analog-to-digital converter inputs with 10 bit resolution (Arduino Duemilanove has 6 at same resolution)
- 8 PWM outputs (Arduino Duemilanove has 6)
- Variable clock speed: 12 / 24 / 48 MHz (Arduino Duemilanove is 16 MHz)
- 256 kilobytes of FLASH memory (Arduino Duemilanove has 32 kbytes)
- 16 kilobytes of RAM (Arduino Duemilanove has 2 kbytes)
Datasheets for the chips on board:
Vinculum-II Embedded Dual-USB Host Controller IC datasheet
MCP3008 8-channel 10-bit analog-to-digital converter datasheet
|The pin headers in my Vinculo were all a bit crooked. I seem to have bad luck since my Duemilanoves look like this too. Here's the 8 ADC channels and Reset, 3V3, 5V, GND and Vin pins.|
|Also the two-row headers were a bit crooked. I'll have to use some force when installing the shields.|
The language used to program the Vinculum is a subset of ANSI C. For Arduino users it should be no big challenge but still a bit more complex. The Arduino IDE actually goes so far that it completes the user code to be valid C++, with some extra header code. I don't think the Vinculum-II does any of that.
Unfortunately, the toolchain is only for Windows. This seems to be a very common grief in the embedded world. I'm not sure if it works under Wine. The development IDE can be downloaded for free from here. You need to register to download it. Be sure to install also the patch for the 1.2.2 version.
There's some firmware code examples on the FTDI chip page, with good documentation. You get examples for a 16x2 LCD interface, a graphical LCD interface and a Volt meter using an OLED screen.
If you make a USB slave device with this board, let's say for example some custom game controller, you'll need to use either the Virtual Com Port (VPC) driver or the D2XX direct USB access driver. I haven't gotten that far yet. See the links for the drivers, guides and programming examples.
Vinculo Prototyping shield
|The Vinculo prototyping shield in it's package|
I also got a 10€ prototyping shield for the Vinculo. The package contains a prototyping PCB, pin headers to fit the Vinculo board, and a minimal set of components: 2 pushbuttons, 2 green and 1 yellow leds and three resistors.
|Contents of the prototyping package.|
Vinculo board home
Vinculo board datasheet
Vinculum II homepage
Vinculum II datasheet
Vinculum II toolchain
That's it for now. Stay tuned for some more articles on this board!
EDIT 28. March 2011: Problems with the Vinculo platform.
I haven't had the time to work on this board yet, but others have. Unfortunately it seems that they're not very pleased with the toolchain and the documentation.
Josh Pieper has been hard at work exploring the various issues with the VNC2 Toolchain, and complains that the newly released version 1.4.0 didn't solve any of the many issues he has found & reported. Very good work!
In an element14 post, Josh also answers a question by nickname WestfW:
"Do any of the FTDI documents describe the architecture of the Vinculum2 CPU or chip/peripherals? I couldn't find anyhing in the docs I looked at, or anything that seemed likely on their web site. They provide a C compiler and a bunch of libraries, but programming something of that complexity without more indication of how it works seems ... scary.
It seems like quite a lot of value stuffed into that chip. About the same price as an FT232RL with a lot more capability..."
"FTDI appears to be keeping the architectural details closed. I've been working on a project with the VNC2 and have run into serious problems in the compiler, linker, libraries, and IDE which make me think that the toolchain is just not that robust yet."
So, looks like Vinculo is a quite closed and immature platform. FTDI probably rushed the product to market. That's not strange at all, seems like nowadays every company does that. But not fixing the serious user-reported bugs in the toolchain - that's strange.
Let's hope FTDI fixes these problems in the next update and even gives some more information on this platform so the power of Vinculo could be fully unleashed among the hobbyists.