Laws Regarding Reverse-Engineering and IP - Page 1
Forum section: electronics / general

author: The_PCB_Guy
author_rank: Regular Contributor
timestamp: May 29, 2019, 03:20:57 pm
content: Perhaps this has been asked before, and if so, please feel free to point me to it.I am in the process of reverse-engineering a piece of equipment from Agilent/Keysight and was wondering what kind of laws are there in place (if any) against sharing the results with an online board such as this one? Specifically speaking, I would be interested in sharing the schematic and PCB layout. Ultimately my goal is to reverse-engineer the product and then recreate part of it, while engineering my own solution for the remainder. I may want to sell the resulting device since most of it would be my own IP, but I am not sure about the part that was originally designed by Agilent/Keysight.I apologize for being so vague, but hopefully this is enough information to go on. If it isn't, I will try to provide more details whenever I am asked.Thanks,Matt

author: mstevens
author_rank: Regular Contributor
timestamp: May 30, 2019, 01:06:46 pm
content: Quote from: The_PCB_Guy on May 29, 2019, 03:20:57 pmWhy are you "being so vague"? Is it perhaps you want to keep secret that which you want to replace so that you can "sell" your intellectual property? Give it some thought, if you don't get it you may be hopelessly lost.

author: The_PCB_Guy
author_rank: Regular Contributor
timestamp: May 30, 2019, 01:10:56 pm
content: Quote from: mstevens on May 30, 2019, 01:06:46 pmNot at all, I am "being so vague" because I don't want anybody beating me to the punch. To my knowledge the product I have in mind has not been done before, and I'd like to be the first. Sure, it's a selfish reason, but it is what it is.The final product will be OSHW. I just want to get at least a good portion of it done before making it public.

author: David Hess
author_rank: Super Contributor
timestamp: May 30, 2019, 02:48:05 pm
content: As far as I know, there are no restrictions in the US as far as reverse engineering. Patents, copyrights, and trade marks still apply but your own work is your own copyright, you are not unfairly using their trademarks, and you are not building or selling something covered by their patents by only reverse engineering.If you are reverse engineering something protected by copyright, then there are formal rules for "clean room" reverse engineering. For example, you would not want to copy their board layout by just redrawing it. But tracing it to produce a schematic and then making a board from that is acceptable.An end user license agreement might forbid reverse engineering but that is a civil matter and if you did not buy the instrument from Keysight or a representative of Keysight, then you did not agree to it anyway.

author: Chris56000
author_rank: Frequent Contributor
timestamp: June 22, 2019, 11:03:23 pm
content: Hi!I do "reverse engineer" many commercial products for which "C.L.I.P." documentation is no longer available from the OEM or simply never made available in the first place, but this would be limited to a circuit–diagram, component–list, a basic pcb layout, (which may simply be a scan if the pcb can be depopulated, and (if possible!) basic theory of operation & adjustments!Chris Williams

author: The_PCB_Guy
author_rank: Regular Contributor
timestamp: June 22, 2019, 11:16:09 pm
content: Thank you all for your input.I believe I have finished reverse-engineering the schematic and I am trying to decide whether I should share it now, or wait until I have completed reverse-engineering the PCB design as well. Regardless, as long as I am legally allowed to share what I've done, that's all I wanted to know!Best,Matt

author: ebastler
author_rank: Super Contributor
timestamp: June 29, 2019, 01:48:46 pm
content: Quote from: The_PCB_Guy on June 22, 2019, 11:16:09 pmA couple of clarifications:The original schematic is protected by Copyright; you can't legally publish a scan. (Whether anyone cares is a different question.) If you have the original schematic and redraw it faithfully, with the same component arrangement etc., that might still be a copyright violation. But if "reverse engineering" means that you reconstruct the schematic from a populated PCB, and decide on your own way to arrange everything in the drawing, that's fine. Copyright protects the specific rendition of the schematic, not the circuit.Likewise for the PCB layout: If e.g. you remove all components from an original PCB and scan the layout, that layout is protected by copyright. Redrawing the original layout faithfully is probably still a copyright violation. Figuring out your own layout independently, from the schematic, is fine.Finally, the circuit (or elements thereof) may be protected by patents. If it is older than 20 years, the patents have expired. Otherwise, check the product labels and the manual -- in the US, applicable patents have to be listed. If a patent does apply and is still valid, you cannot use the patented technical design commercially. (No matter whether you redraw it -- you need to make functional changes to it which get you outside of the patent scope.) You can still publish the schematic or layout, but should point out the patent protection. But you cannot take the next step and turn it into a commercial product.

author: The_PCB_Guy
author_rank: Regular Contributor
timestamp: June 29, 2019, 02:13:16 pm
content: Quote from: ebastler on June 29, 2019, 01:48:46 pmSo here's the situation: I made scans of the top and bottom of the original PCB, and created a BOM of the components. I then pulled the scans into solidworks and sketched lines to indicate the locations of pads, vias, copper pours, and traces that I could see. Based on what I found, I guessed that there were four internal layers - a power plane, a ground plane, and two signal layers. Once I finished sketching out the locations for the copper, I saved it as a DXF and pulled the design, 1:1 scale, into Altium. I then proceeded to trace everything out using the Altium tools. I had to manipulate some of the tracks and vias to make things fit properly, and I replaced a bunch of blind vias with through-vias to improve manufacturability. Once I traced out everything I could see, I had to figure out how everything was connected. This was the most time-consuming process and I had to probe every pad and via on the PCB with my DMM in continuity mode. This took me about two weeks, working a few hours at a time every day. I gave all of the nets pseudo-names (i.e. U1-1 for pin 1 of U1, etc). Throughout this process I was drawing my own schematic that matched the layout. Once I was confident that I had probed all of the points on the PCB and had translated them into schematic form, I went back to the layout and routed my own internal layers which I couldn't see from the outside, based on the connections I determined by probing the PCB. Finally, I went back to the schematic and renamed the nets to more logical descriptions which matched the pin names on the individual components.The schematic is 100% my own work. For the PCB layout, the top and bottom layers are very similar to the existing board (with a few subtle differences), but the internal layers are completely my own. I have not found any patents for this design - it's all pretty much boiler plate, off-the-shelf parts.Thanks again for the input!Matt

author: ogden
author_rank: Super Contributor
timestamp: June 29, 2019, 02:46:01 pm
content: Quote from: The_PCB_Guy on June 29, 2019, 02:13:16 pmNot so fast. Example: Multislope integrating ADC is made out of off-the-shelf parts as well, yet if you "reverse engineer" and use it in your product, you will violate patent 6384760 and Keysight will come after you.

author: The_PCB_Guy
author_rank: Regular Contributor
timestamp: June 29, 2019, 02:53:02 pm
content: I see your point. However, what I meant was that the entire functionality of the board is achieved by the FPGA and a single off-the-shelf standard part. It's practically a one-chip solution.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 29, 2019, 03:26:07 pm
content: Nothing to stop you posting high-res photos of the PCB

author: ebastler
author_rank: Super Contributor
timestamp: June 29, 2019, 03:55:29 pm
content: Quote from: The_PCB_Guy on June 29, 2019, 02:53:02 pmOh -- I don't think you had mentioned an FPGA before. How did you reverse-engineer that one? I am pretty sure the configuration code is copyright-protected too, so just grabbing that binary is a no-no.Edit: And of course it is entirely possible that the design implemented inside the FPGA is protected by patents. Again, the best approach for a product made or sold in the US is to look for patents listed on the product labels or documentation, and check what aspects of the design they cover.

author: The_PCB_Guy
author_rank: Regular Contributor
timestamp: June 29, 2019, 06:33:05 pm
content: Quote from: ebastler on June 29, 2019, 03:55:29 pmThat was the beauty of this project - I didn't have to reverse engineer any FPGA code of any kind. This FPGA is configured using slave-serial mode, meaning the processor on the mainboard loads the configuration into the FPGA on this daughter board at runtime. This project was strictly hardware.

author: ebastler
author_rank: Super Contributor
timestamp: June 29, 2019, 06:41:27 pm
content: Quote from: The_PCB_Guy on June 29, 2019, 06:33:05 pmI realize that you want to avoid disclosing what the actual device and product will be. But that makes this discussion rather obscure and confusing.So where does the code on themainboardcome from? Is that pirated from Agilent? Or is your board meant to be a third-party accessory that will be used with genuine Agilent products, replacing an overly expensive Agilent add-on?

author: The_PCB_Guy
author_rank: Regular Contributor
timestamp: June 29, 2019, 06:56:32 pm
content: Quote from: ebastler on June 29, 2019, 06:41:27 pmYou are absolutely right, this is only getting more complicated. It's not worth keeping it a secret, you guys deserve the details.I have reverse-engineered the Agilent DSOXLAN LAN/VGA module for the Agilent/Keysight DSOX2000 and 3000 series oscilloscopes. I bought one for a little over $200 and I thought I could make one for less, so I took it as a challenge for myself. I haven't done much in the way of reverse-engineering, so I figured this would be good experience for me.As many of you probably know, the DSOXLAN is a module which plugs in via a card edge connector to the main board inside the scope. The processor on the scope's main board is what loads the configuration into the FPGA on the module. My goal was to create my own DSOXLAN module that works the same way.There are no labels on the existing module indicating patents.Hopefully this clears things up a bit.Best,Matt

author: ebastler
author_rank: Super Contributor
timestamp: June 29, 2019, 07:48:09 pm
content: Quote from: The_PCB_Guy on June 29, 2019, 06:56:32 pmAha -- thank you! That clears up the fog.That sounds like a project that will see some interest among forum members. I don't have a DSOX scope, but am looking forward to seeing your project described once it's ready for prime time. Best of luck on the finishing stretch!

author: The_PCB_Guy
author_rank: Regular Contributor
timestamp: June 30, 2019, 12:31:51 am
content: Quote from: ebastler on June 29, 2019, 07:48:09 pmI hope it will see some interest. It started from me designing a LAN module in order to hack the DSOX3024A I bought to add all the features. That was too easy though, and I decided to buy a LAN/VGA module instead and try to reverse-engineer it. I think I might share it now and get it reviewed before I go ahead and order the boards. I want to make sure everything makes sense, and I need more sets of eyes on it.

author: The_PCB_Guy
author_rank: Regular Contributor
timestamp: June 30, 2019, 03:28:40 am
content: Apologies for my double-post, but I just wanted to add a link to my new thread describing the process of reverse-engineering the board:https://www.eevblog.com/forum/projects/dsfauxlan-reverse-engineering-the-agilentkeysight-dsoxlan-lanvga-module/new/#new