Contact US

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Programming Language for embedded PCs

Programming Language for embedded PCs

Programming Language for embedded PCs

I am wanting to program an embedded PC but I am more of an engineer than a computer scientist?

What languages would you recommend? LabView or FlowStone etc...

Any advice would be appreciated...

RE: Programming Language for embedded PCs

The word 'embedded', when applied to computers, means that the reset button CANNOT be pressed, EVER, usually because no human is within proximity.  The computer may in fact have no keyboard and no display.  It should be prepared to live its entire life autonomously, making its own decisions and dealing with the consequences.

PCs were evolved in a different environment, and are not generally robust enough for embedded service.

They have the advantage of being cheap because they are produced in enormous quantities.

An artifact of the market for PCs is that they are in general badly designed.  Let me explain how that happens:

Most start with a template design by the CPU chip maker.
Anybody can buy the design package, and many do.
In order to differentiate, motherboard vendors add features by modifying the template design.  Some of them do it well; most screw up the implementation in some way because they are in a hurry to get to market and don't want to pay for EEs who know what they are doing.
There is no way to tell the good ones from the bad ones.

Okay, there is a way.  You hire an EE who knows what he is doing, and he goes over the design documents, checks all the chips for application errors, like loading, timing of each and every signal, stuff like that.  Then he checks the timing of the motherboard buses against the standards for the bus, and for potential problems interfacing with common but noncompliant parts that must be used for one reason or another.
I knew a guy who did this for us full time.  It took him about six months full time to qualify one new motherboard.

That's a problem, because the PC market is so intense that a motherboard becomes commercially obsolete in three months.  ... meaning that the bottom drops out of the market so that nobody can make money building the motherboard you've just qualified, because new features have come into fashion and/or someone else is selling a nominally equivalent motherboard for half the price, which they can do because they didn't bother to check _any_ of the 'improvements' they made in order to get the price down.

So our embedded PC went from a 8088 to 8086 to 80286 to 80386 to 80486 to Pentium in just a couple of years.  It didn't need all the horsepower of any of the newer chips, but we couldn't get old design motherboards at competitive prices once the new ones became available.

You can find oldish design PCs intended for embedding, sold as 'industrial' computers.  Be aware that no one can afford to make them price competitive with what you can get at Wal-Mart, but as I tried to illustrate, using generic PCs has hidden costs of its own.

As for software, what's best is what you can figure out how to use.  I have no idea if Labview can generate code that's suitable for embedded computers.  I have no idea what FlowStone is.  


Mike Halloran
Pembroke Pines, FL, USA

RE: Programming Language for embedded PCs

Thank you Mike for your detailed reply.

However I have to clarify a few points your have made. Embedded PCs are widely used ( Think ATM, Gamming Machine, Flight Check in system, CCTV system etc.) and are very reliable now days particularly is you use Windows Embedded as we do. It boots in < 10s with a 300Kb install directly into our EXE (ie no windows ). I take you point about the mother boards and you are right you can't just uses an off the shelf cheap mobo but one designed to be an embedded board. These usually have a guaranteed supply of at lest 3 years and apart from the quality and the price the main difference is that they have hardware watchdog timers just like the DSP or uP counterpart to reboot in case of a crash.

We are electronics engineers here and whilst we have a Windows Embedded system working using a FIT PC which is great, we have been developing in C++ and it is just too time consuming  to program for our time frame. For our application there is no keyboard or mouse but we do need streaming video and audio plus networking, a touch screen and some DIO etc.

We are considering trying one of the graphical programming Languages like LabView (which we haven used yet) or FlowStone by DSPRobotics (we just downloaded the free version) which looks very elegant, but having no experience in these languages. At first sight they seem to suit my electronics engineering brain, so I wondered if any one could shed some light on if any of these graphical type languages we any good or not for a Windows Embedded application?

RE: Programming Language for embedded PCs

"if any of these graphical type languages we any good or not for a Windows Embedded application?"

Possibly, but you need to talk to applications engineers from the two companies in question.  Labview is, ostensibly, a measurement system, migrated from a Windows environment, while it appears that Coldstone seems to be designed specifically for embedded and small footprint applications.

You might ask for a two-month demonstration package, or something like that, to really try them out.


FAQ731-376: Eng-Tips.com Forum Policies
Chinese prisoner wins Nobel Peace Prize

RE: Programming Language for embedded PCs

Sorry about the typos – Engineers!

Anyway I have a little progress to report:

I've decided to give FlowStone a go as LabView seems a little daunting (and expensive!), I already downloaded the free version of FlowStone to test so let's see. It seems the main limitation of the free version isn't a timeout like other software but simply a limitation on project size which is good. Also you can't make EXE's in the free version but you can pay as you go instead. So basically you just pay a nominal fee when you finally want to test your app. as an EXE. Which is ideal as I want to make a test app. and then try it on our embedded PC hardware, so it needs to be an EXE.

Give me a couple days or so to play with some of the examples and I'll report back.

RE: Programming Language for embedded PCs

not sure what Mike's rant was all about. PCs capable of running windows CE (embedded) have been around for years, come in many flavours, and will be with us for a long time. Secondly, Labview has done extensive work in developing it's embedded capabilities and will compile to run on highly minimal system resources. Taking that further, Labview will also compile to run on ARM based controllers to get your footprint down even further. In my mind, the decision comes down to interfacing to real world, be it networking and/or port isolation.  

RE: Programming Language for embedded PCs

Thank you automatic2 for the clarification. For my application I need full Windows Embedded not CE, as my CPU demands are quite high.

I have progressed quite a long way so far with FlowStone, and now have an embedded app. running on my target hardware with streaming video and some quite hairy DSP!

I am quite surprised I have manged to get so far so quickly using a graphical programming language. This would have taken me much longer in C++.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members! Already a Member? Login


Low-Volume Rapid Injection Molding With 3D Printed Molds
Learn methods and guidelines for using stereolithography (SLA) 3D printed molds in the injection molding process to lower costs and lead time. Discover how this hybrid manufacturing process enables on-demand mold fabrication to quickly produce small batches of thermoplastic parts. Download Now
Design for Additive Manufacturing (DfAM)
Examine how the principles of DfAM upend many of the long-standing rules around manufacturability - allowing engineers and designers to place a part’s function at the center of their design considerations. Download Now
Taking Control of Engineering Documents
This ebook covers tips for creating and managing workflows, security best practices and protection of intellectual property, Cloud vs. on-premise software solutions, CAD file management, compliance, and more. Download Now

Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close