Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Need Controller Recommendation

Status
Not open for further replies.

eTech

Well-Known Member
Hi

I'm starting a new project and would like suggestions on which technology to use.
The completed project will be a self contained audio measurement device that
does not require a connection to a computer to operate.

Here are some requirements:

1. Interface to small LCD display (about 4" x 6").
(future - touch sceen capability)
2. High level graphics development tools
3. Interface to external audio signal input for test and measurment purposes.
4. Control the state of approx 6 internal DC Relays (latch or no latch)
5. Read approx 4 momentary pushbuttons
(future - incorporate into touch screen)
6. Self contained (does not require a PC to operate) bench top unit
7. External 120Vac to ?DC power source.

Question:

Which technology(s) would be best for this?
PLC?
PIC?
DSP?
Arduino?
Microcontroller?
Other?

Thanks
 
As soon as you said high level graphics ability you ruled out virtually anything relating to a micro controller. ARM boards would probably work for you, or a SBC type computer, which can be easily programmed in C/C++ would be the easiest to develop for, they generally have a decent number of general purpose I/O lines.
 
Last edited:
I've programed in assembly, C, ,C++, Visual Basic, Pascal.

Also progammed PLC's.

I've used just about every script language there is...:)
 
Last edited:
As soon as you said high level graphics ability you ruled out virtually anything relating to a micro controller. ARM boards would probably work for you, or a SBC type computer, which can be easily programmed in C/C++

OK...that's the kind of info I was looking for....Thanks.
 
By high level graphics ability, what does that actually mean? A 128k microcontroller will give you enough for nice looking graphs, menu's, and images and it's easy to find 512k microcontrollers now. Based on your list of "technologies", though I would agree that some type of embedded linux would be the best, though. Maybe a BeagleBoard and some external circuitry for whatever audio processing you want to do.
 
Last edited:
Dirtylude, this is just like when I was first discovering micro controllers years ago I saw that they were rapidly in the hobbyist community overtaking discrete components and single purpose IC based designs simple because of the flexibility and power had gone up so much and the price had come down so much it was ridiculous.

The same thing is happening again today on a different scale where embeded Linux based ARM devices are overtaking micro controllers for many applications simply because for the performance you get vs price, you can use fully developed C/C++ compilers. It allows a greater degree of existing computer users to work on embedded applications because.

Micro controllers will always have their place, but the embedded PC market is in a huge boom right now.
 
Thank you all for the input...I knew this was the right place to post this question. :)

I've been away from this awhile and wanted to start off on the right track...

Thanks..
 
By high level graphics ability, what does that actually mean? A 128k microcontroller will give you enough for nice looking graphs, menu's, and images and it's easy to find 512k microcontrollers now. Based on your list of "technologies", though I would agree that some type of embedded linux would be the best, though. Maybe a BeagleBoard and some external circuitry for whatever audio processing you want to do.

Well...what it means to me is having easy to use development tools that provide the developer with the the ability to produce the desired "nice looking" graphics while shielding them as much as practical from continous "lowlevel" coding...although I realize some of that is unavoidable...
 
Dirtylude, this is just like when I was first discovering micro controllers years ago I saw that they were rapidly in the hobbyist community overtaking discrete components and single purpose IC based designs simple because of the flexibility and power had gone up so much and the price had come down so much it was ridiculous.

I'm not certain why you are telling me this, as I agreed with you.

Well...what it means to me is having easy to use development tools that provide the developer with the the ability to produce the desired "nice looking" graphics while shielding them as much as practical from continous "lowlevel" coding...although I realize some of that is unavoidable...

Then your only option is an embedded linux platform, though there might be some WinCE systems out there as well. I have not programmed for either and I think if you want help with these you'll have to go to another forum. There's not much on Embedded OS systems here. I don't think there's any graphics libraries for these that is as simple as you might like. Beagleboard and Beaglebone system to be the goto systems for this at the moment and have plenty of startup help, so you may start there. If you can get your hands on a Raspberry Pi, that would work as well.

Have you thought of making it interface with an Android device and making your UI on Android? I've been doing some android development and it's been pretty straight forward. Then all of your processing and touch screen and everything are already there for you. I've been using a simple bluetooth module with a microcontroller to interface to an android phone, but I know there are some Android peripheral development kits for quite a few microcontrollers now that work over USB as well. Only downside is that you would need to do some microcontroller and hardware work to make the actual input and control device.
 
Then your only option is an embedded linux platform, though there might be some WinCE systems out there as well. I have not programmed for either and I think if you want help with these you'll have to go to another forum. There's not much on Embedded OS systems here. I don't think there's any graphics libraries for these that is as simple as you might like. Beagleboard and Beaglebone system to be the goto systems for this at the moment and have plenty of startup help, so you may start there. If you can get your hands on a Raspberry Pi, that would work as well.

Have you thought of making it interface with an Android device and making your UI on Android? I've been doing some android development and it's been pretty straight forward. Then all of your processing and touch screen and everything are already there for you. I've been using a simple bluetooth module with a microcontroller to interface to an android phone, but I know there are some Android peripheral development kits for quite a few microcontrollers now that work over USB as well. Only downside is that you would need to do some microcontroller and hardware work to make the actual input and control device.

Hey Dirty..Thats an interesting idea...I'll look in to that..thanks
I don't mind some microcontroller and hardware work....

eT
 
DirtyLude said:
I'm not certain why you are telling me this, as I agreed with you.
I wasn't telling just you I was sharing my personal experience as I've come to understand things throughout my years studying electronics. It is fine that you agree, but it may be of use to newer users to understand the paradigm shifts and history of these easy to implement devices.
 
Well...what it means to me is having easy to use development tools that provide the developer with the the ability to produce the desired "nice looking" graphics while shielding them as much as practical from continous "lowlevel" coding...although I realize some of that is unavoidable...

There are display modules with dedicated microcontroller to handle low level stuff. You use most of them by sending serial commands. I don't know if they are what you want, but they can easily be used with 8-bit microcontrollers.
**broken link removed**
https://www.mcustore.com/47-multimedia-boards
 
Hi

I'm starting a new project and would like suggestions on which technology to use.
The completed project will be a self contained audio measurement device that
does not require a connection to a computer to operate.

Here are some requirements:

1. Interface to small LCD display (about 4" x 6").
(future - touch sceen capability)
2. High level graphics development tools
3. Interface to external audio signal input for test and measurment purposes.
4. Control the state of approx 6 internal DC Relays (latch or no latch)
5. Read approx 4 momentary pushbuttons
(future - incorporate into touch screen)
6. Self contained (does not require a PC to operate) bench top unit
7. External 120Vac to ?DC power source.

Question:

Which technology(s) would be best for this?
PLC?
PIC?
DSP?
Arduino?
Microcontroller?
Other?

Thanks

I have disagree... if you have enough speed to copy data and are not looking for animation ANY processor will do to move graphics from a serial flash to a graphics panel. It is all in how fast you can get the image to the display.

the only time you need more power is if you need to build complex graphics or do animation
 
Windows CE is a nightmare on low power modern embedded processor boards, embedded Linux is the best way forward, you can use ncurses for console type apps, or if you want something quite powerful use a lightweight version of X and use SDL (Simple Directmedia Layer). That's only if you want graphics, I personally use an Ubuntu version with the same Kernel as the embedded OS, such as 2.4 / 2.6 / 2.8 etc, and find that the toolchain works fine. Plus embedded Linux is free, unlike CE which needs licensing, and the BSP (Board Support Packages) are not being updated properly in my experience (newer DM&P VDX/VSX x86 specifically).

I do a lot of embedded systems, most routers are embedded systems, and all run a variant of Linux (or more specifically, NOT WINDOWS CE!).

You can even use Java VM on embedded Linux, so you could use the 2D/3D canvas routines built in if you really need to, maybe if you have a big enough flash disk, use something like QT ( didn't they do a QT Embedded?)

Hope this helps!

Cheers,

Wilksey
 
Just re-read your requirements, maybe look at the PIC32's with the Microchip graphics libraries, they also have DSP in them so you can process audio etc. See if they suit your need?

Cheers
 
Just re-read your requirements, maybe look at the PIC32's with the Microchip graphics libraries, they also have DSP in them so you can process audio etc. See if they suit your need?

Some of the PIC24 series also do graphics. It really depends if this application is for a small run with a good budget (where embedded Linux might be great) or if you want to build 1000 devices with a good profit margin.

Like Ubergeek says any PIC would do this. Any AVR (Arduino), PIC or 8051 can control a graphic LCD and send simple bitmaps from external memory.

So I'd ask:

1) How good do the graphics need to be? 128x64? 1024x768? Colour? Constant updates? Animation?
2) What quantity are you looking to produce this in?
3) Is there an embedded system or microcontroller that you already know about, or have tools for?

Regardless of cool processor features, number 3 there is generally a good reason to pick a certain solution.

The only portion of your design that is difficult is the display (potentially). Thinking of ways to decouple the display from the device, how about some form of bluetooth communications to another device? That way you could control it from a PC or smart phone application. (Edit: I see DirtyLude suggested this already, sorry!)
 
Last edited:
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top