On schematics, generally.
#1
Boost Pope
![](/mt2011/images_td/ranks/supporter1.gif)
![](/mt2011/images_td/ranks/smod.png)
Thread Starter
iTrader: (8)
Join Date: Sep 2005
Location: Chicago. (The less-murder part.)
Posts: 33,339
Total Cats: 6,793
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
As many of you know, I am an engineer. Specifically, for the past decade or so I've been working with a company that builds networkable digital audio consoles and routers for radio stations, and I'm sort of their general-purpose "special problems" guy.
This morning, I was doing some software testing on one of our products. This device, like most of the things we build, uses a small microcontroller to handle network I/O and some of the user-interface features. It's basically a complete ARM9-based computer on a circuit board the size of a laptop memory DIMM, running Windows CE embedded edition. As I finished configuring it and prepared to run through the test, I found that the device would not obey my command (issued via the ethernet interface) to do a hard reset on itself. It responded back to me that it was preparing to reset, but it never actually did.
Weird **** occasionally happens, and I assumed this to be a software bug. I re-loaded the old code, and had the same problem. So I grabbed another controller, stuck it in, and had the same problem yet again. I grabbed a third controller, stuck it in, and it worked perfectly.
After a moment's reflection I realized that the first two controllers I was using had come from a production batch which we just received a few days prior. I almost never use new hardware in my lab, but another engineer had swiped all of my old test boards while I was out of the office, so I'd taken a few new ones from manufacturing inventory. (The third was one of my old boards from a production run last year that Dave hadn't swiped because it was in my desk drawer in my office rather than lying in plain sight in my lab.)
Uh oh.
Now, I'm not going to name names, but we'll just say that these boards are a standard product made by an established company that produces embedded microcontrollers for all sorts of different consumer and industrial applications. Kiosks, point-of-sale terminals, vending machines, set-top boxes, etc. If you live in a country that has both electricity and commerce, there's a pretty good chance that you've used one of their products.
Now, it just so happens that the company which produces these has chosen to make the schematics for them available to its customers. They don't have to do this, but they choose to. So I quickly printed off a copy of the schematic for the reset circuit, grabbed a scope and a logic analyzer, and started probing through the circuit which does the actual reset function.
On the working board, I found that a reset command correctly halted the watchdog IC which then issued a 50ms reset pulse to the CPU. On the non-working boards, I found that while the pin on the CPU that's supposed to go low when I send the command was indeed going low, the watchdog was just sitting there idle. A little more probing revealed that the N-channel FET which receives the signal from the CPU and triggers the watchdog wasn't doing anything; it was just sitting there conducting across the drain-source junction all the time, regardless of what voltage was applied to the gate. I lifted the drain leg on the FET and powered the board back up, and it immediately went into reset mode.
That's the end of the technobabble, I promise.
I put the board under a microscope (these parts are only 1.3mm wide) and found that the laser-etched code on the top of the FET didn't match what was on the schematic. On the working boards, it was labeled "303", which corresponds to the Fairchild FDV303N part number that's supposed to be there. On the non-working boards, that location had a part on it that said "WM9", and that didn't match any FET that I could find in the whole Fairchild catalog.
They're putting the wrong part on the board!
I then called the company and spoke with one of their engineers. I described the problem and told him what I'd found in my testing, and that I suspected that the component that was supposed to be an enhancement-mode N-channel FET... wasn't. He then went out to the production line and within just a few minutes located a reel (these components come on large reels like '60s-vintage audiotapes) which had an incorrect barcode label on it. The assembly robot had indeed been grabbing the wrong parts and sticking them on the boards.
Now, two good things came of this:
The first is that we obviously benefited from being able to immediately put a shipment hold on all of our products until we can go through our inventory and weed out all the units from the bad batch. And since we now know exactly what to look for, that should only take about a day, after which we'll be able to resume production.
The second is that our supplier, the designer and manufacturer of these boards, has received the same benefit. Apparently we received one of the first few batches of boards from this production run, so they too can go and track down the few other companies that they've shipped boards to from that run and make sure that they don't run into the same problem that we did, and since they located the bad reel immediately, they can restart the line first thing tomorrow morning and make a new run of working boards even before they've gotten the old ones back.
Our supplier, which designs and manufactures these boards and has a vested interest in protecting their intellectual property from counterfeiting, has been spared tens of thousands of dollars in losses, damage to their reputation, and maybe even a lawsuit or two, all because one of their customers was able to diagnose and pinpoint a trivial manufacturing problem that had eluded their own QC.
Because they chose to share their schematics with their customers.
Just thought I'd share that.
This morning, I was doing some software testing on one of our products. This device, like most of the things we build, uses a small microcontroller to handle network I/O and some of the user-interface features. It's basically a complete ARM9-based computer on a circuit board the size of a laptop memory DIMM, running Windows CE embedded edition. As I finished configuring it and prepared to run through the test, I found that the device would not obey my command (issued via the ethernet interface) to do a hard reset on itself. It responded back to me that it was preparing to reset, but it never actually did.
Weird **** occasionally happens, and I assumed this to be a software bug. I re-loaded the old code, and had the same problem. So I grabbed another controller, stuck it in, and had the same problem yet again. I grabbed a third controller, stuck it in, and it worked perfectly.
After a moment's reflection I realized that the first two controllers I was using had come from a production batch which we just received a few days prior. I almost never use new hardware in my lab, but another engineer had swiped all of my old test boards while I was out of the office, so I'd taken a few new ones from manufacturing inventory. (The third was one of my old boards from a production run last year that Dave hadn't swiped because it was in my desk drawer in my office rather than lying in plain sight in my lab.)
Uh oh.
Now, I'm not going to name names, but we'll just say that these boards are a standard product made by an established company that produces embedded microcontrollers for all sorts of different consumer and industrial applications. Kiosks, point-of-sale terminals, vending machines, set-top boxes, etc. If you live in a country that has both electricity and commerce, there's a pretty good chance that you've used one of their products.
Now, it just so happens that the company which produces these has chosen to make the schematics for them available to its customers. They don't have to do this, but they choose to. So I quickly printed off a copy of the schematic for the reset circuit, grabbed a scope and a logic analyzer, and started probing through the circuit which does the actual reset function.
On the working board, I found that a reset command correctly halted the watchdog IC which then issued a 50ms reset pulse to the CPU. On the non-working boards, I found that while the pin on the CPU that's supposed to go low when I send the command was indeed going low, the watchdog was just sitting there idle. A little more probing revealed that the N-channel FET which receives the signal from the CPU and triggers the watchdog wasn't doing anything; it was just sitting there conducting across the drain-source junction all the time, regardless of what voltage was applied to the gate. I lifted the drain leg on the FET and powered the board back up, and it immediately went into reset mode.
That's the end of the technobabble, I promise.
I put the board under a microscope (these parts are only 1.3mm wide) and found that the laser-etched code on the top of the FET didn't match what was on the schematic. On the working boards, it was labeled "303", which corresponds to the Fairchild FDV303N part number that's supposed to be there. On the non-working boards, that location had a part on it that said "WM9", and that didn't match any FET that I could find in the whole Fairchild catalog.
They're putting the wrong part on the board!
I then called the company and spoke with one of their engineers. I described the problem and told him what I'd found in my testing, and that I suspected that the component that was supposed to be an enhancement-mode N-channel FET... wasn't. He then went out to the production line and within just a few minutes located a reel (these components come on large reels like '60s-vintage audiotapes) which had an incorrect barcode label on it. The assembly robot had indeed been grabbing the wrong parts and sticking them on the boards.
Now, two good things came of this:
The first is that we obviously benefited from being able to immediately put a shipment hold on all of our products until we can go through our inventory and weed out all the units from the bad batch. And since we now know exactly what to look for, that should only take about a day, after which we'll be able to resume production.
The second is that our supplier, the designer and manufacturer of these boards, has received the same benefit. Apparently we received one of the first few batches of boards from this production run, so they too can go and track down the few other companies that they've shipped boards to from that run and make sure that they don't run into the same problem that we did, and since they located the bad reel immediately, they can restart the line first thing tomorrow morning and make a new run of working boards even before they've gotten the old ones back.
Our supplier, which designs and manufactures these boards and has a vested interest in protecting their intellectual property from counterfeiting, has been spared tens of thousands of dollars in losses, damage to their reputation, and maybe even a lawsuit or two, all because one of their customers was able to diagnose and pinpoint a trivial manufacturing problem that had eluded their own QC.
Because they chose to share their schematics with their customers.
Just thought I'd share that.
#6
Boost Czar
![](/mt2011/images_td/ranks/supporter1.gif)
![](/mt2011/images_td/ranks/admin.png)
iTrader: (62)
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,688
Total Cats: 4,113
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
doesn't, not don't.
they started getting more conservative with letting the schematics free since China manufacturers started trying to copy the boards and circuits.
But it's the same reason why I've spent countless hours creating a how to MS your miata while profiting from building them for people in the same time; when I make and publish a mistake, someone typically catches it and I can correct and/or improve.
they started getting more conservative with letting the schematics free since China manufacturers started trying to copy the boards and circuits.
But it's the same reason why I've spent countless hours creating a how to MS your miata while profiting from building them for people in the same time; when I make and publish a mistake, someone typically catches it and I can correct and/or improve.
#7
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
Thanks for helping me correct and improve my English ![wink](https://www.miataturbo.net/images/smilies/wink.gif)
... and they believe this conservative attitude will stop counterfeiting?
I'm more into software, but I don't use OSS because it's cool or cheaper, but because support is more efficient.
Lots of OSS company make money from their reputation : how their stuff is used around the world, how they are able to provide support and upgrade their service with time. All these things an unknown small company can't provide without a strong background.
I can understand a hardware company can be afraid of these changes, but
- today with internet and easy communications all around the world you can't avoid it.
- I thought B&G already knew how to benefit from opening their products.
![wink](https://www.miataturbo.net/images/smilies/wink.gif)
... and they believe this conservative attitude will stop counterfeiting?
I'm more into software, but I don't use OSS because it's cool or cheaper, but because support is more efficient.
Lots of OSS company make money from their reputation : how their stuff is used around the world, how they are able to provide support and upgrade their service with time. All these things an unknown small company can't provide without a strong background.
I can understand a hardware company can be afraid of these changes, but
- today with internet and easy communications all around the world you can't avoid it.
- I thought B&G already knew how to benefit from opening their products.
#12
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
Why wasn't the error caught in the test stations at the production line?
Lots of products get board-level in-circuit-testing (bed of nails fixture and relays and software that check individual components on the PCB), and just about everyone does 100% black-box testing of the final product.
Lots of products get board-level in-circuit-testing (bed of nails fixture and relays and software that check individual components on the PCB), and just about everyone does 100% black-box testing of the final product.
#13
Boost Pope
![](/mt2011/images_td/ranks/supporter1.gif)
![](/mt2011/images_td/ranks/smod.png)
Thread Starter
iTrader: (8)
Join Date: Sep 2005
Location: Chicago. (The less-murder part.)
Posts: 33,339
Total Cats: 6,793
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
These boards are probably pretty hard to test. The old fashioned bed-o-nails style apparatus (or any contact-style probe) wouldn't work, as several of the components on this board are in BGA packages. JTAG would in theory be a possibility, though you'd need to implement an FPGA on the board to manage it and there just isn't any space available for one (remember, this is a whole computer, including 64MB RAM, 1GB flash, an ethernet MAC, RTC, power regulator, SPI, I2C, USB, RS232, 32 GPIO ports and even a sound card, all on a board which, quite literally, is exactly the same size as a DDR2 laptop memory DIMM.) You're pretty much limited to functional testing. And they do that, however I can see why they missed this one.
The circuit in question, as I said, is a watchdog. For everyone else's benefit, a watchdog is a device (usually implemented in hardware) which monitors whether or not a certain circuit (usually something like a microprocessor) is operating correctly and, if not, resets it. Specifically, it expects to receive a signal from the CPU every hundred milliseconds or so saying "everything is ok" and, if it doesn't, it assumes that the CPU has crashed and needs resetting. So, in normal operation, the watchdog never does anything. You have to actually crash the code in order to see it work.
Well, normally you would.
We're actually using it in a manner for which it was not intended. You see, CPUs require time to boot up, so it's important that there be a way to disable the watchdog during the period when the CPU is loading code and initializing, or else it would start resetting the processor before the processor could start saying "I'm ok." So there's an enable/disable line which is tied to a pin on the CPU that is normally high when the CPU first starts up, and then as soon as the CPU starts actually operating, it's supposed to pull that line down. This enables the watchdog, and after that, the CPU has to keep pinging it in order to keep it happy.
In our application, we chose to not implement the actual watchdog mechanism per se, but we do use it as a remote-reset controller. So at powerup, we never pull down the enable line, meaning that the watchdog stays idle even once the CPU is up. When we want to do a reset, only then do we pull down the enable line and let the watchdog reset the processor.
Well, it's that enable line that wasn't working. And in a "normal" application you'd never know it, because even after you pull it down, you assume that the watchdog isn't going to activate because you're pinging it. You'd have to have a special test where you deliberately crash the processor (or halt the watchdog ping process) in order to see if it was functional. And frankly, it's such a damned simple circuit that there's almost nothing that can go wrong with it.
Unless you've got the wrong parts on the reel, of course.
![big grin](https://www.miataturbo.net/images/smilies/biggrin.gif)
#14
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
The first knock off I'm aware of was made by an outfit called Fuel Injection Pro, who marketed it to the Starion crowd. They seem to have started with the V2.2 schematics, but did their own layout. For some reason, they swapped the DB37 for a DB25. They board layout used thin traces for everything - I've personally seen about three of them with the same burned injector driver because they thought a 12.5 mil trace was suitable for an injector output.
Around the same time, someone else rolled out a board that was a V2.2 and relay board combined in one box, called the Mini-MS. Bowling & Grippo semi-tolerated this one and today it appears to be built, under license from B&G, in Brazil because the Brazilian government charges ridiculously high tariffs.
Next one that popped up was a company in the UK that ordered MegaSquirt kits from us and assembled them. Unfortunately, they had a rash of assembly issues, poor customer support, and often didn't pay their bills on time. After too many complains, Bowling & Grippo blacklisted them and forbid any official distributors to sell to them. They retaliated by having a V3.0 board professionally copied - this one appears to have the traces all in exactly the same spots, probably milled off the top layers - and making counterfeit units. This is the only case I'm aware of where somebody attempted an exact duplicate of a V3.0.
Another European outfit decided to build something similar to the V4.0 board Joe talked about, in surface mount with an MS2 processor. It appears they didn't provide very much support, as for a while people asking for help with this thing popped up often on the MegaSquirt support forums. They seem to have lost a lot of publicity when Bowling & Grippo let Google Ads know these guys were making unauthorized use of the MegaSquirt name. Haven't seen much about this lately - they may be selling less, or they may have disappeared into their own parallel universe of forums where it's not referred to as a MegaSquirt at all.
The last one to appear was a Turkish outfit where they simply took the board PDFs of the V2.2 board off the MegaSquirt site and printed up a batch, adding a daughter board of unknown function. Apparently they hadn't seen a real V2.2, as the boards they made were red instead of green. These guys would sell the units on eBay at very low prices, then be nowhere to be found when the owners were trying to figure out how to use the boards and what on earth the daughter board was for.
In some ways, it seems as if the less competent counterfeiters have managed to cause more frustration for buyers than the ones who actually know what they're doing.
#15
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
All OS activities evolve over time and you can make money after some time (mostly by reputation for support which you buy into by buying services/hardware with well known function/layout).
You can even charge for nice services even though the goods are possible to multiply digitally at no cost at all (books/music/video).
I could have reduced the cost of my DIYPNP by half (at least) by choosing the hard path of building everything on my own based on the oldest possible MB (and hordes of scattered instructions), but there are reasons I didn't.
OS is only free if your time is worthless
![](https://www.miataturbo.net/images/smilies/smile.gif)
So there is money to be made by saving customer time and improving the experience (the warm and fuzzy feeling when things work already at the second try is addictive).
You can even charge for nice services even though the goods are possible to multiply digitally at no cost at all (books/music/video).
I could have reduced the cost of my DIYPNP by half (at least) by choosing the hard path of building everything on my own based on the oldest possible MB (and hordes of scattered instructions), but there are reasons I didn't.
OS is only free if your time is worthless
![wink](https://www.miataturbo.net/images/smilies/wink.gif)
![](https://www.miataturbo.net/images/smilies/smile.gif)
So there is money to be made by saving customer time and improving the experience (the warm and fuzzy feeling when things work already at the second try is addictive).
#16
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
Well.. MS lacks a lot of stuff that became possible with MSExtra code.
I ran into KDFI and my Miata is running on it. Works like a charm and all extra features are standard on board. It is even in a IP65 enclosure.
Check www.k-data.org or www.bs-autotune.nl.
I ran into KDFI and my Miata is running on it. Works like a charm and all extra features are standard on board. It is even in a IP65 enclosure.
Check www.k-data.org or www.bs-autotune.nl.
#19
Boost Pope
![](/mt2011/images_td/ranks/supporter1.gif)
![](/mt2011/images_td/ranks/smod.png)
Thread Starter
iTrader: (8)
Join Date: Sep 2005
Location: Chicago. (The less-murder part.)
Posts: 33,339
Total Cats: 6,793
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
It's interesting how this simple thread about a bad transistor on an embedded microcontroller in an audio console has somehow been steered into a discussion about B&G and the design of the Megasquirt.
Well, the damage is done, so I guess I'll head down the rabbit-hole myself.
In response to RV06, Brainey sort of touched on part of it, but there's really a lot of history behind the Megasquirt story. Now, I'll just point out right up-front that I have never actually spoken with Bruce Bowling or Al Grippo, who are the B and G in B&G. I have spent some time on the phone chatting with Ken, and exchanged a few emails with Jean, the DIY folks, and a few other "inside players." But I'll ask lenience (and claim ignorance) if any part of what I say to follow is in conflict with reality.
First off, as Brainey said, Bruce and Al haven't been intimately involved in the MS design for quite a while. It's important to keep in mind, however, that they did start it, and they did NOT release it an open-source project. In fact, B&G hold several valid patents on the underlying technology and applications used in the Megasquirt family of products. The first was filed in 2003, and three more were filed in 2007. Here they are: Link to USPTO. (Not that this really means as much as it used to. I have a patent on a rather unusual dump I took a few years ago, which coiled up in the toilet bowl in a nonobvious way.)
Of course, in addition to the patents, they also claim copyright on pretty much every single aspect of the design, from the schematics to the source code. And this is all their right to do.
And that's where it gets confusing.
Somewhere along the line, somebody downloaded the source code for the original MS1, back when it was just a simple fuel-only controller, and made a change to it. This change improved the functionality of the system, so they shared it. And instead of suing them for copyright infringement, B&G issued a sort of "endorsement-by-not-having-them-killed".
And then, somebody else came along and made an improvement to the hardware. I don't know what the first one was. Maybe the circuit to control a single ignition coil, maybe the one to open a fast-idle solenoid. It's really not important (except to the one guy who's out there saying "dammit, I designed that first modification, and it was the one that did X, and I can't believe you young whipper-snappers have forgotten that!"). What's important is that they shared that modification. Other people copied it. Eventually, B&G incorporated it into their next board revision. (That alone was probably IP theft, but nobody cared because everybody benefitted.)
In essence, a de-facto state of open-sourceness spanwed all by itself, and all Bruce and Al had to do was sit back and make sure that everyone bought their circuit boards from a single, officially sanctioned manufacturer, and that they collected a small royalty on every Board-CPU-MAP Sensor combo that anybody sold as compensation for their time spent regulating the manufacturing process.
Now, getting back to the present day, it's true that most of the development of the MS3 product was done by people other than Bruce and Al, for little to no financial compensation. (Some money did change hands, but not much.) And of course, the public have greatly contributed to the design as well, not just little circuits like my ignition driver and DIY's PnP stuff, but code which has found its way into "official" release.
But B&G still own the foundational technology, and everything that came after is what's known in US copyright law as a Derivative Work. So while I don't really know whether they consider this to be a full-time job (or even a source of any revenue at all) Bruce & Al continue to wield ultimate authority over the manufacture and distribution of the hardware, and over application of the software.
And of course, Matt brings up the counterfeiting issue, which, to me, is sort of the root cause of most of the current grief which I perceive to exist. This certainly has been a problem in the past, and it's not so much an issue I think of lost revenue (though I could be wrong) as one of frustration, wasted time, and public image. So that's really what they're on about.
So, to me, there are two issues at hand:
1: Will withholding public release of the schematics deter counterfeiting?
No. I'm pretty sure it won't. Not even for a little while.
The reality of the situation is that there's just nothing all that complicated about the design. If they've held true to form then the board only has signal traces on the outer layers, so it'll be quite easy to copy with a simple disassembly and visual inspection. Maybe a little solvent to take the white conformal coating off, but no need for any fancy surface-grinding; these folks never do anything create with the power and ground planes.
And even if you didn't want to tear a board apart, I pretty much guarantee that given a week of evenings, some good oatmeal stout, a copy of the I/O pinout, the complete musical anthologies of Trans-Siberian Orchestra and the East Village Opera Company, an oscilloscope, a multimeter, and a pencil (all of which, except the evenings, I have at my disposal) I could produce a functionally identical schematic for the MS3 CPU board. To be honest, I will probably do this anyway if and when I decide to build one for myself, simply so that I have it for my own reference.
And, of course, that's just me. Speaking from the perspective of someone who works in the electronics manufacturing industry at an actual professional level (where our products sell for $200,000 each, not $200), there are a lot of folks in India, China and Korea whose motivation and availability of free time compensates for their lack of good-quality beer such that I'd expect Sanjit to be able to come up with a working copy in maybe a single 24-36 hour stretch, provided that he is supplied with an adequate provision of tea.
2: What will be the long term ramifications of continued secrecy?
Well, stagnation, for one. Even on this very forum, we have people jumping ship and deciding to go off and support other ECU projects or even design their own. When this Arduino thing looks like it's ready for prime-time, I fully intend to volunteer to design the board for it.
MegaSquirt may never have been open-source in the strictest sense, but without the involvement of the community of volunteers it would never have gotten off the ground in the first place. At best, B&G would be selling a few boards a year to people with carburetted, distributor-equipped V8s (or very fancy lawnmowers).
There'd be no DIYAutoTune. There'd be no JBPerf. There'd be no Hi-Rez, no sequential injection, no TunerStudio, no support for the 4G63 or NB trigger patterns, no launch control, no EBC, no FlexFuel support... In short, there'd be no Megasquirt as we know it today.
So what makes the future of the MS3 any different from the legacy of the MS1? Granted, we do seem to enjoy the benefit of a small cadre of officially-sanctioned insiders who, collectively, constitute a de-facto oligarchy. And I'm not saying that in a bad way, per se; have you ever tried making a suggestion to Greddy or Hydra? Fuhgeddaboudit. It's just that, given the choice, I'd exit the cathedral in favor of the bazaar.
Matt, I'm actually kind of surprised that you remember our conversation so far back about what I informally referred to at the time as the Rev 4 board. I don't think I mentioned it to anybody else, but essentially the story is this:
A couple of years ago, I was thinking about doing a *****-out engine build. And rather than assemble yet another hack-job MS2 filled with modkits, I decided that enough was enough and what we needed was a single circuit board onto which the MS2 CPU would plug (as it does today with the Rev 3 / Rev 3.57), however rather than require the user to apply a whole slew of modkits and daughterboards for trigger in, ignition out, four-channel lo-z injection, IAC, EBC, fan drive, baro, launch, table switch (etc, etc) I would have traces on the board sufficient to accommodate everything. Every single "modkit" that's in common use would already be right there in circuit form, and all you'd have to do is pop in the appropriate components and run a few short jumper wires to connect the right function to the right CPU pin.
I wasn't thinking about it as a commercial product, just something I'd make for myself and maybe a few friends. So I actually sat down and started designing it. Sketched it all out in block form with a pencil, did some rough board layouts, found a connector that sucked far less than the DB-37 to use for all the I/O, and actually started designing the schematic. Obviously I was copying some of it from B&G's old stuff (no need to re-invent everything), but I figured nobody would mind since I wasn't going to be selling them.
Then they announced the MS3.
Now, I honestly don't remember who said what to whom, but I wound up having the idea in my head that this sucker was going to do it all. All the inputs, all the outputs, reliable onboard lo-z drive, instant ******** at the push of a button, and no more stacking of boards. It was that last part that I turned out to be wrong as hell about, but obviously I didn't know that at the time.
At any rate, this news coincided with my getting fairly busy with some projects at work, and I pretty much dropped the whole thing. I don't have the slightest idea where the design files are any more. For a little while, I figured I'd finish it and then offer it to B&G as a release candidate for the "real" 4.0 board, but frankly, even if I did know where everything was I probably wouldn't put the time in to finish the design at this point. The MS3 is "close enough" to being what I wanted that I'll probably just end up buying one when the time comes.
I just wish that the thought made me happy and full of anticipation, rather than giving me the feeling that I'll be settling for second-best.
Actually, I can prove that I don't. Here is what my DevTrack page looked like when I got into work this morning:
Well, the damage is done, so I guess I'll head down the rabbit-hole myself.
In response to RV06, Brainey sort of touched on part of it, but there's really a lot of history behind the Megasquirt story. Now, I'll just point out right up-front that I have never actually spoken with Bruce Bowling or Al Grippo, who are the B and G in B&G. I have spent some time on the phone chatting with Ken, and exchanged a few emails with Jean, the DIY folks, and a few other "inside players." But I'll ask lenience (and claim ignorance) if any part of what I say to follow is in conflict with reality.
First off, as Brainey said, Bruce and Al haven't been intimately involved in the MS design for quite a while. It's important to keep in mind, however, that they did start it, and they did NOT release it an open-source project. In fact, B&G hold several valid patents on the underlying technology and applications used in the Megasquirt family of products. The first was filed in 2003, and three more were filed in 2007. Here they are: Link to USPTO. (Not that this really means as much as it used to. I have a patent on a rather unusual dump I took a few years ago, which coiled up in the toilet bowl in a nonobvious way.)
Of course, in addition to the patents, they also claim copyright on pretty much every single aspect of the design, from the schematics to the source code. And this is all their right to do.
And that's where it gets confusing.
Somewhere along the line, somebody downloaded the source code for the original MS1, back when it was just a simple fuel-only controller, and made a change to it. This change improved the functionality of the system, so they shared it. And instead of suing them for copyright infringement, B&G issued a sort of "endorsement-by-not-having-them-killed".
And then, somebody else came along and made an improvement to the hardware. I don't know what the first one was. Maybe the circuit to control a single ignition coil, maybe the one to open a fast-idle solenoid. It's really not important (except to the one guy who's out there saying "dammit, I designed that first modification, and it was the one that did X, and I can't believe you young whipper-snappers have forgotten that!"). What's important is that they shared that modification. Other people copied it. Eventually, B&G incorporated it into their next board revision. (That alone was probably IP theft, but nobody cared because everybody benefitted.)
In essence, a de-facto state of open-sourceness spanwed all by itself, and all Bruce and Al had to do was sit back and make sure that everyone bought their circuit boards from a single, officially sanctioned manufacturer, and that they collected a small royalty on every Board-CPU-MAP Sensor combo that anybody sold as compensation for their time spent regulating the manufacturing process.
Now, getting back to the present day, it's true that most of the development of the MS3 product was done by people other than Bruce and Al, for little to no financial compensation. (Some money did change hands, but not much.) And of course, the public have greatly contributed to the design as well, not just little circuits like my ignition driver and DIY's PnP stuff, but code which has found its way into "official" release.
But B&G still own the foundational technology, and everything that came after is what's known in US copyright law as a Derivative Work. So while I don't really know whether they consider this to be a full-time job (or even a source of any revenue at all) Bruce & Al continue to wield ultimate authority over the manufacture and distribution of the hardware, and over application of the software.
And of course, Matt brings up the counterfeiting issue, which, to me, is sort of the root cause of most of the current grief which I perceive to exist. This certainly has been a problem in the past, and it's not so much an issue I think of lost revenue (though I could be wrong) as one of frustration, wasted time, and public image. So that's really what they're on about.
So, to me, there are two issues at hand:
1: Will withholding public release of the schematics deter counterfeiting?
No. I'm pretty sure it won't. Not even for a little while.
The reality of the situation is that there's just nothing all that complicated about the design. If they've held true to form then the board only has signal traces on the outer layers, so it'll be quite easy to copy with a simple disassembly and visual inspection. Maybe a little solvent to take the white conformal coating off, but no need for any fancy surface-grinding; these folks never do anything create with the power and ground planes.
And even if you didn't want to tear a board apart, I pretty much guarantee that given a week of evenings, some good oatmeal stout, a copy of the I/O pinout, the complete musical anthologies of Trans-Siberian Orchestra and the East Village Opera Company, an oscilloscope, a multimeter, and a pencil (all of which, except the evenings, I have at my disposal) I could produce a functionally identical schematic for the MS3 CPU board. To be honest, I will probably do this anyway if and when I decide to build one for myself, simply so that I have it for my own reference.
And, of course, that's just me. Speaking from the perspective of someone who works in the electronics manufacturing industry at an actual professional level (where our products sell for $200,000 each, not $200), there are a lot of folks in India, China and Korea whose motivation and availability of free time compensates for their lack of good-quality beer such that I'd expect Sanjit to be able to come up with a working copy in maybe a single 24-36 hour stretch, provided that he is supplied with an adequate provision of tea.
2: What will be the long term ramifications of continued secrecy?
Well, stagnation, for one. Even on this very forum, we have people jumping ship and deciding to go off and support other ECU projects or even design their own. When this Arduino thing looks like it's ready for prime-time, I fully intend to volunteer to design the board for it.
MegaSquirt may never have been open-source in the strictest sense, but without the involvement of the community of volunteers it would never have gotten off the ground in the first place. At best, B&G would be selling a few boards a year to people with carburetted, distributor-equipped V8s (or very fancy lawnmowers).
There'd be no DIYAutoTune. There'd be no JBPerf. There'd be no Hi-Rez, no sequential injection, no TunerStudio, no support for the 4G63 or NB trigger patterns, no launch control, no EBC, no FlexFuel support... In short, there'd be no Megasquirt as we know it today.
So what makes the future of the MS3 any different from the legacy of the MS1? Granted, we do seem to enjoy the benefit of a small cadre of officially-sanctioned insiders who, collectively, constitute a de-facto oligarchy. And I'm not saying that in a bad way, per se; have you ever tried making a suggestion to Greddy or Hydra? Fuhgeddaboudit. It's just that, given the choice, I'd exit the cathedral in favor of the bazaar.
Matt, I'm actually kind of surprised that you remember our conversation so far back about what I informally referred to at the time as the Rev 4 board. I don't think I mentioned it to anybody else, but essentially the story is this:
A couple of years ago, I was thinking about doing a *****-out engine build. And rather than assemble yet another hack-job MS2 filled with modkits, I decided that enough was enough and what we needed was a single circuit board onto which the MS2 CPU would plug (as it does today with the Rev 3 / Rev 3.57), however rather than require the user to apply a whole slew of modkits and daughterboards for trigger in, ignition out, four-channel lo-z injection, IAC, EBC, fan drive, baro, launch, table switch (etc, etc) I would have traces on the board sufficient to accommodate everything. Every single "modkit" that's in common use would already be right there in circuit form, and all you'd have to do is pop in the appropriate components and run a few short jumper wires to connect the right function to the right CPU pin.
I wasn't thinking about it as a commercial product, just something I'd make for myself and maybe a few friends. So I actually sat down and started designing it. Sketched it all out in block form with a pencil, did some rough board layouts, found a connector that sucked far less than the DB-37 to use for all the I/O, and actually started designing the schematic. Obviously I was copying some of it from B&G's old stuff (no need to re-invent everything), but I figured nobody would mind since I wasn't going to be selling them.
Then they announced the MS3.
Now, I honestly don't remember who said what to whom, but I wound up having the idea in my head that this sucker was going to do it all. All the inputs, all the outputs, reliable onboard lo-z drive, instant ******** at the push of a button, and no more stacking of boards. It was that last part that I turned out to be wrong as hell about, but obviously I didn't know that at the time.
At any rate, this news coincided with my getting fairly busy with some projects at work, and I pretty much dropped the whole thing. I don't have the slightest idea where the design files are any more. For a little while, I figured I'd finish it and then offer it to B&G as a release candidate for the "real" 4.0 board, but frankly, even if I did know where everything was I probably wouldn't put the time in to finish the design at this point. The MS3 is "close enough" to being what I wanted that I'll probably just end up buying one when the time comes.
I just wish that the thought made me happy and full of anticipation, rather than giving me the feeling that I'll be settling for second-best.
Actually, I can prove that I don't. Here is what my DevTrack page looked like when I got into work this morning:
![](http://img37.imagefra.me/i51s/thraddax/lmih_3ea_u77ts.gif)
#20
![Default](https://www.miataturbo.net/images/icons/icon1.gif)
I agree.. It is just sad to see te evolution of the software/firmware going strong. But the hardware keeps behind. The time between the anouncement of MS3 and release was like 2 years? The firmware has many features like shaft RPM, multiple EGT, etc. But there is just no way to hook up those sensors.
Matt has made some improvements but you could ask if they are legal. In a way he made his own B&G boards. He only uses the Microsquirt board to drive it. Not the MAP/CPU/PCB combo. If this is legal, making a V4board would be legal too? One step further you would lose the MS3 board and just put the processor on the new v4 board for better hardware design.
Now who is suffering? The extra code isn't written by B&G. The Hardware isn't made /developed with B&G as I understood from the post above?
The scene would expand if the hardware was a little better and the MS3 could compete with systems that are way more expensive (but not better in software design).
I just see disadvantages by keeping it secret.
Don't get me wrong. If B&G made some piece of hardware that rocked like the MSExtra firmware does, we did not have these kind of conversations, did we? Maybe we were talking about enhancements or upgrades that would push evolution. But we were not discussing the MS3 to do the hardwaredesign all over again, would we?
Now Matt is in the middle. If he makes some kind of expansion board that would unlock all features.. But wouldn't that be counterfeiting as in PCB V4?
Matt has made some improvements but you could ask if they are legal. In a way he made his own B&G boards. He only uses the Microsquirt board to drive it. Not the MAP/CPU/PCB combo. If this is legal, making a V4board would be legal too? One step further you would lose the MS3 board and just put the processor on the new v4 board for better hardware design.
Now who is suffering? The extra code isn't written by B&G. The Hardware isn't made /developed with B&G as I understood from the post above?
The scene would expand if the hardware was a little better and the MS3 could compete with systems that are way more expensive (but not better in software design).
I just see disadvantages by keeping it secret.
Don't get me wrong. If B&G made some piece of hardware that rocked like the MSExtra firmware does, we did not have these kind of conversations, did we? Maybe we were talking about enhancements or upgrades that would push evolution. But we were not discussing the MS3 to do the hardwaredesign all over again, would we?
Now Matt is in the middle. If he makes some kind of expansion board that would unlock all features.. But wouldn't that be counterfeiting as in PCB V4?