9 ms·
While low-cost SoC computers are great, as are tutorials about wiring up sensors and motors to your Arduino board, I think this article misses the point about t
by cottonseed 13y ago
While low-cost SoC computers are great, as are tutorials about wiring up sensors and motors to your Arduino board, I think this article misses the point about the "hardware reovlution". At one point, he says:
> have the correct tools (most of which are not free)
One of the reasons the free software movement is so exciting is because it put professional quality software development tools into the hands of ... well, everyone, and let them unleash their creativity. This is why Stallman started with emacs, gcc, gdb, and the unix tools. A whole generation of programmers grew up using tools that a generation earlier would have been prohibitively expensive or inaccessible. The frameworks, tools and libraries the OP is so excited about are the continued product of that movement. They are free (as in beer) and, more importantly, free as in speech.
However, this hasn't happened to hardware development tools yet, except for a few exceptions. It might be starting. (I have my pessimistic days and my optimistic ones.) There are two classes of tools: software design tools (and firmware for hardware tools) and hardware tools themselves. Of course, we can't expect hardware tools to be free as in beer, but we can aspire to make them free as in speech. Kicad (a free PCB design tool) is light years behind the industry standard Altium. Free versions of tools for high-speed design, signal integrity analysis, etc. are basically unheard of. The on exception might be Spice, the circuit simulator. There are free designs for primitive hardware tools (e.g., power supplies, precision DMMs, oscilloscopes, logic analyzers), but they are nowhere near entry-level professional offerings, and many, even tho they call themselves "open", don't make design files available.
http://www.phenoptix.com/blogs/news/12550621-testing-the-ten-minute-open-source-test-with-kickstarters http://www.phenoptix.com/blogs/news/12550621-testing-the-ten...
Forget about RF-level stuff like RF signal generators and signal analyzers. I've never seen a high speed memory bus designed with open tools, for example, and I don't see how you'd ever debug it.
This is where I think the action is. A suit of open tools (software and hardware) that benefited from community improvement would truely be transformative. It would create an enormous amount of social value. I can see why it hasn't been done yet. Building open versions of these tools would require a huge amount of work, and they are incredibly valuable, so whoever does it would have to forgo a huge amount of value.
I'm finishing up something else in the short term, but I've been thinking about this a lot. I'd love to work on this problem, but it isn't at all clear to me how to fund it.
- cushychicken 13y agoI've never used Altium, but my opinion of most EE CAD software is pretty low. Unintuitive, proprietary, a pain in the ass to configure, and capping it all, usually ugly. (I primarily use Cadence, however, so there might be something great out there I don't know about.) I think now's a time for a radical re-imagining of EE CAD software. I just don't know how you would do it. :D
- swamp40 13y agoI use Altium every day for board layouts and schematics. It is a fantastic software package - worth every penny, and easily affordable to small-to-medium businesses. I'll bet they have 100+ programmers constantly improving their product. Every version is more powerful and easier to use. No way for a small startup to compete with that without charging a similar amount. And even then, Altium has a 20 year head-start.
- cottonseed 13y agoWell, I'm not thinking about a startup, but open source projects. You could have said the same thing about any of the commercial unix vendors in the early 90s -- they had a 15 year head start, hundreds of programmers, etc. And look where we are now. What could things look like in 20 years?
- sliverstorm 13y agoOne of the big challenges as I see it with EDA tools- the target moves quickly. In silicon development, for example, suddenly all your customers want double-patterning support in your tools as they move to today's tiny process nodes. [0] Or, perhaps, your customers now need layer-aware optimization, again for recent processes. [1] You have to accommodate this very quickly. An ASIC program runs for a year or three, so your EDA tools need to add & mature these new features in a very short timeframe. (Well, the feature doesn't have to be mature right away, but it does have to work) This means it's a hard environment to compete in. You could develop an open-source offering to compete, but without very significant resources your tools will always be missing support for modern processes. [0]: http://www.techdesignforums.com/practice/guides/double-patterning/ http://www.techdesignforums.com/practice/guides/double-patte... [1]: http://www.eetimes.com/document.asp?doc_id=1279842 http://www.eetimes.com/document.asp?doc_id=1279842 On a completely separate angle, compiling & optimization is basically the biggest Packing Problem you've ever faced, with several dimensions of "packing". You need some very smart people to hope to produce good results. But I've written enough for now.