The Velleman K8061 USB interface board

The K8061 board is the larger brother of the K8055 board used elsewhere in these pages.  It is of a more elaborate design, has 8 digital inputs and outputs as well as 8 analogue inputs and 8 analogue outputs - enough for most people, I should think.  It also has one pulse width modulated output. The board is faster than the K8055 and Velleman quotes a response time of 4ms per command.

The LED-circus board

The one thing I didn't much like about the board are the output arrangements, which are different from the K8055. I did not much fancy redesigning every project made for the latter to work with the former, so I built two adaptor boards and connected them to either side of the K8061.

Readers planning to do the same thing should make sure that they connect the wires to reflect the outputs of the K8055 board, rather than make straight through connections. This little mistake cost me quite a bit of extra work.

You will find my PCB layout on the right. Notice that some extra connections have been made. Two of the ADC inputs have been connected to the same position as on the K8055 board, so that existing projects can be easily connected and two taps for the internal 5V and 12V lines have also been provided.

Additionally there is a connector that supplies projects with power using the 0V and Clamp connectors. I found these little connector strips highly useful.

The connector pcb

Programming the board

Programming the board is much like programming the K8055 - but there is one basic difference which forced  me to slightly alter all the programs written for the K8055 in order to make them work on the K8061.  To write to  the K8055 one has to open the device with its address - 0 to 3. To write to another device, one closes the first device and opens the second for a write operation.

To communicate with  the K8061 one interrogates the K8061 hardware, which returns a unique address. This address must be included in every instruction. One example will make the point clearer. To write the number 255 to the K8055 digital outputs, one would use

SYS OpenDevice,0           : REM Open device number 0
SYS WriteAllDigital,255 : REM  Set all outputs high

To do the same thing with the K8061 you use

SYS OpenDevice TO Adr%          : REM Get the card address and put it into Adr%
SYS OutputAllDigital,Adr%,255 : REM Write 255 to the card

There are also subtle variation in the code using Output instead of Write for example

Most of my projects have the K8061 BBC BASIC for Windows code supplied via the write-ups, but below is a link giving the code of the PROCK8061_init which has to be appended to every program. Also included is a procedure for changing the output window size and an error procedure.

Return to the interfacing index

Back to the Limavady home page

Tudor with sign