This week, electronics distributor element14 will announce that it has teamed with Microchip Technology Inc. customers and Matrix Multimedia Ltd. to introduce a development kit that will allow individuals with little or no programming experience to develop electronic products. Instead of doing traditional coding, users will employ a graphical interface to merely drag and drop pre-defined blocks of code, and quickly get their applications running.
"There are only so many design engineers in the world," Chris Sullivan, head of global solutions marketing for Premier Farnell plc (element14's parent company), told us. "If we are going to keep up with demand, we have to make electronic design more accessible and more straightforward."
Element14 has teamed with Microchip Technology Inc. and Matrix Multimedia Ltd. on a development kit that will allow individuals with little or no programming experience to develop electronic products. (Source: Element14)
For engineers, this is a change -- albeit an incremental one. Not long ago, mechanical engineers and electrical engineers operated in separate provinces. If a mechanical engineer had a mechatronic product idea, he or she would write a rudimentary system-level spec. Then the electrical engineers would descend on the spec, designing the circuits. Finally, the programmers would implement the microcontrollers, DSPs, and FPGAs. And that's how the product would get developed, from beginning to end.
The new dev kit, called the PIC18 Flowcode Developers Kit, changes all that. For some applications -- such as capacitive touch, data logging, or even simple industrial control -- electrical engineers and programmers may no longer be necessary.
To be sure, this isn't the first time that such capabilities have been available. National Instruments (NI) has offered similar features in a software development environment called LabVIEW. LabVIEW employs graphical programming to enable non-engineers to integrate motors, encoders, cameras, and controllers into their systems. NI reports that physicists, doctors, dentists, and biomedical engineers have developed products with LabVIEW.
Don't get me wrong, this is not a bad idea. On the other hand, it is not particularly new, either. Microsoft just came out with something called LightSwitch 2011. It is the same type of environment for user interface and business systems. As the article mentions, there is LabVIEW for embedded design. While all these tools are good for building quick prototypes and perhaps some types of production systems, they are inadequate for designing high performance systems. the problem comes at the high end and the low end. Software Engineers bring a lot of knowledge and skill in designing and architecting systems. They also bring knowledge of complex algorithms at the lower level to build very efficient components.
I do agree that engineers need to work differently, especially considering the ubiquity of microprocessors in all types of systems. I notice that engineering schools are teaching computer science to all types of engineers in many cases. This trend needs to continue. That won't obviate the need for the software engineer, though.
I think Naperlou makes a good point that graphic programming capabilities are definitely available from a growing number of vendors and across an expanding number of disciplines, from engineering to software development. Mathworks' Simulink and MATLAB tools follow a similar graphical programming model. While these tools might make the programming legwork more accessible and easier for engineers, they don't obviate the need for engineers to have a solid cross-discipline background in core capabilities like electronics, embedded software, and mechanical development.
Chuck: Is this dev kit for the professional engineer, or more for our readers who contribute Gadget Freak projects - many of whom are backyard tinkerers or engineering students? Or, is it trying to strike a balance between the two?
Jenn: When this concept started out, it was targeted at students, all the way down to the high school level. Its no being targeted at professionals. As Naperlou points out, the concept isn't new. But it is growing. National Instruments has been doing it for a few years, aiming its LabView graphical environment at so-called "domain experts," whose programming background may not be much different than that of a student. Many mechanical engineers are looking for a simple method, too.
In early 2011 I posted a long review of the FlowCode tools from Matrix Multimedia. You'll find it here: http://www.designnews.com/author.asp?section_id=1386&doc_id=230420. I still use the FlowCode software (now at version 5) as a way to quickly prototype a software design for PIC MCUs. Yes, Matlab, Simulink, LabVIEW, Maple and other products have similar capabilities, but they aim at high-level engineering projects such as closed-loop engine control, PID loops, and so on. Although Matrix Multimedia initially aimed its products at schools and universities, the wide range of eBlocks modules makes the hardware and software appeal to engineers, too. The lineup of eBlock devices include a ZigBee router, wireless LAN, audio codec, and CAB bus boards. --Jon Titus
Jon won't give himself the plug, so I will. He did a great series of five one-hour online courses two weeks ago, on Microcontroller Basics. He discusses dev kits a bit, but mainly it's just a great intro and refresher for engineers who'd like to get updated. The archives are posted here: http://www.designnews.com/lecture-calendar.asp We also have a series this week (Jan. 30), an Advanced MCU track, each day at 2pm eastern.
These kits could change engineering. Though these are not to be seen as shortcuts to engineering success, they will definitely add momentum by encouraging many engineers and enthusiasts.
As a long time C programmer who is currently learing LabView, I would add that graphical programming is still programming, and requires a similar set of skills. Yes, it does make some basic progams easier to create, but for anything more sophisticated than that you still need to learn the same concepts a text based language requires (loops, variables, structures, functions, etc), as well as all of the intricasies of the graphical environment.
That being said, I have a junior engineer working for me who has not been able to learn text based programmming, but is a whiz at LabView. It is appearanlty a different enough way of looking at things that he can wrap his brain around it, and do very good work. If this type of environment enables someone who can't or won't learn text based programming to build something new or creative, then it is a welcome addition to our colective tool sets.
John E, I'm with you. After programming in Forth and ANSI C for a decade, I moved into academia and needed to select a programming environment that allowed undergraduates to design and build systems that involved a software component, without having time for a traditional CS degree. LabVIEW was the logical choice and is a natural fit for first-time coders. Not having to "translate" and transition from a text-based language, they can concentrate on the design of the program flow and visualize the system as the flow of information among connected components, much like the systems diagrams we utilize for working with Energy and Material distribution systems. As we advance through the curriculum, the freshmen start out with simple transducer acquisition but by senior year are familiar with Artificial Intelligence, Robotics, and Knowledge Discovery in Databases...all in LabVIEW. I'm glad to see graphical languages being used.
I can't help wondering, though, if we might be setting up for a fall by teaching the graphical programming model. I agree, it's fine for quick-turn prototypes, but we all know that prototypes often turn into long-lived production-critical monsters. I "inherited" a factory-automation project that was done in HP Vee. I quickly found out how difficult it was to modify, as there was little structure, and worse: having made changes, I could not generate a diff report! All our difference or patch or merge tools assume text source files! Having non-SW engineers (especially young people) do graphical programming is fine for an intro, but config mgt and metrics tracking, etc., are necessary disciplines that must eventually be taught, and as far as I can tell, these are built on the text-based model.
Yes, you expressed it very well. Anyone who can logically express the idea can program and get the result. This will also reduce time to realisation of many of the projects. Though to a certain extent LabVIEW has done this to the "engineering" community, it was not meant for the pure enthusiasts. People will be motivated by the instant results and I am sure these kits do that..
If you want to "move up" the level of code development for a project of moderate complexity, look at the VisualSTATE tool from IAR Systems (http://www.iar.com/en/Products/IAR-visualSTATE/) that links with the company's integrated-development environment packages. IAR has a lot of helpful information on its Web site.
Also, the book, "Practical UML Statecharts in C/C++", by Miro Samek, provides a way to use the Universal Modeling Language to create program flow that then translates to code. ISBN: 978-0-7506-8706-5. Amazon lists this book for $US 39.
Judging by the broad array of tools out there to help with code development, there seems to be a larger trend toward aiding engineers at varying levels of expertise. Seems like a natural progression that's being recognized to some extent by the market, and I would think that university engineering programs would be smart to recognize this trend, as well. Future engineers are going to need these skills.
These types of tools will let engineers concentrate their expertise on solving problems rather than on creating custom algorithms and controls. I've heard some companies on Wall Street have coded trading algorithms into FPGAs using high-level tools. Sure, coding in C or C++ is a valuable skill, but using high-level tools to quickly implement and test algorithms beats the heck out of trying to implement them in an FPGA one line of code at a time.
Let's throw it into a real world application... let's hypothesize by asking the programmer to run a five axis water jet head for cutting carbon fiber composites. The surface geometry is complex; normally it would take Spock to program the cutter... or would it? Maybe CNC (G-CODE) Cartesian programming is the answer?http://www.robotmaster.com/success/success4.php
In addition to generating the code, graphical tools also give you an excellent way to document your software in a way that you know will be accurate. Many tools also work with a variety of languages and give you the ability to quickly create a cross-platform solution. A tool I frequently use is DevFlowCharter.
Certainly, I code without it, but by using the graphical tool I can document work for agency approvals, patents, lay people and have no problem in maintaining my own work years after creation when it's difficult to remember exactly what I was doing. I also use the tool when maintaining other engineer's code so I have a way to understand what they developed and how I might fix the problem.
In a way it's like using a high level language. Yes, I can write in Assembly, sometimes I still do, but by writing in C the code is easier to maintain, easier to understand. Graphical Programming is just the next step up from a high level language.
Hi, as a mechatronics engineer I am used to define product specifications that will be later implemented according to user needs. In my experience it is hard to design a sophisticated system without knowing what's inside the black box or knowing how to implement control laws to a system that must be reliable like an alarm or safety system, this can be implemented using coding like assembly or C in a better way. I consider graphical programming has a high challenge to become so intuitive and clear to the user and also it should have its own intelligence to detect possible failures or error in design that could further become into failure.
By refining topologies and using new fluid technology, Moog's new peak sine drive controller increases available power without increasing controller volume.
Lantronix Inc. has expanded its line of controllers for sensor networks with the release of a rugged controller that improves management of automation systems used in a number of industries, including manufacturing, oil and gas, and chemicals.
Inspired by the hooks a parasitic worm uses to penetrate its host's intestines, the Karp Lab has invented a flexible adhesive patch covered with microneedles that adheres well to wet, soft tissues, but doesn't cause damage when removed.
From Dell / Intel® New Paradigms in Design Work Scott Hamilton, vertical market strategist for Dell Precision workstations, 5/2/2013 3
Early in my career, I worked as a draftsman and remember the days of drawing on vellum with numbered pencils and Mylar with plastic lead. This was a fun experience in the sense that I ...
I've been using workstations for more than 10 years and love finding ways to get more performance from my system. With demanding professional applications that require more power each ...
A lasting memory from my first job as an engineer in an auto assembly plant is standing on hard concrete at six in the morning, vending-machine coffee clutched in hand, listening to ...
A quick look into the merger of two powerhouse 3D printing OEMs and the new leader in rapid prototyping solutions, Stratasys. The industrial revolution is now led by 3D printing and engineers are given the opportunity to fully maximize their design capabilities, reduce their time-to-market and functionally test prototypes cheaper, faster and easier. Bruce Bradshaw, Director of Marketing in North America, will explore the large product offering and variety of materials that will help CAD designers articulate their product design with actual, physical prototypes. This broadcast will dive deep into technical information including application specific stories from real world customers and their experiences with 3D printing. 3D Printing is
To save this item to your list of favorite Design News content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.