Is there guide to reverse engineer a machine to be supported to PLR

I’m referring to firmware API. I know the rough use of Wireshark etc to get the data and all. However, is there a tutorial or guide of how these are done for previous instruments that have been supported? So that more of us could add more machines’ backends across existing or new type of machines.

Using libusb is one thing for devices that expose a USB to connect to a PC where we can control using the PC software and sniff the packets. Another thing is, I feel like there’s a lot less-branded generic automated instruments like automated plate sealer or plate washer that are not so well known but rather affordable. However, they usually are standalone systems where they have their own screens and software, or they have their own built-in buttons, that don’t require for external USB to the PC. Having a guide or tutorial will be really helpful to create more backends for lots of other instruments.

welcome to the forum and thanks for recent issues + prs!

since every machine is so different, writing a singular guide is not really feasible

i think the best way to learn is just to get started. the basic idea is that if you can read all data, you should be able to replicate it yourself. you have to fundamentally believe this is possible. the principle from there is: you should have small programs in the oem software (small is good because it’s easy to analyze). then slightly change the program, change one parameter. see how the pcap changes. it is all about analyzing the bytes and recognizing how data is represented in them.

frequently repeated commands are often status/keep-alive messages.

also i will say if you have firmware documentation, that makes things significantly easier. so if you have a contact at a company, that is always a good thing to try. however, some times reverse engineering is actually easier than trying to find a person in these companies.

the best way to learn is to just do it and maybe look at examples.

to this end, last weekend i wrote a thread on reverse engineering the byonoy luminescence reader:
https://x.com/rickwierenga/status/1944108024467271822. this might be helpful idk

and definitely feel free to ask questions on the forum. it is easier to answer questions about specific projects rather than provide an abstract guide.

if there is no external computer, how would you control it from a computer?

or are you talking about machines that both have the option for a computer and also stand alone like the a4s plate sealer?

one of the goals of PLR is definitely to provide a universal, firmware level and open interface to all these “less branded” machines.

Agreed that all machines are different indeed. Was just hoping if there’s something that maybe, idk, has some similarities that can work as a baseline guide from experienced ones.

The machines I was referring to is the standalone ones that mostly, from what I see, dont have port for USB, just for power. Like conventional incubator, PCR machine or those from Chinese manufacturers. But I understand that these kind of machines would need a bit of hardware-tweaking, at least opening the cast (but most of them are more affordable to purchase than those more branded and have their own PC software). So that we can reverse engineer from tracing the seriel, maybe? Just to confirm, no work yet, or been tried for these kind of machines? Not sure these are worth it or more painful to deal with, but vendors seem to supply these more than the one with USB exposed externally (at least for now where automation not very mainstream yet)

1 Like

sure, if there is no data cable you will have to modify the device (or use something like an automated button clicker like is used in home automation for example)

in this case, do you mean serial between a computer and a device, or a cable that runs inside the device itself?

The closest would be the prep, which is a “standalone” device on the one hand. However, it does have an actual computer on the inside that you can take out and packet sniff.

no work on ‘no-computer devices’ yet

1 Like

also linking this thread from @marielle Reverse Engineering Tips and Example Case