Logo Banner

Velleman K8000 - [K8000 FAQ]

K8000 Frequently Asked Questions

Can I connect other circuits to the K8000 I²C (interIC) bus?

Yes, the I²C bus is available at the 5P screw connector at the border of the card. Here you can find the SCL (Serial Clock), SDA (Serial Data) and the GND signals. There also is a DIS signal available: it can be used to disable the communications between K8000 and the computer.

Can I control the K8000 without the use of a computer?

Yes you don't need a computer to control the K8000. Actually you can control it from any system that supports the I2C protocol. The most obvious solution is the Velleman K8001: it was designed for this purpose. Unfortunately the K8001 is no longer produced. Luckily you can use other solutions: you could program your own PIC microprocessor but you could also use a board like the Fez Panda II. You can find more information about this FEZ on this website. I have written a library to do this very easily.

I don't like to switch the IC-IN and IC-OUT all the time to toggle the channel's configuration from an input to an output. Is it possible to use IC-IN and IC-OUT together?

No, this is NOT possible. You would create a short circuit.

I saw in the I²C specs only 2 lines are used for communications between systems. Why does the K8000 have 3 opto couplers and 3 data lines?

Normally, I²C requires only 2 lines: SCL and SDA. But Velleman designed the K8000 with opto couplers to protect your computer against damage trough the K8000. An opto coupler can only pass information in one direction. This is not a problem for the SCL line as it the clock signals aren't bidirectional. The SDA line is bidirectional so here two optocouplers have to be used: one for each direction.

Can I raise the limit of 4 K8000 cards?

This is possible for the I/O channels: you could create a construction of up to 128 I/O channels. (Of course) I didn't try this setup but this is how you could do it: connect 8 K8000 cards all together. For the four first cards you would have to use the PCF8574AP (PCF8574A) chips for the I/O channels. On the other four cards you would have to use the PCF8574P (PCF8574) chips.

Both chips have the same function but they differ in I²C address. So each chip would have a unique address. There is one disadvantage: the PCF8574A is conflicting with the DAC IC's. This means you cannot use them on the same bus: you would have to remove them from the 4 additional K8000 cards.

You would also have to modify the source code of your K8000 program to support those extra I/O chips. The K8000.bas (Visual Basic) holds a function main(), where the chipcodes are generated. Here you would need to add the chipcodes for the 4 additional cards.

    Sub main()
        Dim CardNo%
        Dim ChipNo%
        For CardNo% = 0 To MaxIOcard%
            DACchipCode%(CardNo%) = 64 + 2 * CardNo%
            ADDAchipCode%(CardNo%) = 144 + 2 * CardNo%
        Next
    
        For ChipNo% = 0 To MaxIOchip%
            IOChipCode%(ChipNo%) = 112 + 2 * ChipNo%
        Next
    
     I2CInit
    
    End Sub
  

Copyright ©1998-2022 Vanderhaegen Bart - last modified: August 24, 2013