• Liga Nacional de Robótica de Competición
Liga Nacional de Robótica de Competición 15

On using reliable vendors for electronics components

The LNRC, the Spanish Robotic Competition League, was conceived in a living room in 2008, there was not such an institution anywhere in the world: the Lego League for example was (and is) a brand effort to place products in specific markets through puntual events and a world finale, not a league per-se.

Using unreliable sources impedes your learning of electronics

During our first 8 years the league counted on amateur robot builders to keep the league evolving and there were several geniuses that could keep the level high for several years… it was from 2008 until 2016 that the league evolved with this amateurship that drove improvement both in racing and sumo robots, these improvement can be seen in several videos and stats the LNRC has released through the years.

In 2017 the LNRC tried heavily to professionalize the teams, that would come with many hurdles but this was not a new kind of challenge as the league itself was considered amateur until it started getting attention and was sponsored by FANUC and Microlog for 5 years, before finally getting attention from Mouser in 2018. It all comes when good work and results come together.

One of the many challenges we found was “technical blockers”, for example when trying to introduce in-curve take-overs the lack of diagonal directional sensing was a problem and many accidents occured due to this reason, this paper addresses this specific issue, and in the LNRC videos you can see several instances of accidents in in-curve take-overs (seasons 7 to 12).

As these technical blockers started calling for better electronics (like LIDARs, redundant infrared sensors or high precision barometric sensors) and better software we discovered bad practices we had been doing that did not look that bad years ago. For example: did you know that when you buy a CNY70 (built in theory by Vishay) from Aliexpress some (most?) of the times you get clone devices. We never thought of all the different ways the counterfeit origin of this devices could affect us… we did not expect that this products could “impede or stop your learning of electronics” but it did many times.

There is no stackoverflow site or chrome plugin to tell whether a product is real or not, there are only some forum posts and obscure videos talking about this. And also these components usually work “somehow” so diagnosing problems is not simple at all: it works… somehow, but does not work exactly as expected.

Now you may say: CNY70 is just used for simple black and white sensing and goes through a filter to make it boolean … umm, not unless you are doing probably a 12 year-old line follower. Sometimes the analog value is used for ADC processing and the different behaviour between a real CNY70 and a clone would impact the final result, the ADC curve will not be the same.

With time we found out the only way to figure out if a given component was original was to test it and then open it in half. The CNY70 is probably the least of your worries because it is very simple and you can use software to apply heuristics on the value, but what happens when you need to drive up the quality of your components?.

For example Bosch has got some barometric sensors: BMP180, BMP280 and BMP388, if you buy some devices with this chip in Aliexpress you will find tremendous differences in the prices, specially in the higher tier model, the BMP388. Some of these boards cost 6 euros while the chip itself is 2 euros at Mouser, and we are not talking about a board that will not be sold on high scales, this review here tells a couple of things about one of these boards.

View post on imgur.com

Now, what is the problem?: the main component in the board is bootleg?, the board has a design flaw?, or the software library has a bug? Or the problem is the way I use it?... it can be any of those but when you start going in that direction in your project you are no longer working on your project, you are working in debugging the tooling. The feeling is similar to the people that are fans of 3D printing and repair their printers at home: 3D printing is not my job, I need the 3D printer to just work… just as I expect with the electronic components given by vendors, I have specific targets in mind and they are hard enough.

Furthermore it was not until we started browsing in mouser.com that we found out that BPM180 was obsolete… but of course the counterfeit manufacturers did not get the memo, so they seem to be marketing the same chip for the original BMP180 name in the “supposed” BMP280 and BMP388 products… you can see it in the photos in aliexpress and similar websites: the chip is usually the same.

So basically is has come to the point where in our prototyping efforts we may need to budget the development of our own boards even for the proof of concepts, because on complex stuff you can not trust that the boards you buy meet the specifications from the PDF, only by sourcing it on Mouser or another reliable vendor you can be sure of what you get. Of course if Bosch is not providing a “learning board” for the BMP288 then you will have to create one yourself from the SMD component or risk it with unreliable sources, and both ways have a lot of work, but in one of them success depends on you while in the other success depends mostly in luck and wishful thinking.