I don't get it - this kit teaches you nothing about USB?

Please advise - either I am seriously missing something or I feel completely ripped off.

I bought this kit to learn a bit about communicating with devices over USB. I’m a professional software developer looking to dabble a bit on the hardware side.

Your kit teaches nothing about USB as far as I can see. The sample code provided does all the interesting work via a precompiled dll. Non of the sample code you provide has anything to do with USB, you’re just p-invoking an unmanaged dll! This teaches nothing about the fundamentals of USB communication, I have gained no new knowledge that I can use when trying to connect to other USB devices.

I see you have published the code for the compiled dll in the forums here, but thats (a) not particularly helpful for people who can’t find the forums, and (b) requires me to learn delphi before I can learn anything about USB.

Am I missing something?

Kind Regards
Kevin

Sorry to read that this module does not meet your expectations.
Please check with your distributor for their return policy.

This doesn’t really answer any of my questions.

Please adress my issues - or do you acknowledge that your USB Tutor Module does not not/was not meant to teach a person about USB?

Kind Regards

All features, specifications, manuals and downloads for this product are available online, to allow people to check if the product suits their needs before purchase. Judging by the popularity and number of units sold, this product seems to meet the requirements of a lot of people. Once again, we are sorry that it does not meet your specific requirements, therefore we suggested that you check the return policy, as there are no other manuals or downloads available.

USB I/O at the hardware level, is sufficiently complex that nearly all makers of USB “stuff” requiring SDK sort of access use virtual COM port technology as offered by FTDI and others; or as HID (Human Interface Device) interfaces.

While I agree that Velleman’s description of “the kit” is not up to what you expected, it does meet the educational needs the average software developer. A full SDK for lower, hardware level, USB communication would be much more intensive than it would be reasonable to expect in a kit in this price range.

USB was developed in 1994 as an “industry standard” by a gang of seven (Compaq, DEC, IBM, Intel, Microsoft, NEC and Nortel) whose interests did not include making it easy to implement–in fact one could argue that–as compared to SCSI and SATA–they went out of their way to make it as obtuse and obfuscated as possible–kind of like HIPAA’s X12 data formats.

If you really want to know everything there is to know about USB you become a member of USB-IF for just $4000 a year. and get full access to the inside dope.

The bottom line is that it is NOT just a plain ol’ RS-xxx sort of serial interface…

Kevin,

in another thread I saw that the PIC used on the EDU05 is a PIC18F24J50. There is also a link to the DLL source code EDU05_DLL_1.0.0.0.zip in Pascal:

viewtopic.php?f=35&t=7562
box.com/s/83940074e479efc60bd8

I only took a quick look at the DLL code and it appears the EDU05 is just another HID device. Pascal isn’t that hard to read and you should be able to learn from that how to access the card over the next lower level, the Windows HID API or write code under Linux/FreeBSD that uses libusb2. I know that this is possible because I have done the exact same for the K8055, which also uses HID communication.

If you want to go further than that, you’re in for a steep learning curve. The EDU05 apparently has an ICSP header. You would need a PIC programmer that connects to that. You can then use Microchip’s free USB framework and development environment to create an HID boot loader and/or your own firmware. With that you are no longer limited to HID. You could switch to a dedicated USB device driver model. The Microchip Application Libraries contain all the USB examples needed. It is not a small project to take one of those Microchip frameworks and build a fully functional firmware from it. But there is a very nice side effect to doing so. You would turn your EDU05 into a USB/microcontroller hybrid experiment board, like I did with my K8055.

I hope that the PIC on the EDU05 is in a socket and not soldered directly to the board. Since you cannot get the source code of the firmware or the HEX files from Velleman, I suggest you keep the original PIC and get an empty one to play with. They cost less than $5 a piece and can be reprogrammed 100,000 times.

Regards,
Jan

Mostlyharmless,

I just checked the EDU05 (cool little device) the PIC is an SMD and soldered on the board.

[quote=“Wrong Way”]Mostlyharmless,

I just checked the EDU05 (cool little device) the PIC is an SMD and soldered on the board.[/quote]

Thanks for checking.

There goes that suggestion. This means that there is no way back from the first attempt to flash the EDU05. This is not recommended for first time firmware build and flash attempts.

I think that the K8055N would be a much better first test subject. The PIC on it is the same, but in a 28 pin DIP case installed in a socket. One can easily swap that with a spare/empty PIC and flash it via ICSP or with a stand alone programmer. It may also be easier to take the K8055 open source project (K8055M) as a starting point for a boot loader and custom firmware instead of starting from scratch.

I was disappointed with the official response but you guys have given me a good place to start. Thanks for all the advice!

K

Kevin,

one has to understand that the VELxxx guys can only suggest what their company can officially support. People like “Wrong Way” and me can suggest whatever we think may work. Official support staff cannot do that.

I still don’t really know what you try to learn or accomplish. How about we forget about all that EDU05 thing and start from nothing? What is it that you want to know about USB?

i agree with kevinT , this is FEZ level Usb control. I am glad there is a source code for the
Edu05.dll. If you want to learn usb programming with this kit , it wont learn you anything about descriptors and endpoints. and that are the fundamentels of usb.
But still nice to play with.

[quote=“labium”]i agree with kevinT , this is FEZ level Usb control. I am glad there is a source code for the
Edu05.dll. If you want to learn usb programming with this kit , it wont learn you anything about descriptors and endpoints. and that are the fundamentels of usb.
But still nice to play with.[/quote]
If you want to learn about endpoints, descriptors, firmware and all that, get
[ul][li]A K8055N[/li]
[li]A few spare PIC18F24J50[/li]
[li]A compatible pic programmer[/li]
[li]The free IDE from Microchip[/li]
[li]The free Microchip Application Libraries[/li][/ul]
Then
[ul][li]Adjust, compile and load an HID boot loader into the PIC(s)[/li]
[li]Develop a custom firmware for it[/li]
[li]If applicable develop USB host drivers for it[/li][/ul]

I’ve done most of that. I converted my K8055 to a PIC18F2550, burned a boot loader into it, created custom firmware and the host side DLL/shlib to use it under Windows/Linux/FreeBSD. I learned a lot about micro controllers and USB at the same time.

VERY INTERESTING Mostly Harmless!

You don’t have a site on which you keep us informed about your cruisade? :stuck_out_tongue:

[quote=“laserguy”]VERY INTERESTING Mostly Harmless!

You don’t have a site on which you keep us informed about your cruisade? :P[/quote]
What crusade?

People are complaining about the EDU05 not being what they expected. You got any better suggestions? Lets hear them.

Microcontrollers and USB is always a crusade to get it working. I think everyone here would like to learn a simple way of doing that.

True.

However, there is the problem that Velleman has this policy to never publish firmware. Not as source code or in binary form, for copyright reasons. Any kind of tutorial, teaching the firmware side of USB communication, would have to show source code. So I wouldn’t expect something like that coming from Velleman any time soon. I am not criticizing Velleman here, I am just stating the facts and what not to expect based on them.

What Velleman won’t or can’t do, we as a community can. We have done this sort of thing for at least 6 months now and Velleman support staff even helped us with some detail information here and there. There is no conflict of interest here.

I think the K8055N is the perfect product to learn USB programming. It has a very capable PIC in a socket. So one can save the original and replace it with an empty one. It has an ICSP header, so a programmer like the PICKIT 2 is all the additional hardware needed to start on the bare metal. The Microchip Application Libraries have all the examples from HID to bulk transfer in source code. I am not a lawyer, but as far as I can tell the Microchip license only requires the software to be used on Microchip devices. Other than that, feel free to do what must be done. This is a solid open source platform for USB and micro controllers. Some of the I/O pins could be used better, but that’s a completely different topic.

The EDU05 would be my next runner up. It has the same PIC but unfortunately in an SMD package without a socket. Once you program that, the original firmware is lost forever. Since the PIC is probably read protected, you cannot save the binary. The LCD however is an interesting aspect that would IMHO make up for it.

If you look at the K8055 Open Source Firmware pages, all the software needed to program either of them is available for free and listed there with links. That is the C18 compiler, the Microchip IDE, the Application Libraries (sample firmware and drivers in source code) and MinGW (for the Windows side). The firmware itself is for the PIC18F2550, but it shouldn’t be too difficult to port that to the PIC18F24J55 on a K8055N.

What is missing are community members showing some interest. J_Holland, who started the K8055 Open Source Firmware, hasn’t visited this forum since May. I know of nobody else who ever compiled that firmware and programmed it into a PIC. Nobody has ever asked a single question related to porting this firmware to the K8055N. Nobody has ever commented on any of the additional features. If there would be at least “some” interest out there, I might even buy a K8055N and port it myself just for the fun of it. I am that kind of person. I love to help because that is one of the ways how I learn. My motto is “if can’t explain it to somebody else, I haven’t completely understood the problem yet.”

If someone really wants to learn about USB communication, a K8055N with a boot loader and the Microchip Application Libraries will get them down to the last bit of it (pun intended). The EDU05 would also be a good choice, but it would be irreversibly altered from the get go. I don’t have a ready to go “solution”. I don’t have a step by step tutorial.

All I can offer is help. I have 5 weeks of accumulated vacation time and for at least 3 of them I don’t know what to do with it. But I have to do something with it until the end of the year and my wife has only 5 days left. Want some of my time? Let me know. First come, first serve.

Regards,
Jan

but what does it learn about usb ? it is nice that you can make a led blink, read temperature show a text on a led, But it learns nothing about usb. Is is FEZ for USB.
writing a serial port to do this is much more complicated from scratch. Velleman has done al the hard work by putting the events on the board in a simple procedure like blink(1).

it would be nice if velleman also gave a form projekt with al descriptors , al endpoints and a view of all the communication between host (computer)and client(Edu05).

see it as a level higher in a game.

Yes I see. Strange that there was not an enormous intrest to these pages with open source for the K8055N.

If I read what is on these pages, I think the answer to this topic is very clear: if you want to dig deep in all the USB stuff, go with the K8055N and brew your own software with the help of this open source software and all the info of Microchip on the subject.

Thanks for pointing me to that pages. The documentation and steps are really nicely documented! If I EVER have time, I will experiment with it also ;).

@labium: you are right, I also think the name of the kit was badly chosen. But I think the suggestion of MostlyHarmless is the only solution for you and for now at the moment, apart of discovering all by yourself from scratch and with the help of the info of Microchip only.

Note that github.com/wieck/k8055-pic18f is my K8055M repository and I really mean what I say. I would love to see more interest in this sort of community work. I also think that Velleman would not mind any of that at all, because in the end, it can only boost their sales. But without that interest, without anyone even trying to use this firmware, I am just wasting my time because I am talking to a non-existent audience.

It is all possible. But it won’t happen unless people actually start asking questions, learning, contributing back, yadda, yadda … a single person creating software and tutorials is not a community.

Are you ready to actually join?

Jan

Agreed. But they didn’t do that yet. Neither did they prepare these devices (EDU05 or K8055N) for anything more advanced by at least putting a boot loader into them. Now what?

Did you take a look at the K8055 Open Source code? Would you consider working on something similar for the EDU05?