Over a long period of time it has become apparent that in some parts of the electronics market, there is something of a “race to the bottom”, with cheap manufacturers and online vendors racing to promote and sell the absolute cheapest possible device that is claimed to deliver a given sort of functionality.
For example, this is particularly apparent in the ecosystem of cheap “Arduino-compatible” microcontroller development boards and “Arduino clones” coming out of the online Asia-based market, as well as in cheap derivatives and clones of other popular Open Hardware and Open Software products – as with RepRap-style 3D printer controller electronics
We’re not convinced that much good always comes from this demand (in some portion of the market) for ultra-cheap hardware with every possible corner cut off it. It is valuable to pay attention to the differences that may exist between genuine devices from a particular vendor and third-party “clone” devices – even if you think that Open Hardware means that a second-source vendor can and will reproduce the original hardware design faithfully.
Whilst low-cost devices may be technically suitable in some applications, if you know what the technical specifications of a given hardware device really are as it is manufactured, it is important to at least understand that you might be getting something largely unknown versus something with known, expected specifications and an expected standard of quality – and a “cheap” device may not actually make good economic sense at all.
Does anybody potentially win this “race to the bottom”? And will any good ever come of it, especially if you’re not aware of it and you go in trying to source your hardware without the right expectations?
Just as an example, we might consider the “Iteaduino Lite”, recently launched on crowdfunding site Indiegogo as the “most inexpensive full-sized Arduino derivative board”, which is “nearly 100% Arduino compatible”. But is this really the same thing as an Arduino Uno, at a small fraction of the price?
Obviously there have to be some traps hiding somewhere. These kinds of issues may or may not be important in your particular application context, but you need to be aware of these kinds of issues when specifying and sourcing the components needed to accomplish the result that you want, reliably, at the best possible price.
The microcontroller used in the “Iteaduino Lite” is not an Atmel ATmega328 or any Atmel AVR microcontroller at all, but a LogicGreen LGT8F88A, an obscure low-cost Chinese-designed clone of the Atmel AVR that sort of resembles an ATmega88, with some differences.
The Atmel ATmega88 has only 8 kB of flash compared to 32 kB of flash in the ATmega328 commonly associated with “Arduino-compatible” devices, along with 1 kB of SRAM (compared to 2 kB on the ATmega328) and 512 bytes of internal EEPROM (compared to 1 kB on the ATmega328).
You need a custom-patched version of the Arduino IDE to add support for this hardware target; you can’t just use it with a stock installation of the Arduino IDE that you’ve downloaded and installed. Even if this microcontroller really is “close enough” to an Atmel ATmega88, which is not demonstrated, you have to recognise that the significant memory limitations of an ATmega88 compared to an ATmega328 that you might be used to in “Arduino-compatible” devices mean that it is likely that many existing Arduino programs that are tested and working on a real Arduino Uno or equivalent will not work on a device like this, even with support for that chip added to the Arduino IDE.
One of the root causes of this sort of problem is that terminology like “Arduino compatible” is not stringently defined, and there are no well controlled set of standards for what is Arduino-compatible and what is not so anybody can make up their own loose definition of Arduino-compatible so that their product satisfies this definition and gives them this marketing advantage.
If the firmware on the microcontroller is somehow corrupted or replaced, are the appropriate files, tool chain and documentation available to allow you to successfully re-flash it? It’s not clear that this is available. And if not, what happens then? Do you throw the hardware in the bin, and redesign the product?
Also note that a CP2102 has been used as the USB virtual UART chipset, as opposed to the ATmega8U2 or ATmega16U2 found on most modern Arduino or Arduino-compatible devices. How fast is this virtual UART? Probably significantly slower than the speeds you will expect from a real Arduino Uno or compatible device.
Furthermore, you’ll need the drivers for that chipset installed on your PC, and it is not established that good support exists for this device across all operating systems and it is easy to track down an appropriate driver for your PC. Successfully using a real Arduino on the same PC does not demonstrate that the correct driver for this device is installed – this is just adding another layer of potential confusion and difficulty, especially for beginners learning to work with microcontrollers and embedded systems for the first time.
In some of the photos it looks like they’re not even populating a crystal on the board. Are they using an internal RC oscillator? Then for best results the user should understand that that’s the case, and that you can’t have really accurate timing. Furthermore, the voltage regulators have been changed away from the original Arduino Uno reference design, presumably in order to cut cost – how well documented is that?
Are the specifications really trustworthy? They claim the maximum allowable input voltage for this board is 24V, but you can clearly see in the photos there are a couple of 25V rated tantalum caps in the power supply input part of the board, meaning that an input voltage of close to 24V is not realistically acceptable.
What is the realistic current output available from the 5V and 3.3V pins on the “Arduino” to power external loads? This is often highly variable in cheap Arduino clones where corners have been cut in the power supply and voltage regulator components.
Again, part of the reason for that is that there are no standards or interoperable industry specifications for the hardware that all the different manufacturers work to for “Arduino compatible” devices – compare this with the ATX computer power supply specification, which is well specified and is followed well by every hardware manufacturer in the industry, allowing high confidence in interoperability and compatibility between hardware from different vendors.
If a third-party company released Arduino-compatible products clearly labelled with their own brand, under their own name, with their own website where you could go to for support questions for that company’s products, and it was clear that this is not “from Arduino” but it’s released and supported and manufactured by a third-party company even though it is “Arduino-compatible” to some specified degree, then this would prevent the situation where somebody has problems with a cheap generic clone “Arduino” and then posts on the Arduino forums saying “I bought an Arduino and it is faulty!”. The official Arduino team in Italy, understandably, might get annoyed with this.
A lot of the cheap Chinese hardware makers and online vendors really fail to do this at all and this is what is potentially quite disruptive and annoying to the real owners of that hardware brand, for example the Arduino team in Italy. On the other hand, some other vendors of third-party Arduino-compatible hardware, such as Sparkfun or Freetronics for example, do identify their own products clearly and provide independent support for their products, which is a more responsible way to behave in this regard.
If you design a popular hardware product, such as Arduino for example, and openly release production-ready Gerber files to the public, does this encourage the unscrupulous manufacturing of “clone” hardware, by vendors who don’t change the manufacturer’s name or any of the details printed on the board at all?
If you release schematics or EDA files, but not finished Gerber PCB layout files, does this allow you to still have an open hardware design that can be examined and studied openly, without setting the hurdle quite so low for lazy or unscrupulous third-party manufacturers? This is an interesting issue to think about if you’re designing and releasing open source hardware.
Basically, lots of little subtle risks and complexities make a product like this harder to use, meaning that the appearance of value may not mean an increase in actual value for money at all. While these complexities and challenges may be understood and overcome by a user with more experience with electronics, they can be particularly challenging for less experienced users who might be just starting out learning to work with electronics and work with embedded systems – and this is particularly difficult where it affects a platform such as Arduino that is targeted at just this market.
In the case of a system like Arduino, which is specifically targeted at accessibility to beginners without a deep level of engineering knowledge, these cost-cutting measures are likely to have a particularly noticeable impact on the quality of the user experience – whereas for a device used mainly by more experienced, advanced users these issues would be more likely to be recognised and avoided, so the user would buy a product like this with realistic expectations about what they’re getting.
Although the example subject of our article is a popular consumer-level product, the points raised apply to all levels of hardware design and manufacturing. When developing your own products it can be tempting to keep searching for the absolute cheapest parts or components.
This may seem like a great idea at the time, however a few cents saved here or there will cost you and your end-user customers when the product fails due to low-quality components, premature end-of-life requiring a redesign, and loss of reputation for offering poorly-designed products.
To avoid all of these traps and more, you can have well-designed products that are made to last and also meet sensible budget requirements. Here at the LX Group our team of design engineers and work with your requirements and help you in any or all steps of product design to ensure your idea becomes a reliable, cost-effective and worthy product that will satisfy your customer requirements.
To get started, join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.
LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.
Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.