The End of Arduino 101: Intel Leaves Maker Market
hackaday.com
hackaday.com
IMHO, the market is ripe for a hardware/software platform that bridges the ease of Arduino with a path to production. A bunch of the silicon vendors are in this space, but they offer weak solutions, and things like AWS IoT are really bad on the hardware side.
-stability
-recoverability / error handling
-quality of construction
-documentation
-ease of use/support/baked in features
* There's no guarantee of long-term support; RPi and Arduino both regularly change form factors. They make no guarantees that they will continue manufacturing what you're already committed to.
* Maker vs. production system architectures are totally different. Linux is rare among production systems. It just needs too much hardware (see Cost). So you have to rebuild the thing anyway when cost-reduction time comes.
'Production' means different things to different people, of course. I'm thinking of a world where you want to ship 10k+ units of a device. If you're only shipping 100 units, your concerns are very different.
Yes, it's a skill, but surely you hire people or contractors who can actually do it properly?
Actually shipping them turns out to be harder, but by that time you've got the money.
Yes, that tends to be how startups come off - even the "sophisticated" ones. They tend to have minimal knowledge of the steps necessary to turn their prototype into a mass produced thing: DFM/DFF, supply chain management, identifying/negotiating with component/bare board suppliers, etc. Generally speaking, they need lots of hand holding through the entire process, and that makes it take way longer for everyone.
The nature of stateside electronics manufacturing doesn't help startups much in that regard, in that shops are kinda either set up for NPI and rapid prototyping or not. Sierra Circuits is good for that, but idk how well they'd fit with a startup budget. Beyond that, the low-complexity nature of most IoT products means they're more cost effectively manufactured in China, as most US shops focus on low to mid volume runs of high complexity boards, as opposed to high volume low complexity runs. Figuring out how to manufacture in China can be a big obstacle for any company, especially smaller ones.
All the IoT boards have made prototyping hardware accessible to "software people", but unlike AWS there is no smooth scaling curve from 10 to 10k to 10M customers.
Also there are places where Linux is appropriate and affordable at volume, depending on the application.
It's more a problem if you start on something big like Artik/RPi/Edison and try to downsize later. You'll find yourself locked in to that vendor's software stack.
Or if you try to ship 10k devices with whole RPis inside.
> Linux is rare among production systems.
AFAIK, Arduino has no OS, let alone Linux. It's a giant wrapper around "setup(); while (true) loop();" Which is itself a gigantic problem for power savings. Fortunately there exist alternative platforms, and some even run on the same Arduino platform: https://github.com/jmattsson/tinyos-arduino
https://playground.arduino.cc/Learning/ArduinoSleepCode
There are libraries that do this automatically on Arduino too, allowing you to schedule [cooperative] multitasking and sleep the uC between tasks. E.g.
https://github.com/arkhipenko/TaskScheduler
is really good, I've used it before. You basically queue up a list of task callbacks and a schedule in your `setup()` and then do a call to `tasks.execute()` in `loop()`, which pops off the next task that is due in a queue or sleeps otherwise. It's simple, but much more straightforward than manually using `if millis() - last > delta1... else sleep()` and not as rigid as using the timer ISRs (which really serve a different purpose).
On more complex platforms you can also use an RTOS, which is kind of like a more beefed up version of this model. Actually you can do this on AVR too, but I haven't ever seen anybody actually use FreeRTOS/ChibiOS/whatever on AVR.
You can get an AVR device to run on a coin cell for months or years (I have a design that does just that). You'd have to modify an Arduino significantly to do the same.
Using a whole Rpi 3 as part of a solution? Yes I agree that there's a risk in supply; but if making 10k devices, you are talking about a raw cost of at least 300k USD, right? So spending 30k for a few months of engineering time to make it production ready (idea: make sure that the OrangePi knockoffs also work, so you have 2 sources of supply) is feasible in the case you mention.
Now if your product is Arduino based (or another microcontroller platform) the barriers to doing a fully custom design are a lot lower, the markups on the Arduino board are a lot higher, and so the cutoff volume for where it makes sense to do a custom design is going to be much lower than 10k.
The Pi foundation guarantees the availability for the Compute Module 1 and 3 until at least 2023. See https://www.raspberrypi.org/documentation/hardware/computemo... (Section 11. Availability).
[0] https://www.baldengineer.com/arduino-prototype-into-product.... [1] https://www.postscapes.com/forum/arduino/47-if-arduino-is-fo...
I was working in this space, but never got on to their beta program.
Disclosure: I work on Android Things.
Having said that, there's a bigger market for micro controllers imo - which probably doesn't fit in to this strategy at all. There used to be Weave (RIP- which also makes one cautious about Android Things) - and there's Zephyr (kinda similar, but not really) - but no clear winners here yet.
It's easy to bridge from Arduino to Atmel AVR IF you know how to do board layout. Startups need to either grow their knowledge of electronics or hire some electrical engineers.
The AVR documentation is excellent, you could easily design your own board if you have anything beyond rudimentary electronics skills.
A lot of IoT startups are dependent on attachment "blades" for interfaces. They get burned because a lot of their value proposition and profit is tied up in some other guy's blade they don't know how to build.
I think system-on-module approaches like Samsung's or Android Things' solve those problems, though.
Most ARMs up to even a few hundred MHz are also pretty easy to lay out.
For wireless you're right, but this is more or less solved by the recent proliferation of cheap plug-in wireless modules that are already certified.
Raspbian is pretty much only supported on Raspberry Pis, so I think the worry of lock-in is worse there; and it's significant, taking into account that it's harder to go from prototype to production with a Raspberry Pi than with a SoM-based board.
The UserDriver system is another factor: Android already does sensor fusion, so if your product uses, say, a GPS receiver, you can hook it up to the OS with a short amount of user-space Java code, and all existing Android code that uses the location APIs now works with your GPS. No need to modify client code nor compile anything into the OS. And your UserDriver works on any Android Things system.
The talks of this year's Google I/O explain these kind of things in more detail.
I listened to this mantra for about 15 years but its like anything else that "looks hard" it becomes obvious after doing it.
RF design rules are well documented and pretty straightforward once you get past the smoke, mirrors and doom mongering. All the good RF subsystem manufacturers have white papers, dev boards and fully documented layout design guides for their chips and low power ISM sub-systems under 20dBM are more or less bulletproof.
I have made several commercial designs, my first ones were just copy/pasting the gerbers off the dev boards (I did not even need to buy the dev boards as the gerbers were downloadable for free) all these worked fine and even several dBM of transmission loss due to bad RF or enclosure design is not actually a game changer in most short distance/low power applications.
My first designs I actually understood very little, now I have all the toys to do proper RF design and understand it much better and so long as you read up on the basics there is no reason not to try too. Seriously it costs $15 for a PCB delivered worldwide these days so you can afford to experiment or tell your EE/intern to do it and dont be too surprised when it works.
My employer has an EE/embedded team of 3, and we still rely on a local design house to rev our PCB's, do the generic infrastructure components of the embedded s/w, and design test fixtures. We write specs for electronics and keep the "secret sauce" firmware in house. There are other benefits -- as I write this we have an expensive instrument that we could never justify purchasing sitting on our lab bench because we borrowed it from our design house. We can get a few hours of specialist time here and there for things like FCC compliance testing to augment our in-house expertise.
One person who has been around the track enough laps to be able to write good specs and do program management is sufficient in the early days.
Thing I've found with embedded, is the pay is generally not as good as other work, and it's generally not as flexible (no remote). If you can do either generic webdev, or other things, those often look like better options.
Personally, I couldn't stand doing generic webdev -- I'd rather spend eight hours a day poking myself in the eye with a sharp stick. I've always lived on the EE/software boundary. I suppose staring at logic analyzer traces is some other person's sharp stick, but it works for me.
I much prefer lower level programming, preferably programming the hardware I designed. I know the hardware limitations, side effects, and overall the how-to behind the hardware that allows the software to do its thing. Most software engineers I know have no want to understand the underlying mechanics (they're certainly capable of it - they just don't care).
I'm currently trapped in a "devops full stack" with much of the tooling as NIH. My routine day is a mix of keeping the trains rolling on time, and getting horrid stuff like " my $database_root_password = <password> " out of SVN...
I keep applying to positions in my wider local area (Midwest). But so far, only headhunters that want to waste my time with endless "pre-interviews". Tomorrow, it's back to tickets, high-ho!
It doesn't really cost that much and I wouldn't see it as a limiting factor.
But it's kind of moot because the work isn't really available.
That's great that you'd rather poke yourself in the eye with a sharp stick than do web dev. But I have skilled embedded dev friends writing php because the alternative is working at a supermarket (they're not location flexible).
- soldering iron and supplies
- "helping hands"
- misc parts/supplies like wire, breadboards, switches, LEDs etc.
- batteries, USB chargers, couple of PC power supplies for power supply
- using a simple 2x1 .1 inch header convention with red and black wires for plugging in DC power
Desk is a basic folding table from Staples.
I would like to figure out where to find a better table/desk (I assume with outlets/etc.) and what other things I don't know about you'd recommend.
While I don't own one, the TS100 [0] is supposed to be an amazing soldering iron. [1] As a plus, the hardware and software are open source. [2]
> "helping hands"
Realacc six arm third hand. [3] It's fantastic for the price.
> misc parts/supplies like wire, breadboards, switches, LEDs etc.
AliExpress? YMMV for quality though
> batteries, USB chargers, couple of PC power supplies for power supply
Can't recommend batteries or USB chargers from China, too much counterfeit junk. For PC power supplies, Seasonic is a well priced, quality brand. There are a bunch of ATX power switches available (e.g. AntMiner) on eBay for a few dollars.
[0] https://www.banggood.com/MINI-TS100-Digital-OLED-Programable...
[1] http://hackaday.com/2017/07/24/review-ts100-soldering-iron/
[2] https://github.com/Ralim/ts100
[3] https://www.banggood.com/Realacc-Strange-Third-Hand-Six-Arm-...
Soldering iron: I like the Hakko FX-888D. $90-110 or so. They have better if you can afford it, but that one's very good. The FX-951 is the next step up, and can take micro-soldering handpieces and has the quick-change tips. It's about $240.
Get a chisel tip, eg Hakko T18-S3, a bevel tip (T18-S6), and a bent-conical tip (T18-BR02). The conical tip is perfect for lots of general purpose work, you can use the fine point or the sides of the bend. The back of the bend can be used for drag soldering, the inside of the bend makes soldering wires together easy. The chisel tip is good for soldering things with more thermal mass (PCB-mount heatsinks) and the bevel tip is pretty necessary for drag soldering on QFP and similar surface mount packages.
Hot air station: Probably something cheap from china, there aren't any particularly affordable name-brand ones that I know of. Weller has the WHA900 for around $600.
Magnification: Get at least one of the magnifying headsets ($8-10 on Amazon) and a desk magnifier with LED ring light. Better option is an AmScope stereo microscope, such as the SM-4NTP and a ring light for it like the LED-144W-ZK. $480 total.
PCB vise: I have an Aven 17010, it works pretty well. MUCH better than trying to hold a board in the helping hands.
Flux: Get liquid flux with a syringe. Amtech is the best, but there is a lot of counterfeit stuff out there, and Amtech doesn't sell it directly (bulk orders only). https://mailin.repair/amtech-nc-559-v2-30-cc-16160.html sells the real flux.
Tweezers. Any ESD safe set.
Fume extractor: VERY important for health. You do NOT want to be breathing in flux fumes. A high-volume HIPAA air purifier on the desk works, ($150 or so) or a dedicated device like the Hakko FA430 is even better ($625). Oscilloscope: Rigol DS1054-Z. 50MHz, hackable to 100MHz bandwidth easily. $400. There's no better cheap scope at the moment (IMO).
Function generator: Siglent SDG805. $270. Needed to give you analog signal inputs. Part of the big-3 of 'scope, power supply, and function gen.
Power supply: Get a linear supply. The Tekpower TP3005D-3 is $200, and is an actual linear power supply. The knobs are coarse adjust only (it's analog), I replaced the control potentiometers with 10-turn versions which substantially improved the accuracy of the output. There's also the Siglent SPD3303X-E ($340) if you want a digital panel version. You definitely need arbitrary +- voltages for lots of very basic circuits, PC power supplies are very limiting and too noisy if you do any sensitive analog design.
Multimeter: Get a safe one (HRC fuses, proper transient voltage suppression, etc.) Can't go wrong with Fluke, of course, but Extech, Brymen, and some others have cheap and capable handheld meters. $100-300, depending on brand. Be sure it has a micro-amp range! The really cheap ones don't, and you WILL need it if designing embedded stuff.
Logic Analyzer: Get a LogicPort. pctestinstruments.com. They're $390, for a 34-channel 500MHz device, very nice for the money. Needed if doing much digital work. (Keysight's 34-channel standalone analyzer is $12165 base price. 5GHz, but still, twelve grand...)
Spectrum Analyzer: If you're doing RF work (radio design), you'll need one. Otherwise skip it. The Siglent SSA3021X with tracking generator add-on is $1764 (pretty cheap) and quite capable (9kHz to 2GHz). It's also hackable / software upgradeable into the 3.5GHz model. The Rigol DSA815-TG is $1550, but significantly worse (smaller display, worse resolution bandwidth, max 1.5GHz, etc).
Be sure to get a GFCI outlet and a GFCI adapter or two. The oscilloscope, function gen, spectrum analyzer, etc, all are mains earth referenced, and should each have their own GFCI plug. If you accidentally connect the ground lead of any of them to something other than ground the GFCI will trip and prevent the ground traces from being blown up inside the device. They're about $20 each, well worth it IMO.
You might want an anti-static mat and wrist-strap.
Get a bunch of small drawers, eg https://www.amazon.com/gp/product/B000LDH3JC. Print labels for them, use them to store resistors, capacitors, and other types. You can fit two values of component in each drawer (though they don't come with enough dividers :/). You want at least 96 drawers for resistors and 32 for capacitors assuming you're buying 1% or 5% resistors and 10-20% capacitors (pretty normal). I bought a kit of resistors (https://www.amazon.com/gp/product/B017L9GKGK) and (https://www.amazon.com/Joe-Knows-Electronics-Value-Capacitor...) for capacitors (Joe Knows Electronics kits are good for stocking up, they have more of the most common components in their kits.)
Get some desoldering wick and a solder sucker too. Also some tip tinner, and/or a sal ammoniac block. Make sure you have a roll of kapton tape to hold parts down while you solder them (it survives high temperatures). If you'll be doing a lot of surface mount you'll want a reflow oven and solder paste.
EDIT: One tip I forgot, very important: When you buy parts (on DigiKey/Mouser or similar) make sure you buy extras. At least the number needed for the first volume discount or 10, whichever you can afford. 3x the number needed for the project at the minimum. You WILL drop parts, burn them out, and otherwise damage them. It's much easier if you already have spares, don't have to wait for shipping, and don't have to pay for shipping. This will also help you develop a parts library, as you do more projects you'll be likely to re-use common parts and already have many left over from past work.
>> Wish there was a save feature, I just saved this to a text file.
Click on the time tag (next to the user name), then click on 'favorite'.There is: select/click timestamp/"go to" the post[1] - click "favourite". Will be listed under favourite posts in your profile.
Or just get to [1] and bookmark in browser.
[1] eg for your reply, go to the url: https://news.ycombinator.com/item?id=14853064
The most important thing for me is the scope because I develop bare metal firmware (includes drivers etc) for both SoCs and microcontrollers. I use a Rigol 100MHz scope and I really like it. Of course I could not go for the higher speed scopes because of the budget.
Also for some of the instruments I have found that Tek and Keysight provides refurbished stuff for much lesser prices. Have you tried getting any refurbished stuff and what is your opinion on it?
For the logic analyzer I found it a waste as a separate instrument. I would prefer to have the analyzer in the scope itself as all in one so that I can do analysis on only one screen.
The advantage of the PC-based logic analyzer is in the ease of use, mostly in setup. Also in the number of channels, the ones built into scopes tend to be 16 channels. The two-screen thing is a bit of an issue, it would be better if Rigol's PC software for controlling the scope was halfway decent. Tek's software is much better.
Hot Air Station: YIHUA 650W. Avoid fakes, they can be dangerous!
Multimeter: Extech EX330 DMM
Soldering iron: if you can't get the Hakko, the Ersa RDS80 is decent.
In Germany, the Tekpower TP3005D-3 is called Komerci QJ3005EIII and can be bought on Amazon. Its the same device, only ~150€.
- Digilent Analog Discovery 2: Low-end 30MHz oscilloscope+function generator+logic analyzer controlled via USB. $279 (or $179 with student discount) I think of it as 'swiss army knife' of electronics: it's not as good as a real oscilloscope, function generator, or logic analyzer, but it does the basics of all those roles and fits in your pocket. http://store.digilentinc.com/analog-discovery-2-100msps-usb-...
- Xprotolab Plain: Same general idea as the Analog Discovery, but only $20 and therefore an order of magnitude crappier. Only 20kHz bandwidth. Suitable for an absolute beginner on a tight budget. http://www.gabotronics.com/oscilloscopes/xprotolab-plain.htm
- Extech EX330 multimeter: It's a multimeter, the most basic instrument you'll need. $53 on Amazon. I recommend getting some alligator clip probes; I find them much more useful than the pointy probes it comes with. https://www.amazon.com/gp/product/B000EX0AE4
A "real" scope is a workhorse that lasts forever with the features and the convenience you don't get from those cheaper options. You also want real scope probes. In my area I see someone selling a TDS220 for $200 which would be a good buy. Also an older 4 channel 100MHz Analog scope...
Quality multi-meters are also workhorses.
I haven't gone far enough in electronics to run into limitations of the above equipment; I figure I'll upgrade when I need to.
- I'd get a used good scope. Personal preference would be a digital Tektronix. A logic analyzer can probably wait.
- A digital multimeter. My preference is Fluke. You'll want a buzzing continuity tester in whatever you get.
- You might want to invest/experiment in some method for home manufacturing of PCBs. Breadboards are a pain ;) We used to do wire-wrap back in the day, probably no one does that any more :)
- I find that you can do a lot with two hands. You figure out all sorts of clever way to hold your work, wires and the soldering iron ;)
- Heat shrink tubing.
- Crimping tool(s) and various connectors that are convenient for what you're working on. It's a bit of an investment but you want to connect stuff easily and reliably.
- One of those magnifiers on an arm with a light built in...
I disagree about home made pcbs. Its just too much fuss and mess, and there are a lot of places that can give you cheap 4 or 5 day boards in small Quantities. AP Circuits usually is a good deal for my hobby stuff, but I always price out others, too.
One word for PCB beginners: DO NOT obsess over making every board perfect. It wont be. For one-off hobby quantites an x-acto knife and some wire will fix most basic mistakes in a few minutes. PCB design is like golf, low scores are better, holes in one are rare. Too often beginners fear fabbing a board because they think it is cast in stone. Mistakes just arent that costly at low volume.
Including holding the soldering iron from the wrong side, as it happened to me once.
My biggest problem with web development is the users. I've made a few internal websites to manage some our stuff at work, which only has to deal with a small number of users (100 or so) who are all technologically competent engineers, and I still find it ass annoying, dealing with all the weird ways they use my very simple webpages. Sure hardware can have its quirks but they're not like people.
(Personally, I found the low-level hardware/OS/algorithms courses fascinating in my CS degree, but went into webdev because it paid more and gave me more career options, and then some data science because the combination of UI skills + data wrangling skills means I can actually build useful things on my own. No regrets on my career path, but if I get lucky and cash out on a startup, I think I'd love to do embedded & hardware stuff.)
Until then informatics was a specialization from the EE degree at that university.
Most of those EE engineers ended up doing coding work, because a tiny country like Portugal couldn't absorve so much electronics related work.
...
>> "Yes, the pay isn't as good for some reason"
Don't these seem related to anyone?
I'm not an expert on business or anything, but maybe the reason companies are having trouble finding people to work embedded jobs is they aren't willing to pay them enough?
>> "Perhaps embedded developers as a group are poor negotiators."
I don't know of a better negotiation tactic than just going to do something else you can also do that pays better (a lot of people I know with deep embedded skills are doing higher level mobile app work these days for exactly this reason) because the industry has some weird preconceived notion of what you are worth...? "Fuck you, pay me".
Yeah, I miss having a scope on my desk. But my pay is nice enough that I can afford my own EE workbench at home, should I want one.
Another lead that I see is Chinese SoC manufacturers who would like to have Linux/Android up. I see a lot of the produce their hardware but have very little support software. The problem is I do not have any idea how to approach them let alone convince them to spend money on development.
The big companies medical and automotive) in Germany generally give work to their vendors but again they give it to the German companies and very rarely to outsiders. The contracts are very lucrative as I have seen just 1 person companies there providing very average embedded software components. Again very hard to crack the market unless you know someone there.
Turns out to have been a decent career. In the end, programming is programming, and I have enjoyed most of it. There are always problems to be solved.
But I'll probably go the web-dev route too.
And the tooling is WAY behind where cloud and mobile is at.
Web dev/backend dev for the last 10 years.
I often wonder who, in the long run, would be the ones to push the boundaries when you can get a very good pay doing some generic software engineering job (similarly I have friends go several years into a STEM phd to drop and go into CS masters program)
* http://www.austinelectronicdesign.com/
* http://www.technologykitchen.com/
* http://www.concurrentdesign.com/
* http://www.produktworksdesign.com/
They all have their own specialties and pros/cons, but most of them deal with small startups to help bridge the gaps. As always YMMV so due diligence is required.
We used them to design and build a custom board for our Sumo robots that had our V1 built from an Arduino board and a custom board that plugged into the Arduino. We couldn't really afford to pay them a big chunk up front, but we negotiated a pretty pleasant royalty deal that comes out to a few dollars per board (which we get manufactured for less than $10/board).
They did excellent work and I highly recommend them for that type of "prototype -> production" path.
It is unbelievable that they are not able to provide a decent hardware development platform that can match Arduino in ease of use & documentation, that use decent production-grade components, that's supported for sale for > 10 years and that has a clear path to switch from dev board to own IC.
It doesn't justify why they make it so hard to set an IO pin or to load a program on their chips.
The core problem why many startups get stuck with Raspberry Pi, Arduino and friends is exactly the "dev board" problem.
When building an MVP and I have the choice between a $20 Pi/Arduino/Pi Compute Board and a $1.000+ dev board, hell I'll choose the Pi option. Lots more support, especially because any combo of I/O and a Pi has been tried by someone else before in contrast to $weird_sensor+$weird_niche_devboard, and especially you will want about 10 or more units so you can afford to blow a couple boards. This will happen inevitably during development, either by "fat fingering" +12V to a 3V3 input or by blowing the wrong eFuse, and better to lose 20$ than 1k$, not to mention you have to raise the 10k first...
It's not fun figuring out a board with no documentation and shit tools that noone ever used.
I suspect that STM and TI are of similar difficulty, but I've only seriously played with Atmel because of the Arduino dev board (and related ecosystem).
10 year guaranteed availability of the exact same part is not guaranteed, but there's a clear enough lifecycle policy and paying any attention, you'll have a chance to a make a final "lifetime" buy. (If have the luxury problem that you're selling so much product that a lifetime buy is impractical, the NRE for a redesign is probably manageable for your business.)
That last part alone stops most people from playing with ARM, because you're almost forced to get boards made. At least with AVR/PIC you can prototype most of the Atmegas on a breadboard. Obviously there's a limit to what you can do with an AVR, but you can do a lot with 20MHz.
This may be an ARM thing though. I found it much more difficult to find development documentation for Atmel's XMega platform, I didn't even look at the SAM chips.
TI's website is a rabbit hole though. Sometimes the datasheet is enough, other times you have to go to their weird Wiki which looks unfinished. Sometimes it's available for free, other times you have to log in to get the information. STM isn't much better.
It's a crying shame. ARM is more capable and often cheaper and lower power than going the 8-bit route, but it's a pain in the arse to get started.
In terms of layout though, there isn't much in it. There are datasheets from ST that tell you what the mandatory hookups/passives are. Everything else is more or less identical to any other microcontroller, though you may need to worry about speed.
The documentation for STM and TI is far, far below the standard of Atmel's, both officially and unofficially. It's more difficult to find information, there's a much smaller development community for beginners and the boards start in TQFP.
>That last part alone stops most people from playing with ARM, because you're almost forced to get boards made. At least with AVR/PIC you can prototype most of the Atmegas on a breadboard. Obviously there's a limit to what you can do with an AVR, but you can do a lot with 20MHz.
Isn't it why we have development/prototyping boards right? You can always develop/experiment your code in it and also develop your PCB in parallel. In this way when there are problems with your custom board you can always be sure of your code.
In my experience TI documentation is excellent but their software sometimes is over engineered especially TI-RTOS.
Personally I have worked on the STM32F series and I found the documentation good. Also if you want to read through the internals of the ARM architecture you will have to refer to the ARM manuals from ARM website.
>>It's easy to bridge from Arduino to Atmel AVR IF you know how to do board layout. Startups need to either grow their knowledge of electronics or hire some electrical engineers.
I agree, hardware can not agile like software is. So you have to re-design your product from prototype(like Arduino).
Even more, you should outsource your hardware design to other professional hardware company, such as design house.
Design is half the battle: the other half is component selection and manufacturing. If you BOM is way off, you're SOL before you even start, and most people don't get this until it's too late.
https://www.crowdsupply.com/eoma68/micro-desktop/updates/274...
(Starting at: "The issue that is of more concern is the JAE DC3 mid-mount Micro-HDMI connector."(...))
You have to deal with yields from the fab process, a hardware testing/debugging process that often requires an expensive oscilloscope, an up front outlay of capital just to get the pcbs produced, you have to deal with getting it certified as being 'safe'.
It's easy to bridge from Arduino to Atmel AVR IF you know how to do board layout.
Startups need to either grow their knowledge of electronics or hire some electrical engineers.
The AVR documentation is excellent, you could easily design your own board if you have anything beyond rudimentary electronics skills.
If you're doing something very simple, maybe... but If you're doing something very simple, why do you need specialized hardware? Get something prebuilt that runs embedded c or linux, write your software, attach your controllers (build a nice case), and be done with it.If you're doing something more complicated, (multiple layers, pcie, etc.) You'll never get the yields that you need (to be profitable) out of your fab process without either a very skilled/experienced EE, or a team and a bunch of money. Even with a simpler (or no) fab process you still have to worry about defects in production and testing for those defects before you ship the item. But at least without a fab process it can be arranged to be someone else's problem when the widgets don't work.
It's not that you're wrong, its just that doing your own manufacturing is either:
a.) Adding a lot of expense to something that needn't be as expensive if you can buy something that already pretty much works in bulk. If you reach the state of mass production, it could make sense to do this yourself, but at that point you may be past the startup/proof of concept phase.
b.) Necessary but very expensive (more expensive than it appears on the surface) and problematic to both your margins and cash on hand. If you go this route you better have some backers with extremely deep pockets who believe in you and are willing to throw in extra cash when the first run of your board has issues and you get a low yield on them.
I agree, however, about the value prop issue.
But that's also kind of why I think hardware is a sucker's game. Either you get screwed by having to make your own stuff, or you get screwed by being dependent on a third party who may not be reliable (or in business, or still producing the thing that you need). Or both, because you're likely getting it fabricated by a third party, which will lead to the same issues as purchasing something 'off the shelf,' plus the possibility of having no one to blame but yourself.
source: did a hardware startup.
edit: I forgot to mention one other factor... If you're doing something high performance, there's a possibility that by the time you're ready to ship the product, it is out of date and there's some faster next-gen hardware out that will do the job better. This is exactly what happened to AMD with Bulldozer (there were some other fuck-ups there too, but for the most part it was superseded by intel's more advanced fab process).
As someone who co-started (and later sold) a small privately funded company doing embedded software development about 15 years ago I think I can give some insight. We were a 3-person startup, all with a software background. Most we knew was how to use a multimeter and solder a jtag or DB9 connector, which we also needed on a regular basis - but that was about the extent of our knowledge.
One of our very early projects however involved requiring some custom hardware. So we started looking for electrical engineers, and quickly found out we were absolutely clueless about how to interview or evaluate these people. With one guy we interviewed it 'clicked' - and after talking to him, we quickly realized we knew nothing about hardware design, production and everything involved. We would have hired him, but he was very honest about thinking that would be a bad idea and rejected our offer. Looking back, he was absolutely right. You don't just need electrical engineers, you need people with experience in production, hw testing and following up on all those things.
We ended up outsourcing the hardware design and production to another company, and actually recommended them the guy we found, who ended doing most of the design for our project. Stick to what you know best, if you're small and need hardware designed, try to find a company that can do this and believes in what you're trying to achieve. It's easy to lose focus when you suddenly have to learn a bunch of new things - which includes failing a lot, something you can't afford in a startup.
I believe these are now available on digikey: https://www.digikey.com/en/product-highlight/s/samsung-led/a...
IMHO I can't imagine a technology that is closer to production that the Arduino, it gets you 90% and more importantly instills the limits of the technology before it goes to a electronic prototype house.
Prototypes are easy. Production is hard. This is the current issue with the Tesla Model 3, a few is easy, a full production line with all it's perils that's a massively harder proposition.
and there is always the Pit of Despair: https://www.sparkfun.com/news/909
To do so we had to:
1) Release the board files - fine.
2) Open source the code - ok.
3) Pay the foundation 20% of our retail profit - ~record scratch~ - not going to happen.
There is not enough margin in retail to justify asking for a $40 license per chip for a $5 hardware part. The Arduino compatible initiative was dropped and we built on bare metal instead.
Other Maker boards have some leverage here (Raspberry Pi, Next Thing Co, Electric Imp) because they have control of an exclusive chip supply. Arduino being a clone of the Wiring SDK + an off the shelf chip on a break out board never got to exercise their position effectively in the enterprise / mass market consumer electronics space.
Analogously the Apple ][ started as a development platform for hobbyists that became the business workhorse with VisiCalc. Arduino never left the hobbyist space and scared off a lot of legitimately interested businesses with the ambiguous licensing terms and Genuino debacle.
What would be an example of makers-grade hardware vs a production-quality system?
Edit: since everyone else is promoting the competitors ;) : https://electricimp.com
A shame this post didn't come up in ~2 weeks, we're about to massively update our docs, API, and frontend IDE environment.
I've talked to our CEO and the original core team about this a couple times. In their minds LUA, while 7 years ago was more widely adopted, was also less well supported and more volatile than squirrel. Squirrel got the job done, was pretty straightforward, and was small to get going. And, once the decision was made and customers were already compiling it onto live projects.... Well, at least there haven't been growing pains as a result, it still gets the job done and we have metric tons of libraries for it.
Also the files end in .nut which is incredible.
Edit: to note, it's not exactly squirrel, we made some changes: https://electricimp.com/docs/squirrel/learningsquirrel/
Mmmh, that is probably the funniest file extension I have come across to this day. Awesome!
It's not so easy with hardware. If you don't understand your stack fully, things can get bulky and expensive fast. I don't know if there really is a good solution here.
The only thing that exists today is a white glove services. If you have enough money, there are plenty of engineering firms that will take your prototype and build you a production version.
Of course, all this assumes you can design a working board. It's not inherently difficult, but there's a considerable learning curve. There are lots of online resources. For board design, there are lots of packages. I use KiCAD, which is open source, but Eagle is probably more suitable for pro work. (KiCAD is a good package, but the component footprint libraries are not that complete and may be somewhat off.)
(I've used them for blank boards. They do a nice job, but it's not super-fast. All their boards have been good, although once, by mistake, I got boards intended for someone in Japan, and they got my boards. Seeed re-made the boards and shipped again.)
[1] https://www.seeedstudio.com/opl.html [2] https://statics3.seeedstudio.com/fusion/ebook/PCB+DFM+V1.0+....
This reminded me of pcbshopper.com, it's a pretty neat comparison service for PCB houses. The data isn't always perfectly accurate though, especially because it doesn't take sales or other special pricing into account.
Ironically, software really does fundamentally suffer from the same problem too. It just so happens that today's hardware is so powerful relative to most use cases these days that most developers don't run into those problems, until they try to scale (or they scale successfully, but as a result of the success now have the money and incentive to start caring about formerly tiny problems)
There are over a million commercial devices on our platform, which is essentially a mass production platform that's excessively well documented, tested, scalable, and free to prototype with. Been in the market for 5 years now.
Critically, we take security very seriously and maintain the security stack on every device for its lifetime - whether or not the product owner has cycles to spend on security, we keep it up to date. We're also the first and currently only platform which has been UL2900-2-2 certified - yes an arbitrary standard but it's all sensible stuff.
It doesn't look like an Arduino, but that architecture is not well suited to IoT in our collective opinions, and individual customers with hundreds of thousands of devices on our platform agree.
A silicon vendor's interest generally dies off once they have a design win...
* Expensive
* Physically large
* Sucks power like crazy
* Slow
* Hardware is unreliable and inconsistent
* Constant hardware availability issues
* Form factor changes on every release
* CPU changes on every release
* I/O is adequate if you're building a PC replacement. It doesn't have the right sort of I/O for embedded tasks (multiple SPI buses, multiple serial buses and so on).
The RPi is a fine learning tool, but don't treat it as production-ready. I strongly recommend the BeagleBone Black instead.
> Hardware is unreliable and inconsistent
That's not true from my experience. I'm running a digital signage service based on the Pi. So far all devices are very reliable. Of course that depends on other factors such as SD card or power supply. If you don't try to save money on those, Pis run for many years without a single problem.
> CPU changes on every release
Some chipset revision changed (I would have to look up details), but they are all more or less compatible if you don't go too low level. I have no problem running the same build of my software on all Pi revisions. Of course you can benefit from NEON or multiple threads on later versions, but that's all optional.
your comment is very packed, and your replies are even briefer.
For example, after several months of terribly slow and buggy SPI and no fix over multiple releases, I finally switched to ARM and am very glad I did. Intel did finally fix the SPI issue about 9 months after it was first reported.
With ARM, I had plenty of issues and challenges, but had the documentation and resources I needed to be able to fix things, as well as a better support community.
One of the key issues in the Intel support communities was a growing lack of trust, now confirmed by Intel dropping out. It takes a big commitment to really understand a system, and the nice thing about ARM is that the community goes beyond a single company, so a company dropping out is not as significant as in this case with Intel.
For what it's worth, I think it's an intel trademark to have bad or lacking documentation. Even projects that should have stellar documentation like intel TBB or MKL have fairly cryptic docs
If you look at what Intel was selling, that's the market that Intel's products were actually geared toward. Look at the price, specs and form factor of the Edison. Now imagine that Intel was really trying to push into the IoT space, it is a good play considering they failed to break into mobile. These products were really competing against companies like Phytec, Variscite, Compulab, Toradex, Myir and Olimex who make ARM-based modules for embedded networked products.
Why they pushed so hard to market to the maker community instead of commercial IoT is sort of beyond me. Marketing to makers helps gain mindshare and familiarity with your product (but x86 is already ubiquitous.) For comparison, I wonder how much Atmel's bottom line has been affected by Arduino, or RPi for Broadcom. Why Intel couldn't get their act together to make a well-supported compelling product for commercial IoT applications is baffling. That's where they really failed.
eg, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=738575
Once you make your 'x86' incompatible enough that it won't actually run glibc fully, you've negated the whole point of having x86 in the first place.
Intel's "strategy" with Quark etc has been to to sell you on the idea of a ubiquitous platform, and then provide a niche platform that looks "mostly similar" to the ubiquity you were promised.
"Chinese companies, even with a language barrier, are BETTER THAN INTEL at documentation"
The appeal/benefit of having x86 was just never there for me or the agency I was at. I could see how it might be useful if you are writing a lot of assembly and low level at that but this seemed too much of a niche with the way they were marketed. If it had networking and I could use it with Python I was happy.
I built a little server rack temperature monitor (which collects data from a couple sensors and provides a simple REST service over ethernet) that way, all you need to run the ATmega328 by itself is about 50 cents worth of components.
I worked on a secure (authenticated, encrypted) port forwarding proxy for mobile devices at that time. Our company partnered with Intel to bring the software to their new mobile devices. We were quite far along, with working demos and all. Then one fine day, word came down from the higher levels in Intel that they are pulling out of that.
The Intel team we collaborated with were split up and sent in different ways within Intel and that was that.
It was bad for us because we put resources into it and were counting on some cash which never materialized, plus the dot com bust was in full downward swing.
I actually liked the Curie chip, plenty of goodies in one die. From bluetooth LE to battery charger to accelerometer and gyro plus hardware acceleration for k nearest neighbor (cool for gesture recognition). All that on small form factor low energy die.
Plus, I _feel_ safer using a curie for IoT than just using a raspberry pi and never updating a linux distro.
https://hackaday.com/2017/06/19/intel-discontinues-joule-gal...
Because that would be a good explain why did Intel enter this field, which is is a very poor fit for it - unless they come with some breakthrough.
i don't need AVX extensions or whatever, i need sane and plentiful interrupts, a reasonable memory model, simple IO, etc.
so, no.
The obvious answer is that Intel couldn't monetize it like the x86, so there we go.
Unfortuantely the experience of using it was mediocre and am not the least bit surprised about this news.
The maker community represents a trivial (at best) contribution to Intel's bottom line. Intel's bread has always been buttered by delivering high-performance, server-grade chips to the people willing to pay for the cutting edge of performance. And every year, at that! That's pretty much the opposite of the maker market - people who are building electronics for fun, and not exactly flush with cash to spend on it. I'd wager that the net profit of any one of Intel's enterprise customers vastly outstrips the entirety of what they made on their entire maker line of chips and boards.
Why would they bother diluting their production focus and stretching their support engineers thin, to help court and address the concerns of a bunch of spendthrift HW hackers and garage IoT operations?
Now x86 is in the process of being disrupted. Look at ARM for example. Currently, most ARM chipsets are focused on mobile applications where low power is necessary. They are not powerful enough to compete with x86 on the server (yes I know there are ARM server parts, but it's still early days), but soon they will be for most customers. And at that point, the power/cost advantage will cause customers to switch over. This is already happening in laptops, with both Apple and Microsoft moving to ARM for their desktop OS. So I think it makes a lot of sense for Intel to try and address this concern, and competing with ARM/MIPS head on for the IoT market is one way to do this.
IMO the mistake Intel made is trying to take their x86 process, which has a value chain designed to serve high margin server markets, and shoehorn it into the IoT market which is dominated by low margin, ultra cheap parts (think ESP8266).
Take a look at this book for more info: https://en.wikipedia.org/wiki/The_Innovator%27s_Dilemma
I agree with most of your reasoning - it's the strategic choice to go after the embedded market that I think was unwise. The makerspace move was Intel trying to compete in a whole different sector than their core competency (embedded devices vs server chips). A more sensible strategic move, in my opinion, would have been trying to optimize the power consumption of their previous generation server grade chips. That allows them to sell through their existing channels (which they're very good at), but segment based on those customers that care about power consumption. It's all of the advantages of ARM, but eliminates a lot of risk to the customer by being x86, and legacy compatible. Plus, it gives the sales guys the option to say "Well, if you don't care about power, and do want maximum performance, we can always discuss our cutting edge line of server cores..."
I think the way they entered the market was unwise, not the decision itself. For example, Intel could have created an independent org within itself that could use Intel's resources but wasn't tied to legacy processes.