Fellow Theatre Tech here: Ironically I searched UA-cam for "reverse engineer a usb device" for the purpose of doing exactly this, but for a different control system. I clicked on the first video without even looking at the thumbnail and walked over to the fridge to get a Coke. I literally started choking when I heard "Hello this is an ETC Ion". BRILLIANT! And great work!
Finally, a video that's actually demonstrating the process of USB reverse engineering, it's infuriating that there isn't much material like this. The videos and writeups I've found have all been theory-based. Brilliant video, thank you!
That was awesome Amy! Excellent video. I can't wait to build my own! I found out the reason of not having enough time to do that already... simply wasn't the reason.
This is brilliant! We just upgraded to an Ion Xe 20 at my workplace, and I'm trying to learn to use the Eos system at home using the Nomad software... Really wanting to have my own encoders as well as a keyboard customised to work with Nomad, your project is just what I was looking for! Thank you!
Hi Amy Thank you for a incredibly inspiring and informative video. Do you know if there is a way to do exactly what you did, but with a virtual device? I’m looking to build a translator from a midi controller to a non midi software. They have made their own usb controller though. That I would like to reverse engineer 😊 Again! So cool what you did with the controller 🙌🏻
I’m hoping to do something similar to build a fader wing, but with bankable motorised faders! Do you have a repo that you would be willing to share? Thanks!
genial Amy, gracias por compartir tan valiosa información. De mi parte quisiera preguntarte como puedo hacer para utilizar un dispositivo usb de diagnostico de vehiculos. La interface se llama Nexiq, es un dispositivo usb universal y quisiera saber si me puedes ayudar para lograr comunicarme con el. Lo estoy intentando hacer con python, sin embargo no he logrado descifrar la información que necesita la nexiq para poder avanzar con el proceso de lectura del puerto obdii,.
Since you added the new device type by editing the library hardware code (i.e. usb_desc.[ch]), I suspect those edits may be lost if the teensy library type gets an update. I've never worked with a teensy before, but I wonder if there is some API call that can install/use a custom USB descriptor from setup().
Is it possible to emulate a USB host and slave and use the Teensy as a middleman to receive and forward packets? The idea is I want to make a wired printer wireless. My idea is the Teensy (as host) would do the handshake with the printer, and then (as slave) would emulate the printer and do the handshake with the computer. Then, anything received would just be forwarded. Perhaps this would require 2 Teensies, unless I could figure out how to utilize the computer's Wi-Fi. Could that work? I know I could buy a print server, but that isn't as fun.
I'd like to reverse-engineer the USB protocol for the Korg Volca Sample 2, because the app that Korg provides only works on Windows, not macOS. Wish me luck!
Hey Amy - great project, I am looking forwards to building one of these now! Quick question: after looking over the code, I noticed the encoder button push was not included in the current version? I was wondering if you have the data of the button pushes for encoders 3 & 4, as I did not see that in the video? As I am looking to include that functionality as well.
Hi Amy, just found the video as I'm in the process of making an encoder module myself. Love your work (especially enjoying the full wing build)! Saw this comment and was also wondering if you had the codes for the push buttons on Enc 3 + 4?
Fellow Theatre Tech here: Ironically I searched UA-cam for "reverse engineer a usb device" for the purpose of doing exactly this, but for a different control system. I clicked on the first video without even looking at the thumbnail and walked over to the fridge to get a Coke. I literally started choking when I heard "Hello this is an ETC Ion". BRILLIANT! And great work!
Finally, a video that's actually demonstrating the process of USB reverse engineering, it's infuriating that there isn't much material like this. The videos and writeups I've found have all been theory-based. Brilliant video, thank you!
That was awesome Amy! Excellent video. I can't wait to build my own! I found out the reason of not having enough time to do that already... simply wasn't the reason.
This is brilliant! We just upgraded to an Ion Xe 20 at my workplace, and I'm trying to learn to use the Eos system at home using the Nomad software... Really wanting to have my own encoders as well as a keyboard customised to work with Nomad, your project is just what I was looking for! Thank you!
Hi Amy
Thank you for a incredibly inspiring and informative video. Do you know if there is a way to do exactly what you did, but with a virtual device? I’m looking to build a translator from a midi controller to a non midi software. They have made their own usb controller though. That I would like to reverse engineer 😊
Again! So cool what you did with the controller 🙌🏻
that's an excellent video
I’m hoping to do something similar to build a fader wing, but with bankable motorised faders! Do you have a repo that you would be willing to share? Thanks!
Very Interesting Project! Nice one!
Good is an amazing video. Great job Amy.
that's a way to make a ptz camera
That’s actually pretty good! I’ll give it a try. But I questioned myself…could u use it on an ETC ELEMENT too? Thanks for this great video!
Cool project!
great insightfull project... i wished i had your brain for a while 🙂 I would be very intersted to build one myself...
genial Amy, gracias por compartir tan valiosa información. De mi parte quisiera preguntarte como puedo hacer para utilizar un dispositivo usb de diagnostico de vehiculos. La interface se llama Nexiq, es un dispositivo usb universal y quisiera saber si me puedes ayudar para lograr comunicarme con el. Lo estoy intentando hacer con python, sin embargo no he logrado descifrar la información que necesita la nexiq para poder avanzar con el proceso de lectura del puerto obdii,.
Nice content! Thanks!
Since you added the new device type by editing the library hardware code (i.e. usb_desc.[ch]), I suspect those edits may be lost if the teensy library type gets an update. I've never worked with a teensy before, but I wonder if there is some API call that can install/use a custom USB descriptor from setup().
This girl's a bad ass!
Is it possible to emulate a USB host and slave and use the Teensy as a middleman to receive and forward packets? The idea is I want to make a wired printer wireless. My idea is the Teensy (as host) would do the handshake with the printer, and then (as slave) would emulate the printer and do the handshake with the computer. Then, anything received would just be forwarded. Perhaps this would require 2 Teensies, unless I could figure out how to utilize the computer's Wi-Fi. Could that work? I know I could buy a print server, but that isn't as fun.
I'd like to reverse-engineer the USB protocol for the Korg Volca Sample 2, because the app that Korg provides only works on Windows, not macOS. Wish me luck!
Good luck!
Great video!! Can you please share a link to the start ETC starter kit? 3:06
Hey Amy - great project, I am looking forwards to building one of these now!
Quick question: after looking over the code, I noticed the encoder button push was not included in the current version?
I was wondering if you have the data of the button pushes for encoders 3 & 4, as I did not see that in the video? As I am looking to include that functionality as well.
I've got the USB codes for it somewhere. I didn't include it because the encoders I'm using don't have a button built in! I'll get back to you soon.
@@amyworrall9246 Thank You!
Out of curiosity, out of all of the inputs on the wing, how many did you end up recording the protocol data for?
@@amyworrall9246 Hey Amy - Sorry to ask again, but I was wondering if you had had the chance to find those codes?
Hi Amy, just found the video as I'm in the process of making an encoder module myself. Love your work (especially enjoying the full wing build)! Saw this comment and was also wondering if you had the codes for the push buttons on Enc 3 + 4?
What on the earth does 'programming wing' mean?