HOME  |  NEWS  |  BLOGS  |  MESSAGES  |  FEATURES  |  VIDEOS  |  WEBINARS  |  INDUSTRIES  |  FOCUS ON FUNDAMENTALS
  |  REGISTER  |  LOGIN  |  HELP
Comments
You must login to participate in this chat. Please login.

Jacob good lecture if lucky will hear you live today.

Iron

Worked with a programmer in the past that his code was one big continueous code, miracle that it worked, but a nightmare to maintain.

Iron

Design it first then write, works best.

Iron

Good understanding of the system where the embedded system is to be used, if he or they are lucky they will get a good design specification in the begining that reflects reality.  Agree with Sciguy below.

Iron

Interrupt functions cannot accept arguments, or return values, because they can be called from anywhere (nowhere to get arguments from) and return to anywhere. You can transfer data via shared variables (not necessarily global), but typically something "safer" is rquired, like a queue, FIFO, ring buffer, or other structure that is locked (cannot be read while being written to) to avoid inconsistent data.

Iron

Thanks Jacob. Very good introdcution. One question. Some interrupt functions in C don't seem to accept variables passed to them. In otherwords the function prototype is void Interrupt(void). How then can interrupt function share data,in C, if global variables are not used.  I come from a hardware background so little experience of object oriented programming and I don't thing the C  compiler I use can handle object oriented constructs.

Iron

That was a good introductory lecture. Thank You Jacob.

Iron

You list some other characteristics of a good programmer - they write well structured, maintainable code, they recognize and resuse design patterns and they thoroughly test their work.

Iron

I try to minimize the use of global variables. Rarely.

Iron

The process of software development works better is you design first and implement after the design has been documented. Design First, Implement Second!

Iron

Most important skills for embedded software development? Understanding of the hardware you are developing for, such as microprocessor/microcontroller, other devices.

Iron

Hello again from Beaverton, Oregon. Getting caught up today.

Iron

@mark.browne Ive found that to be the case. Consistency is the hobgoblin of good architecture.

In programming a generous helping of OCD can be a good thing.

Note: your Web interface removed my "+ " (plus plus) from all my C_plus_plus references in the previous post!

Iron

I am still suprised that more people doen't use C+ for embedded development. I find that it makes achieving your "good programming" practices so much easier. For example, if I have to manage a display, which has many complex taskst and functions, I will create a Display class. Its public interface wold have functions like unsigned char PrintF(unsigned char Row,unsigned char Col,const char* Format,...); which anyone could use. The constructor would initialize the hardware so any Display object is ready to go as soon as you access it. They way OO function calls are made helps take care of "good naming" practices while reducing the number of names needed by using overloading. For example there may be several different versions of a Write function that do logically the same thing, but take different input to get the job done.

C makes reuse so much simpler as well. when I need a new application, I can just choose from a pallet of existing classes to build a basic system.

Iron

"I have more of a hardware background and I am not as familiar with different software development processes.  I was wondering if you could recomend books that cover different development processes?"

I couple of books were mentioned below.  I've read Making Embedded Systems and it was a good read.  

The Art of Designing Embedded Systems is a favorite of mine

This may sound boring but the IEEE SWEBOK is a great resource for the software development process.  

You could also do a search for the Personal Software Process.  This is more for the individual developer but still a lot of great information!

Blogger

"Jacob, how can you patch static data. I often use globals for persistent data, but I use the globals as static variables. This has made patching data possible. Can this be done with static data?"

I don't think I fully understand what you mean by patching.  A while back I wrote an article about how to use static.  It might help clarify or perhaps you can restate the question?

 

http://www.edn.com/electronics-blogs/embedded-basics/4399089/Using-the-Static-Keyword-in-C

Blogger

"Is there a way to identify/avoid the kind of errors in Tips #9?" 

One way to reduce the number of errors coudl be pair programming.  This is where two programmers sit side by side and write code together.  These types of typos are usually caught by a second pair of eyes.  

If a second set is unavailable, painful debugging experience is the best way to identify them.  The error I highlighted I have seen numerous times so when I get an error like that I know to look somewhere else and that I probably missed a semicolon.  

Blogger

whenever necesary  to use global variables

Iron

It was asked "Could you explain the error highlighted on slide #19?"  The line of code that the compiler says the error is on and is highlighted is actually a good line of code!  The compiler says it is expecting { and that Btn_PressState is undeclared.  Then there are errors about a pointer.  The compiler had 6 things to say about the highlighted line of code.  

Yet the error wasn't in the button code!  A completely different and unrelated module, the led.c module had in its header file a prototype function that was missing a semicolan!  So this is just a tip in the obvious that sometimes the compiler will point to something and say ERROR!  but that line is fine and instead you need to understand what the compiler tried to compile before the file that it thinks the error is in.  

 

I hope that helps!

Blogger

Sometime yes for global variables

Both ways, documents at final step

Digital Electronics + Programming Languages Debugging

Hi from Beaverton, Oregon. I had a meeting conflict today, so I'm playing catch-up tonight. Downloading the slide deck now.

Iron

Nevermind my previous post.   You define the terms on slides 7&8.

Iron

What are your definitions of 'Waterfall' and 'Agile' in this context?

Iron

Thanks so much for the lecture Jacob.

Iron

What is TLM in embedded systems?

Iron

@ginomai,

I recently came across several very good references for Embedded development:

Software Engineering for Embedded Systems
By: Robert Oshana; Mark Kraeling
Publisher: Newnes
Pub. Date: June 3, 2013
Print ISBN-13: 978-0-12-415917-4
Web ISBN-13: 978-0-12-415941-9

 

Making Embedded Systems
By: Elecia White
Publisher: O'Reilly Media, Inc.
Pub. Date: November 9, 2011
Print ISBN-13: 978-1-4493-0214-6

(Free download!) 
Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems, A Cyber-Physical Systems Approach, http://LeeSeshia.org, ISBN 978-0-557-70857-4, 2011                        

That should be...

"People who write optimization code and understand optimization theory"

Iron

As a side note....

People may think thet "Agile" development is better. I am not so sure that it should stand on its own. The danger is that your "Islands of Code" may be complete and adequate in themselves -- but without a complete and well understood target against whcih to test the entire application -- who is to say that the code is optimal? (Or even correct?)

People who right optimization theory well understand "local optimiums"  that completely foul up the Global Requirement...

Can you say Healthcare? -- and not grin at the compariosn to "Islands" vs Global, or Complete System, testing?

Just askin'

Iron

Thank you!  great presentation and chat!

Iron

Regarding Cyclomatic Complexity of 10, along with just "understandability" is the matter of "testability."  The Cyclomatic Complexity gives the number if independent paths through the function, and so the MINIMUM number of test cases for statement test coverage.  If the Complexity number gets too large, along with being difficult to understand it also becomes cumbersome to test.

Resource Standard Metrics from m-squared.

I should probably refactor this huh?

Complexity   Param 1       Return 1      Cyclo Vg 49      Total       51

 

A good embedded syatems engineer needs to understand the electronics. Even if one knows the language, he or she must understand how the electronics are intended to function. When developing my own projects I try to learn as much about the problem that I am attempting to solve and document any new knowledge as I am working. This keeps me from making the same mistake twice or even several times. I also try to limit my global variables as much as possible. Two very important characteristics for any programmer are patience and humility. On must learn from his or her failures and not become frustated. Most complex programs take lots of testing and debugging.

Iron

Not familar with RSM. What is it?

Iron

Thank you everyone for your questions and time!  I have to sign-off for now but if I didn't answer your question yet I will review the log later this evening and respond before tomorrows presentation!  Also feel free to email me at jacob@beningo.com

Blogger

there is very little embedded training in the undergrad curriculum

 

Iron

When I graduated undergrad it was hard to find a job with little experience and bachelors.  I found that having a masters degree and a few years experience was looked on much better.

Blogger

I think experience is important!  A masters degree will definitely help!

Blogger

The cyclomatic of 10 i've seen mentioned in articles and literature.  If you think about it the human mind can track 7 pieces of information or paths at one time.  You can probably handle 10 branches in a function but getting beyond that it becomes more than my RAM can handle!

Blogger

1. When applying for a position in software development of embedded systems, which characteristics do they look for primarily?  2. And is a Masters degree more important or experience?

Iron

Yes the example did use RSM and that and that is typically what I use with my development.

Blogger

@hsoli - same link used for live session

Iron

Regarding code complexity:

Did your example come from RSM? Someone in the chat room mentioned Source Monitor. Do you have a complexity analyzer that you prefer to use?

Is your cyclomatic complexity less than 10 rule based on something, or is that an arbitrary number that you like to use?

How to get on the live-chat page?

Iron

the idea with porting code is you want to keep your code contained, minimize dependencies on other modules, hide your data and only reveal the private data through interfaces defined in your .h files.

Blogger

what is the link for recorded lecture?

 

Iron

Alaskaman66, yes if it is static to that module then it isn't dependent on other modules so it should be easier to port.  Good question!

Blogger

Q: I have more of a hardware background and I am not as familiar with different software development processes.  I was wondering if you could recomend books that cover different development processes?

Iron

this lecture was recorded so it can be referenced later!

Blogger

If variables are always coded as static in a module, does that make the module more "portable" for new software applications?

absolutely!  it was hard to choose only a few good characteristics!  I see a lot of great additional ones!

Blogger

thanks! looking forward to tomorrow's class

Iron

document well, comments should not just be "lines of code I'm not using but don't want to get rid of"

Iron

Good programmers/designers colloborate with other designers/engineers to solve problems; they also know when to seek help when they hit a snag in their design.

Iron

Your welcome everyone!  

Blogger

so the idea is that we want to hide our data so that only other pieces of software that need to use them have access to them.  So using static within a module can make them local and unavailable to the rest of the program.

Blogger

places to add new code. thanks Jacob

Iron

It was a very good presentation. Thanks a lot!

BE Creative

Thanks you Jacob,

 

Iron

Thanks Jacob, good presentation.

Iron

Thank you for today's lecture presentation.

 

Jeyasingh Nithianandam

Iron

I see some comments about static and global variables

Blogger

Maven on the way to Mars!

Thanks, looking forward to tomorrow.

Iron

ability to respecify requierments, so to be sure of understanding

Iron

know your environment and its limitations

Iron

Comments in code that are useful.

 

Iron

Great lecture, thanks!

Iron

Your welcome!  I look forward to diving into more details dring the next lecture

Blogger

Thanks Jacob and Ann

Iron

Thank you very much Jacob; very informative!

Good programmers document their code

Iron

Jacob, how can you patch static data. I often use globals for persistent data, but I use the globals as static variables. This has made patching data possible. Can this be done with static data?

 

Thank you. Great introduction!

Iron

Attention to detail & observant

Iron

Great start, be here tomorrow.

Iron

Thanks everyone for your attention!  I hope that everyone is doing well!

Blogger

I enjoy with your presentation.

Thanks Jacob!

Iron

try to never use globals. Have caused trouble in the past.

Iron

thanks for the lecture.

Iron

Jacob,

Thank you.  Much appreciated.

Iron

thanks, Jacob. very interesting...

Iron

Good programmers leave ego out of the work; love people not code and embrace criticism.  Embrace iteration.

Iron

knowledgable of the system they are programming for and the end use of the system

Iron

Thank you for today's class Jacob

Iron

Thank You, Very Informative

Iron

source monitor look very interesting

Iron

Attention to detail.  Writes clear, maintainable, efficient, functional code.

Iron

Can think in abstractions; focus on the appropriate scope and detail for the situation at hand.

Good programmers take the time to fully master the fundamentals of whatever language they are working in and never assume syntactically similar features work the same in different languages

A good programmer is the one that codes as if the code should run unmodified for at least 50 years.

Iron

Write code as if writing prose.

Iron

Will this lecture be recorded so we can review later.

Thanks

Iron

Very good presentation. I wish more schools would take this aproach.

Iron

persistance and patince

Iron

provide cobstructive criticism, not flaming rants

Iron

Thank you Jacob, Ann, and Digi-Key

Gold

SUCCESSFUL TRANSLATING THE ALGORITHMS INTO FIRMWARE / SOFTWARE

 

Iron

Loves learning about new technologies, and writing programs for new chips and processor designs.

Iron

Understanding that code reviews are not a personal attack!

Iron

Thank you for such an informative session.

Iron

Good programmer = keep it simple and stupid (avoid too much complexity)

Iron

design first, then implement

Iron

We are now on Slide 20

Blogger

Open-minded, difficult-to-offend, patient

Iron

Jacob's question was: What other characteristics can you think of that make a good/great programmer?

Blogger

We should strive to be software engineers, not programmers. There is a difference.

Iron

I don't understand what means a pine apple in last slide :-)

Iron

Q: Could you explain the error highlighted on slide #19?

?Is there a way to identify/avoid the kind of errors in Tips #9?

Iron

We are now on Slide 19

Blogger

seems like globals creep into code most often when design requirements change after development started and redevelopment would require too much time to meet deadlines

Iron

Had to use global variables what seemed like quite often in automotive SW design using MatLab/Simulink 

 

Iron

Globals used only for something that has a reason to be global - system wide contants, singleton instance ... the "single source of truth" principle ...

I use a lot of globals and access them often. Convenience of having those values on hand... 

Iron

Use globals sometimes.  It depends on the language for the project, usually.

Iron

only use some globals when needed

Iron

I try not to use Globals, but being human I get lazy sometimes.

Iron

reducing use of gloabal variable also leads to increase use of stack. There should be well balance.

Most of my embedded programs use globals, but I try to minimize the number of them.

Iron

I usually use globals for some buffers (ISR).  Where the isr adds to the buffer

 

Iron

I use globals sparingly

 

Iron

I try to avoid globals. However, I do use them

Iron

We are now on Slide 18

Blogger

I always used to use global variables alot but I will try and use it lesser from now on.

Iron

as much as i can, i'll try to avoid using global variables. but there are cases where you really need to

Iron

Generally only use global variables for flags between ISR and mainline.  There are other times, but not too frequently.

Iron

As little as possible or not at all

 

Iron

Not using global variables at all. In general we meed reentrancy.

Iron

I use a RTOS that makes use of global variable so I can not avoid them.

Iron

use globals sparingly.  Usually if I am limited on memory.

Iron

YEs I use some globals when required.

Iron

GOTO is the spawn of satan.  Global variables are the proud parents.

Iron

common variables shared between functions work better as global!!

Iron

File-scope Global, NOT Program-Scope Global.

 

Rarely use global variables.

Iron

I use globals very sparingly

Iron

Jacob's question was: Do you use global variables and if so how often?

Blogger

TG17 - you need to click the Play Button at the top of page

 

Iron

We are now on Slide 17

Blogger

Make use of underscores to seperate the words from each other.

Read_routine is more readable than ReadRoutine.

Iron

We are now on Slide 16

Blogger

What slide is current....I don't hear any audio?

 

Iron

@asdurey, SourceMonitor is freeware and I found it useful.

Iron

? Using interrupts is something common in embedded software. Why interrupts are not standadized in the C language standards?

Iron

Can you recommend any tools for automatic analysis of code complexity?

Iron

We are now on Slide 15

Blogger

This is great.  I just used SourceMonitor last week and discovered that the cyclomatic complexity was very high on a few of my functions.  I started re-writing those today and those functions are now much more maintainable.

Iron

We are now on Slide 14

Blogger

document design document again

Iron

We are now on Slide 13

Blogger

Document, Design, Document again

Iron

I've mostly done ASIC design, so usually we do design first, then code.  Unfortunately, the code usually changes away from the design at some point, and the documentation never gets updated.

Iron

We are now on Slide 12

Blogger

I implement first then create design documents.

Iron

All docs first, spec. design doc with flows... waterfall basiclly.

Iron

a little dev kit prototyping, then design and implement.

Iron

basically don't spend so much time on high level planning that you find out too late that the high level plan depends on a low level miracle that you could have validated by writing some throwaway experimental code

basic design flow done first but most documentation seems to be done concurrently with coding

Iron

Have worked both ways.  It depends on the project.  Generally better to plan first.

Iron

Document 1st, then review, then coding

Iron

i always did the design and document first. The other members of my former team code first. Drove me crazy.

Iron

Design the software up front as much as possible.

Iron

Code first to see if it works. Throw it away. Then design and start over.

I have done both depending on the complexity of the project.  Design first helps a lot with the larger projects.

Iron

generally design first

Iron

Unless something really small, it's better to plan first then design/implement.

Iron

Document after... perhaps not the best, but gets stuff "working" quickly!

 

Iron

Rough flow chart, use lots of comments during write and debug portion, then write a user guide at the end.

Iron

Tried both ways. In general Design first is more efficient. 

Iron

depends on complexity, however, basic design first, code, feedback, and expand

Iron

I usually document after designing due to lack of time.

Iron

Design first to AVOID errors.

 

Design first, code second.

 

Iron

It depends on the size and complexity of the code.

Iron

Effectively, i combine waterfall and agile. Always begin with Requirements Analysis.

Iron

agree it is good to stop and think before cutting a bunch of code but nothing wrong with writing experimental code to prove out key technical capabilities, vs. just assuming at a high level that the whole system is feasible

Design the write - much easier to see the bigger picture rather than getting stuck in the details.  Helps when testing the final product too

 

Iron

Have to design first. Otherwise tend to get lost and loose organization.

Iron

design the software before coding.  Build high level architecture and logic so the coding is simple.

Iron

Design first: activity diagrams, class diagrams, sequence diagrams. ....

Iron

Design first -- psuedocode and flowcharts first to make sure the requirements are met.

 

Iron

I prefer writing algorithms first and then working on software development.

Iron

High level design then implement and documentation afterwards

Iron

Both, design first and update functionality later

Iron

I have tried both - pre-planning is always best

Iron

Design docs first

 

Iron

Write design documents before implementing code.

Iron

We are now on Slide 11

Blogger

write the design specs first 

Iron

Document after; we iterate quickly and often

Iron

Flow charts are good but any method that captures the overall design of the product is good.

I've even used Ada as a design tool.

Iron

Design first. Code later.

Iron

Design first and build up from there

Iron

Building on other's designs/code is not a bad skill to have, but copy/paste errors DO slow you down sometimes more than starting from scratch!

 

Iron

Q: I have more of a hardware background and I am not as familiar with different software development processes.  I was wondering if you could recomend books that cover different development processes?

Iron

Jacob's question was: Do you design your software first before you implement or do you implement and then create design documents afterward?

Blogger

copy and paste errors - have seen them responsible for some bugs that were "hard" to find because the errors were not anticipated

We are now on Slide 10

Blogger

understanding SW/HW interaction

 

Iron

We are now on Slide 9

Blogger

solid understanding of digital design up through processor design

 

Hw and software development

Iron

?? what are your thoughts about Test Driven Development -- how compare to waterfall and Agile

Iron

Hello everyone from HB,D

Iron

Find the balance between hardware and software

Iron

Ability to RTFM for both HW and SW

Project (system) mgmt.

Iron

We are now on Slide 8

Blogger

You need several skills to be successful in embedded systems.

Iron

Hardware and software development

Iron

Application/system requirements, hardware, and firmware

 

Iron

Abiltity to see the end product in its intirety before beginning.

Iron

problem solving - need to debug and to devvelolp a solution to a customer's problem

 

Iron

Actual characteristics of the hardware, especially the sensors suite. Next is a good grasp of the logic structure that must be implemented in software.

understanding hardware and software, troubleshooting, debugging

Iron

Specially must be able to understand and use register and memory map.

Iron

Abstraction, facility with metrics, R&D

Iron

Hardware/Software understanding and debugging

Iron

Knowledge of hardware and software.

Iron

Most important aspect: algorithms.

Iron

Programming Knowledge

 

Iron

Software Engineering AND Electrical Engineering.  Must understand "Systems Thinking" and "Abstraction."

 

Equally comfortable with both SW and HW

Iron

Software (Electronics is easy)

 

Comm interfaces

debugging

Iron

understanding of the root hardware you are utilizing.  uP architecture, interface hardware etc

Iron

Debug skills and knowledge of integration.

Iron

Programmin skills and comfort with soldering

Gold

Understand both HW and SW

Iron

Troubleshooting - you always run into unexpected problems

Iron

Electronics (software is easy)

Iron

We are now on Slide 7

Blogger

Jacob's question was: What skill do you think is the most important to an embedded engineer?

Blogger

Good morning from Reno, NV.

Iron

We are now on Slide 6

Blogger

Hello from Harrisburg

Iron

We are now on Slide 5

Blogger

We are now on Slide 4

Blogger

We are now on Slide 3

Blogger

Hello from soutwest Michigan

 

Iron

We are now on Slide 2

Blogger

We are now on Slide 1

Blogger

hello from Wake Forest NC

 

Iron

Good afternoon, everyone

Iron

Hi all -Audio is live! If you don't see the audio bar at the top of the screen, please refresh your browser. It may take a couple tries. When you see the audio bar, hit the play button. If you experience audio interruptions and are using IE, try using FF or Chrome as your browser. Many people experience issues with IE. Also, make sure your flash player is updated with the current version. Some companies block live audio streams, so if that is the case for your company, the class will be archived on this page immediately following the class and you can listen then. People don't experience any issues with the audio for the archived version.

Good morning from Calgary

Looking forward to it....

 

Iron

Hello from Alpharetta, GA.

Iron

Hello from Boston Ma...

Iron

DominikHoffmann - Please see "Today's Slide Deck" to right of lecturer's picture.

Iron

@DominikHoffmann, Click on Today's Slide Deck to get the power point slides. The audio bar will appear under the title precisely on the hour.

Gold

There's a slide deck under Special Educational Materials

So, this is an audio-only presentation? Nothing to download first? — N00b from Leesburg, Va.

Hello everyone from Coventry (UK)

Iron

Hi from central Oregon!

Iron

Greetings from sunny West Point, PA.

Iron

Greetings from Buffalo, NY!

Iron

Hello from sunny Atlanta.

Iron

Hello from London this week

Iron

Hello from Wyoming, Mi.

Iron

good morning from Seattle

Iron

Hello from Hudsonville, MI

 

Iron

Thank goodness for automated reminders. 

Iron

Good morning from Albuquerque

Iron

Hello from Longmont, CO

Iron

Good Afternoon from Richmond, Va.

Iron

Good Morning nfrom Valdez. Fifteen degrees. First snowfall last week. Go Maven.

Sunny, warm, HOUSTON is here!

Iron

Hello from St. Louis

Iron

Greatings from Raleigh, NC

 

Iron

Greetings from colorful Colorado!

Iron

Hello from chilly New Hampshire.

hello from snowy edmonton, alberta :)

 

Iron

Greetings from Boston metro west. A nice balmy 63 Deg F day!

Iron

Hello from Sunny Saint Louis, MO

Iron

Greetings from Somewhere on the Niagara Frontier.

Iron

Be sure to follow @designnews and @DigiKeyCEC on Twitter for the latest class information. We encourage you to tweet about today's class using the hashtag #CEC.

Blogger

Good afternoon from Mobile, AL

Hello from Oxford, OH

Iron

Please join our Digi-Key Continuing Education Center LinkedIn Group at http://linkd.in/yoNGeY

Blogger

Greetings from Vermont

Iron

Good Morning, apparently I'm a week and a half late to the conversation.

Iron

The streaming audio player will appear on this web page when the show starts at 2 PM Eastern time today. Note however that some companies block live audio streams. If when the show starts you don't hear any audio, try refreshing your browser. If that doesn't work, try using Firefox or Google Chrome as your browser. Some users experience audio interruptions with IE. If that doesn't work, the class will be archived immediately following our live taping.

Blogger

@mark.browne It's not the original, but you can copy and paste.

http://forum.codecall.net/topic/43097-obfuscated-c-contest/

 

Iron

I find the slide organized well and very practical. I like the 10 tips and tricks! I am sure this webinar will be very fruitful!

Hi from rainy Panama City FL.

Iron

Good morning from San Ramon, CA

Looks like slide 9 is a duplicate of #8

Be sure to click 'Today's Slide Deck' under Special Educational Materials above right to download the PowerPoint for today's session.

Blogger

Slide 19 / christmas tree source code - does anyone know where to find a machine readable version on the net?

Good morning from San Jose!

Iron

Good morning from southern California

Iron

I cheated and went through all the slides already. It looks like an interesting week -- with stuff for new pups and for grizzled old dogs. lol

Iron

Good morning from Lake Simcoe area of Ontario Canada.

Iron

Good morning from scottsdale,AZ

Iron

Morning from Portland Oregon

Iron

Slides good. See you all soon.

Iron

Looking forward to attending

Iron

I look forward to attend your lecture

ATH

Iron

It's the software that does the work.



Partner Zone
Latest Analysis
Battery maker LG Chem Power Inc. plans to offer a new cell chemistry that could serve as the foundation for an affordable electric car with a 200-mile driving range by 2017.
The amount of plastic clogging the ocean continues to grow. Some startling, not-so-good news has come out recently about the roles plastic is playing in the ocean, as well as more heartening news about efforts to collect and reuse it.
New developments in sensors span a wide range of applications in all areas of manufacturing and plant automation.
Some of our culture's most enduring robots appeared in the 80s. The Aliens series produced another evil android, and we saw light robot fare in the form of Short Circuit. Two of the great robots of all time also showed up: The Terminator and RoboCop.
Two students have created a voice-command system for our homes, based on the simple and affordable Raspberry Pi.
More:Blogs|News
Design News Webinar Series
7/23/2014 11:00 a.m. California / 2:00 p.m. New York
7/17/2014 11:00 a.m. California / 2:00 p.m. New York
6/25/2014 11:00 a.m. California / 2:00 p.m. New York
5/13/2014 10:00 a.m. California / 1:00 p.m. New York / 6:00 p.m. London
Quick Poll
The Continuing Education Center offers engineers an entirely new way to get the education they need to formulate next-generation solutions.
Aug 4 - 8, Introduction to Linux Device Drivers
SEMESTERS: 1  |  2  |  3  |  4  |  5  |  6


Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.
Next Class: August 12 - 14
Sponsored by igus
Learn More   |   Login   |   Archived Classes
Twitter Feed
Design News Twitter Feed
Like Us on Facebook

Sponsored Content

Technology Marketplace

Copyright © 2014 UBM Canon, A UBM company, All rights reserved. Privacy Policy | Terms of Service