PCS10/K8047 on PDA


I have the PCS10 and now try to use it with my PDA. I use SharpDevelop and the MS CompactFramework 2.0 in visual basic syntax.
The program runs on my desktop PC, but on the PDA I get an error:
“PInvoke-DLL “k8047.dll” not found”. The “k8047.dll”, “FASTTime32.dll” and “K8047E.exe” are in the same folder as the program.
Do I only have to register those dll files somewhere on the PDA, or do I need another dll file for PDA.

P.S. I use the Pocket Loox T830 with Windows mobile 5 and the USB connection does work (green LED on after 3 times blinking red LED)

Thank you

Hello MaHup (and All!)

I’m facing the same issue: connecting the PCS10/K8047 to a PDA running Windows Mobile and the MS CompactFramework 2.0 (ie .NET).

MaHup, did you find a solution?
Does Velleman propose something for it?



Sorry, no experience with PDA & PCS10.

Hello Kriss,

I gave up more ore less, because I don’t have enough knowledge about the Windows mobile operating system. I think one has to modify the DLL file. I tried, but I don’t know how to do it (I got the sources from Velleman support). Perhaps you are more experienced and know what to do? That would be great! Do you have the sources as well?


We cannot give support for Windows Mobile applications, but I can tell you that most software needs to be specifically written for that platform otherwise it will not work. This is why Windows Mobile has its own Windows Mobile SDK. Even in .NET you need to develop using the .NET Compact Framework.

What you could do is set up a server desktop computer to which the board is connected. Then communicate with that computer over TCP/IP with your PDA. This would require you to write a client and a server application. Another option is to set up a web server and a webpage through which to control your board. Your PDA probably already has a way to surf the internet. However, this is just a suggestion, we cannot help you develop these applications.

Well, thanks all anyway for the reply.

Our company is going to use PCS10 on Windows Mobile.
We’ll develop own driver using direct USB connect. Can you open USB data exchange specification of your device for us?

Thank you.

Here is the description of the command sent to the PCS10.
Number of bytes to send via the USB is 9.
Here the description of the bytes to send:
byte[0] = 0
byte[1] = 5
byte[2] and byte[3] define the gain settings and the LED on/off state.
The gain is set by the bits of these two bytes in following way:

CH1 gain setting:
Gain 1: byte[2] = xxxxx111
Gain 2: byte[2] = xxxxx110
Gain 5: byte[2] = xxxxx101
Gain 10: byte[2] = xxxxx011

CH2 gain setting:
Gain 1: byte[2] = xx111xxx
Gain 2: byte[2] = xx110xxx
Gain 5: byte[2] = xx101xxx
Gain 10: byte[2] = xx011xxx

CH3 gain setting:
Gain 1: byte[3] = xxxxx111
Gain 2: byte[3] = xxxxx110
Gain 5: byte[3] = xxxxx101
Gain 10: byte[3] = xxxxx011

CH4 gain setting:
Gain 1: byte[3] = 11xxxxxx, byte[2] =x1xxxxxx
Gain 2: byte[3] = 10xxxxxx, byte[2] =x1xxxxxx
Gain 5: byte[3] = 01xxxxxx, byte[2] =x1xxxxxx
Gain 10: byte[3] = 11xxxxxx, byte[2] =x0xxxxxx

LED on: byte[2] =1xxxxxxx
LED off: byte[2] =0xxxxxxx

Data read from the PCS10
Number of bytes read is 9.
Description of the received bytes:
byte[1] = the high byte of the internal 16 bit timer
byte[2] = the low byte of the internal 16 bit timer (increments every 10ms)
byte[3] = data from CH1
byte[4] = data from CH2
byte[5] = data from CH3
byte[6] = data from CH4

Here is a link to download the source code for the K8047D.DLL and for the K8047E.EXE:

Thank you.