Archive for January, 2016

Introducing XIFT1 - low cost Programmers for Xilinx board based upon FTDI chipset

January 30th, 2016

Vikas Shukla

Today I wanted to introduce you about XIFT1 the low cost programmer primarily designed as a companion to Spartixed ( low cost spartan 6 evaluation and learner's board).


The key aspect of this programmer is that, its usage is limited not only to the Xilinx FPGA/CPLDs, though it was designed with Xilinx FPGA in mind. It can be used for programming other JTAG devices.

The XIFT1 uses FT2232H chip that has two ports A and B. The Port A of the FT2232H chip is configured as JTAG interface ( the port B is configured as UART and is not used).

Key Features

FTDI FT2232HQ USB controller
Powered by USB Cable
0.1" 14 Pin JTAG Header
Small Size 1.25" x 1.25"

The prototype board does not incorporate buffer IC. This can be an issue when the Vref voltage on the Xilinx boardwill be different from the 3.3V generated by the programmer. So we are working on the board upgrade that will incorporate a level shifter.

Programming Spartixed with “XC3SPROG” and XIFT1:

You will need to download an open source program called XC3SPROG. The complete instruction to program Xilinx device is as follows

1. Download XC3SPROG from
2. Place xc3sprog.exe to the folder of your ISE project, where .bit file is located.
3. Open the command prompt and go to the directory that has the .bit file. Give the following command

"C:>xc3sprog.exe -c ftdi -v -p 0 YOUR_FILE.bit".

The board uses and EEPROM IC to store the configuration of the FT2232H chip. Usually you should not need to change the configuration of this chip, but can be done if required.

This youtube shows the working programmer.


Hubpixed - USB Hub for Raspberry Pi Zero

January 24th, 2016

Vikas Shukla

Today, I had a chance to finalize the Hub board for Raspberry Pi Zero. If you already had a chance to play with Raspberry Pi zero, you know that it is a useless stuff without a USB Hub, external or integrated. Most solutions available at present are based upon external USB hub, powered or otherwise. There are some solutions that tries to mix and match a USB board with this board, but are not free from wiring.

This is where Hubpixed comes into play. Here is a quick look at this hub.


There are three USB ports on the same side as the connectors on the original board and the forth is along the width of the board. The key thing about this board is the use of Pogo Pin on its top side. There are 4 pogo pins, two for USBs and remaining two for the 5V and GND.

The board will mount with its top aligning with the bottom of the raspberry Pi zero. The alignment has to be perfect, else the pogo pins may short. We will also have to be careful with the surface mount pogo pins as they may break with slight pressure. The 4 mounting holes on the hubpixed need to align perfectly and then can be screwed with the raspberry Pi.

The solution is based upon highly integrated low cost FE1.1s USB Hub. It integrated the 1.5K pull up resistors, reset circuit, 33V regulator, 1.8V regulator, capacitors for the 12 MHz crystal. The result is a very small Bill of Materials.

The future plan is to remove one of the 4 USB connectors and place a low cost Wifi into the same board. There is a UM12BS USB Wifi Module available at Aliexpress ( - it says something like $2 each (When you buy in volume the shipping cost per unit goes down).

Hoping to get back when the Hub board is up and running.


Designing Low cost 4 Port USB Hub

January 23rd, 2016

Vikas Shukla
Jan 23, 2015

Having evaluated the Raspberry Pi zero , I started digging into low cost USB Design Hub option, as Raspberry Pi is almost useless without a USB Hub. This is the subject of this post.

FE1.1s 4 Port Hub - It looks like a Chinese firm called and the strange looking part name FE1.1s is a low cost USB Hub ( typically $0.50) and is promising with the downside that, it does not has any detection and protection option for over current. But is could be a good option if you are using it for some evaluation or educational purpose in projects like Raspberry Pi. You can check its datasheet here . It comes in easy to solder ( if you do not mind soldering by hand for prototypes).


USB2514BQFN36The Microchips' USB2514B is another more popular USB hub IC that comes with over current detection and control pins. This, in conjunction with MIC2026-1YM can be used to design a USB hub that can also detect over current. The only downside of this chip could the that - it is slightly expensive at $1.92 each in large quantity ( digikey price). If you are designing any professional project, this is the chip to go. You will also need to take care of ESD protection and the Common Mode choke if you were to get the EMI approval from agencies.


Working with Raspberry Pi Zero

January 23rd, 2016

Vikas Shukla

Last week I had a chance to check out Raspberry Pi Zero the newer $5 board. It turns out that the demand has outstripped supply and, even though they seem to manufacture at a steady rate, they are not able to meet the demand. So I turned to ebay and purchased one for $29.

Minimal Additional Basic things required

The $5 Pi zero board comes with nothing additional. No power supply, no Micro SD Card to boot, no HDMI Cable. So if you are planning to get the board working you may do yourself a favor by reading this post and keep the things handy.

The Pi Zero uses a Mini HDMI Connector and so you will need a Mini to regular HDMI Cable. I purchased one from for like $5. You could also use a Mini to regular adapter, but since, both have the same price of about $5, I went ahead and got the cable.

The Pi zero has a USB Micro connector to power up. If you have a USB Charger this, should be good enough. The Pi itself takes only 150 mA, well below 500 mA rating for USB.

The third thing will be tricky for most users - a Micro SD Card to boot the raspberry Pi. You need to buy a Micro SD Card and then you need to program it. And here is the problem. Most Laptops come with regular SD Card Sockets and not the Micro SD, so you are out of luck if you have just the Micro SD Card. Make sure you purchase a Micro SD to regular SD Card adpater to be able to program the Micro SD Card. I assume that your laptop has a SD Card Socket. If not, you will also have to purchase a USB SD Card programmer.

You will also do yourself a favor by purchasing at least 8 GB Micro SD Card. I had a 4 GB card lying in my desk. With a 4 GB Card I could only get the Linux Jessie Lite working. If you need full GUI, you will need regular Jessie which is like 4.5 GB.

Programming the SD Card using the Jessie Lite

I will cover the process of programming SD Card using Linux Jessie Lite briefly here. The same procedure should apply for the regular Jessie ( you will need 8 GB Card for that ).

1. Download the Jessie Lite from here - . It is a little more than 1 GB and should fit in 4 GB Micro SD Card. Once you have downloaded it, save it and unzip it. This will give you an img file.

2. Download Win32DiskImager from here - . Open the Win32DiskImager and Select the img file you downloaded and extracted above. Insert your Micro SD Card in your computer and select the drive letter corresponding to this drive ( In my case it was I). Now click on write and it will write the Micro SD Card.

If everything goes well, the Raspberry Pi should boot as shown in the youtube here

Digging Further

I could not proceed anything further than this, as this board has only one USB Micro socket. I will need a USB hub to be able to hook a keyboard and a Wifi adapter to be able to do something more meaningful. I will cover these when I have a chance to play more with it.