Summary
So you know that embedded devices are everywhere. Perhaps you've thought how nice it would be to make a Linux USB driver for some Windows-only device, or you've got something proprietary you would like to reverse-engineer and repurpose for your next big scheme. We know Python can do pretty much anything inside the computer--but how does a software person enter the world of circuits? And once you have some circuits, how can you bring the data back into your box? Bridging the worlds of hardware and software, I will show the power of PyUSB and Pyserial to pwn some sweet hardware and charm it over the USB port. From my own trials and tribulations building and hacking real devices, from a simple HID-class USB missile launcher to the custom protocol used in a complex biomedical data acquisition system, you will learn about USB packet sniffing, rapid-prototyping device drivers in python, and deciphering circuit boards and data sheets for fun & profit. I aim to leave you armed and ready to take on hardware of your own.