Is Arduino Right for a Custom Touch Screen Interface?

Hello Everyone, A heads up here, when it comes to Arduino, I am so green behind my ears that a bean stalk has started to grow =D. I have been lurking for a while and have done a ton of digging and found solutions for part of the multiple step process I have planed.

A Little Back Story My son turns four today, we got him a Little Tikes Super Chef Kitchen for his birthday. It has an Oven and a Microwave that does nothing but open and close with lame decals on it. Seems like the standard thing even with ones 3 times the price, except for maybe a beeping dial pad. I plan on over hauling the entire thing and modifying it majorly but, why Im here is for one of the main things I would like to do.

What I Want To Do I want to put a 3.2 inch touch screen display or larger (I haven't had much success trying to find a larger screen that will not take 10 years to get here from overseas) in the oven and microwave doors with a multiple custom process and the use of an additional 16x2 display.

The Oven Function On the oven I want to have a menu of between 10-20 medium icons in a list format of oven baked food. When my son selects one of the icons it will output a recorded audio, then the touch screen will display a video file (one I will record on the outside glass of our oven) for a certain amount of time. After the video file starts playing I would like a timer for the duration of the video file to go to a 16x2 display right above the the oven. When the timer is done, I would like an audio file to play.

The Microwave Oven Function This is setup would basically be the same except, instead of having icons of food, I would like to have a two choice main menu (Food or Timer). Food would lead to set of numbers of 0-9 plus Start and Pause/Clear that will play "beeps" when pressed. I would like to set the Pause/Clear to clear the current selection if pressed twice within 6 seconds. With food, my son could input any time up to 9.59 and start would then put a video up from folder in a randomized selection. While the video is on I would like a custom hum to play. like the oven, the count down will go up to a 16x2 display and a audio file will play when done. Timer would be the same as food except the number pad would stay on the touch screen. I would like the screens to turn off after a set amount of time of inactivity, and have the ability to be woken up with a physical button.

Extra Info I know this seems like a lot for a newbie but, I have over a decade of working with computers in both hardware and software, a couple professional graphic artist in the family (I'm not to bad ether), and brother who is a coding and anything computer related expert (he is hard to get help from sometimes though).

To all of the experts and skilled techies on the inter-web, do you think Arduino could handle this smoothly.

The term Arduino does not define any hardware, it's a standalone ecosystem for programming certain microprocessors without the need for additional hardware support. The programming environment has been vastly simplified to hide the complexities of the C++ language from inexperienced users and make it easy to implement an abstract idea in both hardware and software.

To answer your question, without defining the actual hardware version of an Arduino board, it's hard to say if this is doable.

I know your project is possible with a higher speed processor along with an SD card for screen and video storage. It's not conceivable on an entry level board like the Uno or others based on AVR devices for a newbie. Hardware is cheap, it's far easier to throw more power at an application that needs lots of bandwidth, especially for video. Given that video is a large part of what you want to do, a Teensy 3.5 or 3.6 would be a good board choice, IMO.

Is it the best choice for this project? Probably not.

Given the resources you have available, this project appears to be far more suited to something like a Raspberry Pi. Far more programming choices, Python is the de-facto standard for RPi and is probably (IMO) easier to learn than C++. Debating that is one of those religion based things so I will go no further than make the comment. The RPi has a built in graphics processor so it's video abilities far exceed any single board solution without a GPU. On the upside, the RPi video out is hdmi which opens up a entirely different world of available small to medium sized LCD screens. For $40-$50 it is difficult to beat the RPi3 for something like your project. Things like streaming live video via a WiFi connection are achievable, it's certainly a far more enabled platform for what you want to do.

My thinking leads to the question of "do I want a dedicated microprocessor designed for controlling things or do I want a general purpose, wifi/network enabled, computing platform with built in video support that can be used to control things.".

As with all things electronic, your mileage may vary...

avr_fred: Given the resources you have available, this project appears to be far more suited to something like a Raspberry Pi.

That is my feeling also.

It seems to me the sole purpose of the project is to create an attractive but non functioning GUI for a 4-year-old to play with.

I would only go to the trouble of creating a touchscreen GUI on an Arduino if I really needed the hardware capabilities of the Arduino to control something or collect data from something. Even then I would seriously consider using an RPI for the GUI and just linking to the Arduino for its special capabilities.

...R

See, I was initially looking at a PI, then I saw some Youtube videos of an Arduino running custom touch screen menus. I thought I could pair it up with a a sound board like Adafruit Audio FX and have the arduino display on an LCD. The only thing I was missing was video processing. Well shucks, I knew this would be what would block the path. I though could maybe modify to fit my need =D.

So, is it taboo to speak of PI on the arduino system or should I head over to another community forum. I really thank you guys for the input. Can a single PI run two separate Groups of Displays with sound out put and input via touch screen?

Funny you say "for a 4 year old" (not boasting or trying to be nasty or mean). I should have said this earlier but, my son has registered light on the spectrum and is extremely smart for a 3 year old well today he is 4. One of his routines is when we microwave something he has to be the one the sets it all up and he can do it all without any input from us, besides taking hot food out or if it is a new product he doesnt know the times for. He loves doing the timer and turning the food on and watching it cook. He does not get near the oven unless it is to set a timer.

He can count up to 32 and can register written numbers up to 46. He can do simple addition and subtraction. I He knows how to full operate a smart phone via touch screen. Since 3, he has been able to use a stock smart device with no login info and no store data and find his videos on YouTube and download his games. If were not careful putting in the pass code to the phone and he sees it once he can unlock it.

So this is no run of the mill child, he loves his routine and loves being able to use kitchen appliances and thats why I want to do this =D

Side note when I took programming a long long time ago, it was C++. Im in no way an expert, just know my way around or used to lol.

Once again thank you both for your help and pointing me in the right direction! Have an amazing Day!

Bonus to this info from you guys, This gives me some more time to plan and develop a strategy to tackle this while working on and finishing my hand held tablet computer and his newest Jeep Power Wheels upgrades.

The tablet computer is planned to be a mini itx board in a project box with a 10 inch touch screen on running an I7 with a stand alone GPU and a DC-DC power supply that will run off 18650 batteries. Just stared ordering parts for it and I know im bound to run into problems, this will give me the time needed to start the first step of any new project research and strategy =D Once again Ty for everything!

An Arduino Mega can run a touch screen, but it can't really play the video and audio files.

As I have seen it,,,, the wiring used for the $5 TFT screens common to Arduinos doesn't really update fast enough to play proper video. And only the ARM boards (Due or M-zero) would have the throughput speed to even try to do it well, if you could find a better-quality screen. ,,, Or an RPi could certainly do it, but that brings along a lot of other cost and hardware too.

If you could settle for playing animations instead of video, then a Mega would work. Like, instead of a video of food rotating, just show 3-4 images, every ~2 seconds, flipping them horizontally, to show the food "turning around"...

But I would assume to store the graphical images on an SD card on a breakout board, not coding them into the sketch somehow. 3-4 images each (at 320x240 color) of 20 different foods isn't going to fit into a Mega's memory, but it's no problem for an SD card.

And the sound: you should get a little $2 4-button naked MP3 player from China-land. Your sound files are stored on another SD card in that in a known order, and then you wire the buttons on the MP3 player to the I/O pins of your MCU. The cheap MP3-player breakout boards tend to not work, and doing it this way is easier and cheaper than using any of the non-China-made MP3 boards that do work (like the Adafruit ones).


RPi talk isn't really forbidden on these forums, but you won't get a whole lot of detailed advice either.

And sometimes--the ideal solution is to have an RPi that operates a Arduino board slaved to it. Each of them can do things that the other basically can't.

DaddyModifier1009: Funny you say "for a 4 year old"

I was just trying to distinguish between him and a teenager.

...R

Robin2: I was just trying to distinguish between him and a teenager.

...R

Robin, I meant no disrespect, I cant believe how smart he is, and tbh with his mood swings and loving his tech he is like a mini teen. He is even going through a little rebellious stage now that he will tell you not now when its time for him do something. Sorry, was just explaining the reasoning behind this and the driving force behind this project is making my son happy =)

Doug, this sounds perfect with animations. I was just looking at an demo with a Mega and using animations and it would work with the oven, but not so much with the microwave. I was plan on using a PI to run a code to run a list of events randomly to a dot matrix display mounted on on the wall above with sound. An example of an event could be crazy cats. It will shot cats on the dot matrix (I know like you see on a monitor) and play cat sounds and stuff for a short amount of time.