I want to connect some 3d printers in a raspberry pi. The printers doesn't have Linux drivers and support, so i want to write my own drivers. Does anyone knows good tutorials or software that can make my life easier?

2 Answers 2


Do you have any information about the protocol? Otherwise there will be some reverse engineering involved. The USB protocol is quite complicated. Anyway, libusb lets you communicate with an USB device from user space - no need to write a kernel module.

Also, there is a chance the printer uses some kind of USB-to-serial converter, then it appears as a serial port when you plug it in. This is easier to control than a "real" USB device.

Try lsusb -vvv -d [xxxx:yyyy] on the device (substitute vendor and device id), this could tell you something about the device.

If you need to figure out the protocol, and have the printer working in Windows, it's possible to view the USB traffic with a tool like SniffUSB, or USB sniffer. See the pages of Michel Xhaard for some inspiration, he writes webcam drivers for Linux.

There should be 3D printers with open Linux drivers, search for one and have a look at how it works. If you tell what printer this is, and everything about the controller circuit, maybe someone can help you further.


See: http://lwn.net/Kernel/LDD3/

Chapter 13.

Writing kernel modules is non-trivial.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.