EEVblog Electronics Community Forum
Electronics => Projects, Designs, and Technical Stuff => Topic started by: classified on March 21, 2022, 04:50:12 pm
-
hi all now i am doing an eletric bycical of types that i am hopeing to also sell to others and everything (well 90%) of the eletronics is self made (not off the shelf)
and i am wondering as i belive in R.T.R (right to repair) but also at the smae time i dont want to be held responsible if something gos wrong
so what i am thinking of doing is suporting R.T.R in a differant way bacialy all the mane microcontroler coed will be locked (not readable by others) but for those who want to atempt repairs them self i will alow them to ask me and i can send them the infomation needed and even ability to edit some values on the microcontrolers
again i want to protect myself and others but also support R.T.R
i would like your own opinion on this pleas am i doing the right thing or could i do more
-
And everyone asking for the code will have to sign an NDA, or how do you want to keep control once it's out there?
-
With our product we just go full open source modulo everything that's affected by supplier NDA.
-
i was just thinking would something like open hardware but closed software still be classed as right to repair
but also have a bata test progame where others can help review test and sugest changes to the code (after signing a NDA of cause)
-
You could just have a .bin file downloadable instead of the code. If somebody really wants to clone your device they will do it anyay.
-
My stance is that if there's a strong reason to copy your device, someone is going to do it anyway. If the device is too complicated to reverse engineer, then the level of documentation required for service probably isn't going to make building a copy to much easier. There are exceptions to this rule, but they aren't overly common.
Here are my main points:
-Make good, usable schematics available. Don't be the guy who lasers all the part numbers off chips.
-Provide the required material such that someone could flash a new MCU if it were to be the faulty part.
-Provide reasonable documentation for the system architecture. That is, a basic overview of how the whole system works and what the MCU is doing. Doesn't have to be comprehensive, but a block diagram and some written documentation (ranging from a few sentences to 20 pages depending on complexity of the product) such that a tech could stand a reasonable chance at understanding, at a high level, how the device works.
-
Just make it possible to do component level repair.
If some microcontroller fails, offer the microcontroller with firmware preprogrammed for a reasonable fee (ex. cost of microcontroller in small volume purchases + shipping cost + a small fee for your time to program the chip)
If you're afraid of people ordering just the micro to clone your project, make a condition to send you the broken chip in order to get the new one. Maybe have a QR code sticker or something laser etched on the chip, where the QR code contains a unique serial number (where you bought the microcontroller from, programming date, firmware version etc) for your internal purposes.
If it can't be delivered like that, at least make it possible to export/back up settings in case a chip breaks so that user could import those settings into the new chip.
-
"sell" and "not responsible" is not going to happen...
You could try the Heathkit-approach, i.e. selling it as a kit plus a pre-programmed controller.
-
Microcontrollers rarely fail. People happily accept the fact that if this happens, it's a brick, then.
So it's enough you don't deliberately prevent repair.
Firmware can be closed and read/write protected, just don't do stupid DRM checks against swapped components, or the like.
Of course I encourage writing open-source firmware, but that often is not the reality.
You can also sell pre-programmed replacement MCUs if you so wish, with all the protections enabled.
-
and i am wondering as i belive in R.T.R (right to repair) but also at the smae time i dont want to be held responsible if something gos wrong
You will be responsible either way, and you should be. There is a reason automotive and e-bike design involves robust, fault tolerante, fail safe design.
A good example of this going wrong was in the tragic accident in Oss, in the Netherlands. In this case, a (likely well meaning) small company developed a small electric vehicle very similar really to electric bikes. To my understanding, the designer did not design this fault-tolerant, and when a connector to the throttle went open circuit (throttle was done with a resistive divider where the bottom resistor was a pot in the throttle body) this was interpreted as the throttle being 100% engaged, the vehicle drove at it's maximum speed, and could not be stopped at a railroad crossing. The vehicle, with the 5 children and the teacher driving it, was hit by a train as a result, with all passengers dying.
I'm sure that designer also had good intentions. But your device can kill - if your ebike module fails in some way that causes the motor to try and accelerate at 100% and it was because you didn't design it well, you *will* be responsible for this, no way around this.
*EDIT*: after looking this up further, 4 children died, the 5th child and the operator were severly injured. Research into the devices after the fact led to quite a number of alarming examples of failiure modes where the vehicle became unsafe (eg, the vehicle just going on without driver, brakes were undersized because it was assumed the engine would always be available to assist in breaking, etc).
-
My solution was to just sell any programmed part pre-programmed if needed for repair, it was about adding that threshold of making it harder to clone, but easy to repair, though so far only 2 of about 300 units had a microcontroller issue and they where both caused by rather extreme user error,
For my boards I will usually stick the component values under the parts, document test point voltages on the board and label some pins functions, so that they are less likely to come asking me to post generics or similar, also means documention can be lighter, as most of its laid out on the PCB meaning they rarely even get to the contacting me phase, I have sent people a stripped back schematic, but no netlists yet,
-
wow thank you all for your feed back and your own opinions on this it has given me ideas on how to maage thing batter
also i was planing on makeing all hardware open sauce and freely avaliable with full documentation includeing schmatics bloc diagrams of oparation and full data sheets right in the repair/manetanence manule
and to TheUnnamedMewbie i am well aware of things that can go wrong and i am makeing sure to put safty checks inplace for almost every part from each sensor to the battery peramiters and also makeing it so a driver needs to be in/on the Ebike for it to oparate (thou seat presure pad) and i will have a dedacated controler as a backup safty and if any safty check come back as a fail it will ether reduce the speed/limit the speed a lot lower (posabily about 10%-20% speed) or out right disable the battery
and to mariush i am going to have it ware all setting (well end user changable ones) are saved seperatly to a eeprom or a sdcard (not disided wich yet)