7 ms·
The Hardware Revolution
- noobiemcfoob 13y ago"The ability to write code for embedded systems using interpreted languages is a major development. These cheap processors are only as useful as the software that runs them" ^ While true in a sense, I think its incredibly important not to downplay the difficulty of engineering this hardware in the first place. This type of sentence stinks of programmer elitism. Otherwise, I'd agree that perhaps the biggest obstacle to using these embedded systems is circuit building education. Running linux or some bit of code on these systems is cool, but only to a point. I've always found this type of work to be most interesting when you can make the system interact with the world.
- stevenleeg 13y agoAhh I totally see how that could be taken that way. Don't get me wrong, the Raspberry Pi, Parallella, etc. are all incredibly feats of engineering (I couldn't even dream of building the processors or chips behind them). What I meant was the processors are only as useful to hackers as the software that they create for them. Hopefully that sounds a bit less elitist!
- cushychicken 13y ago>I think its incredibly important not to downplay the difficulty of engineering this hardware in the first place. Yeah, nobody is ever going to be able to make a SoC in their garage. But I think the OP is trying to illustrate the fact that engineering efforts like RPi/Arduino are becoming easier now due to the internet and open source tools. That, combined with the market forces driving down the cost of the ICs, is making it possible to engineer a platform as complicated as a fully functional computer by a group other than a large, well-funded corporation. The barrier to entry, while still high, is lower now than it's ever been.
- sliverstorm 13y agonobody is ever going to be able to make a SoC in their garage. That sounds like a challenge! Hah, I kid. It's probably possible, but expensive as always. You would have to work in an antique process node, and relax your idea of what is supposed to be on an SoC.
- cushychicken 13y ago> It's probably possible, but expensive as always. Frankly, I doubt anyone but a rich eccentric would have the money to get into SoC design in their garage. My university acquired the resources to run a semiconductor class in the form of some antique (70s vintage) silicon lab equipment from Micron. Even though this stuff was brand new before I was born, Micron charged them in the neighborhood of $200k for each device. That's six machines for a total of $1.2 million. And that doesn't even encompass the whole cost of what you'd need to get a proper semiconductor development environment - you'd still need a cleanroom, electrical and gas hookups, chemical certification (you need all sorts of nasty stuff to make semiconductors - HF in particular is quite common in fabrication, and has horrifying effects on exposed skin when mishandled), etc. Yeah, sorry - with all respect, I don't think anyone's gonna be starting a semiconductor company in their garage any time soon.
- Qworg 13y agoMargin seeking in manufacture would immediately try to drop a $60 computer in the product for work a $1 chip could do. While prototyping is faster, development into something saleable goes much deeper (and into C).
- cottonseed 13y agoWhile 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.
- 13y ago
- bkurtz13 13y agoI'm personally excited for Tessel. https://tessel.io/ https://tessel.io/
- stevenleeg 13y agoThe tessel looks pretty cool but $99 is a lot for a development board. For $35 you can get a Raspberry Pi with much more power, network access out of the box, and the ability to run node. I don't see how the tessel can compete with that.
- aklouie 13y agoAs someone who recently jumped into using hardware to make industrial design prototypes, I can say the biggest hurdle I've faced is the programming aspect of it. Currently there doesn't seem to be a quick way of making a GUI that controls hardware. I would love to do this through HTML, but without knowing Python, I'm basically SOL. Adafruit and Sparkfun tutorials can only take you so far, but when you need to make an interface for your hardware, the options are much more limited for the non-programmer.
- atmosx 13y agoBut these tools, although largely available to the masses now, are still highly sophisticated pieces of hardware that are meant to be used by experienced[1] programmers. [1] Okay the RPi can be used a starting point even for kids. But the Parallela I don't think so.
- pedalpete 13y agoI've been working on some tools which I'll open-source in a few months, to make it easier for developing the hardware component. I hadn't thought about the interface as being an area that needed help. You say you could do this through HTML, would using Angular Modules work for you? I'm just thinking of how I can add some pretty easy features to do basic interactions with angular.
- hershel 13y agoI think the future of this hardware revolution will be python on a microcontroller.It could solve the complexity this article describes while keeping prices realistic for a product: Micropython[1] is being in development right now,Currently working on a $6 mcu, with a potential for running on a $3/84mhz/3mm*3mm/49-pin mcu with varied peripherals (or maybe even something cheaper). And as or complexity, this video shows an easy wifi interface[2]. And since it has a C-FFI, developing a first generation of a product in python and optimizing to c in next generations according to market and technical need is a good possibility. [1]https://github.com/micropython/micropython https://github.com/micropython/micropython [2]https://www.kickstarter.com/projects/214379695/micro-python-python-for-microcontrollers/posts/681998 https://www.kickstarter.com/projects/214379695/micro-python-...
- anon24892 13y agoI very much disagree, in the general case. The complexity of embedded systems design can't be significantly reduced by using python and I often do not think while developing that I higher level language would help, in fact I often think that C maps very well to the problem. It was designed as a system programming language and is good as one. The complexity of embedded code does not lie in the code itself but in the hardware and you have sacraficed a few orders of magnitude in speed for very little or no gain. The code itself is usually fairly simple but you would not be able to tell anything from looking at it, you need to refer to datasheets. Not only this but by using an more expensive ECU to begin with you really limit the scalability of your design and add to recurring costs. I use a more powerful microcontroller at work and we still constantly have to drop down to assembly, albeit in limited controlled ways. That said, there will be areas where this is a viable option, but not many. You have to analyze your problem and decide if is viable; for an embedded webserver it is, for a DCDC converter where speed is of a concern it is not. For a smoke alarm where cost is primarily a factor and your margins are tiny it is not.
- hershel 13y agoThe way to reduce the complexity of the hardware is mostly by using good libraries like arduino or mbed(or maybe goot rtos's with plenty of drivers, if there's such a thing). Do you use them ? And as my example vs the OP's article with arduino, it seems that micro python offers a much better interface to said libraries. Not sure it's only the language, could be also the library implementation. With regards to performance penalty : micro python has some unique compile mode which brings the speed to maybe 8x of c. Assuming you're willing to waste some memory and speed(say a first version kickstarter product, or a low/mid volume commercial product) , you also get rid of pointers(which are the source of great complexity and bugs in c) and gets access to much better testing tools via python.
- learc83 13y agoThe biggest hurdle for most of the hardware I've been working on over the last few years, is the touchscreen. It's very hard to get good quality (IPS panel, capacitive) 7-10" touchscreens in low quantities for reasonable prices (I know of 1 company who sells them for under $200, but they constantly run out of stock). I've found it's cheaper to buy cheap android tablets for ~$100 and use them as thin clients, but then you have to deal with all of the restrictions google puts in place (mainly the lack of a kiosk mode). You can create your own ROM to get past the restrictions, but 2 months later the tablet you were using is at end of life, and you're back at square one. Someone could make a killing creating low cost android backed thin clients to use as interfaces for this "hardware revolution".
- iamwil 13y agoThe direction many hardware startups have gone is to write networking code instead--if your customer demographic are people that are likely to have smartphones--, to have the interface on the phone instead of on the hardware device itself.
- sliverstorm 13y agoYup, the smartphone-as-UI paradigm makes a lot of sense, as much as it irritates me sometimes.
- mng2 13y agoScreens and cameras are two of the worst offenders for hobbyist/small-scale dev efforts. They're obviously everywhere, and obviously could be affordable, but either you can't find documentation for them without an NDA or they're way too expensive. Clearly somebody benefits from this secrecy.
- joezydeco 13y agoNo, they benefit from the scale. Any factory in China cranking out millions of 7" LCDs for the appliance and tablet markets isn't going to bother with support and service for a group that wants 100. That's why they're expensive and that's why you can't get datasheets for them. If you're a serious customer and you can convince a local distributor of a manufacturer like Okaya, Sharp, or Ampire that you're serious (translation: you represent $$$), they'll give you all the stuff you want. Usually for free.
- neverminder 13y agoI'm a software engineer and I'm clawing my way through to founding a startup one day. The only thing is that I can't see myself doing is starting software company no matter what I do. I think that deep inside I just think that software is abundant and people still appreciate something that is physical, which is why I'm seriously considering "breaking bad" into home automation.