Today we have a demo of the new 4D Systems screens!
Quick note - Winter Storm Virgil (still weirds me out that snowstorms get names) is causing some shipping delays in the following states: Illinois, Iowa, Maryland, Missouri, Ohio, Pennsylvania, Virginia and West Virginia. Just be aware your SparkFun order might take a little longer because of this. Our apologies for any inconvenience!
Before we get into the meat of today's post, first let's announce the caption contest winner. Once again, it wasn't an easy choice and there were a ton of great captions. But, this one - while a touch on the long side - takes the cake.
Congrats to Member #278126 - you're the winner! Keep an eye on your email inbox for further information about your prize (the pcDuino). Now on to today's post...
When we released the 4D Systems screens the New Product Friday before last, we promised we would make a video to show you how to incorporate them into your next project. Yes, we are a couple days late - but a promise is a promise. Check it out:
ReplaceMeOpen
ReplaceMeClose
As always, if you have any questions, please leave them in the comments section below and we'll do our best to get them answered. Happy Monday! Cheers!
FWIW, winter storms don't get official names sanctioned by the National Weather Service. They only get hyped up unofficial nicknames designed to heighten drama and sell more ads on The Weather Channel and send everyone running to stock up on milk, bread, and TP. What used to be "flurries with a chance of small accumulation" is now "Winter Storm System Dracula." Sheesh. (http://gizmodo.com/5958466/the-national-weather-service-refuses-to-acknowledge-dumb-winter-storm-names)
Now back to your regularly scheduled geekery.
Thank you, that's one of my pet peeves. Also: "superstorm" is not a sanctioned meteorological term.
Sparkfun, is it possible get the shield and screen separately? I have both a Raspberry Pi and an Arduino and it is cost prohibitive to buy two sets of screen + shields for each when I will most likely just be going back and forth. Since it is all over serial, I imagine it would be possible to modify the Arduino shield to be connected to the RPi as long as I use a 3.3v to 5v logic converter?
Also, you guys should do more videos like this for more products. The part where the code was explained line by line was INCREDIBLY helpful. Seeing how simple it was made me go from "that's over priced" to "that's worth it."
Ok, now I want one.
I just noticed they sold out super quickly - hopefully you got one. If not, they should be back in stock in a week (and backorder is available).
Two paws up and a wag- great video.
No, I didn't get one yet :/. But I'm considering it. I'm currently working on a Raspberry Pi based home sensor network, and this might be a useful local display.
Great video, awesome screens... having mixed results so far with the examples that 4d systems provides, and also having your code (and comments) would be helpful thanks
Can you please add this video it's code to the product page. :)
Could you all post the code for the example?
Great video, Nick! Thanks a lot!
You probably should have mentioned the GTX tool for the folks that aren't using the Arduino and the Raspberry Pi libraries, and need to roll their own. The GTX tool allows you to see exactly what the 4D display is expecting for data from the host, and what it sends back for data to the host. It's a really invaluable tool for getting things sorted out quickly!
Would these work as well using softserial? Someone mentioned Xbees which got me thinking it would not be possible with a Uno without using softserial...
I believe it would be possible to use softserial. The screen doesn't have to update every single second and the processor doesn't have to do the number crunching to draw the display. I would put the XBee on hardware serial with a UART select switch (for uploading sketches over USB).
The first thing that came to mind when I saw this was, RC controller!
want, only, too eggspensive :(
Love the idea, love the fact that IDE is fairly flexible, love included controls, hate the fact that amount of controls actually very minimal, would be great to have some standard controls like check boxes, radio buttons, drop downs... well and price tag is over inflated. Now, in a pinch and when you really need prototype something NOW that looks like a great tool. But for integration in to final product that just a bit too much... I know that's hell of a work, but if you guys take that nifty PSP LCD you have, slap Touch overlay on it and entry level FPGA on it's back, and make your own product of same, or even better quality? Even factoring NRE costs in + sale mark up, still would be cheaper for end user and in-house design from company that targets open source guys will make MANY people happy. I'm willing to contribute my limited knowledge in if you guys down for it. otherwise it's great screen, but it can be MUCH better.
I think you're underestimating the amount of effort just slapping things together would be if you want to come up with something so easy to use. Yes, something like this could be made cheaply using other parts put together, but I think it would be a significant project on its own. If you are working on a project and need an interface, starting another project to create the interface may not always be desirable. Before long you may find yourself in Tibet, shaving a Yak.
On the other hand, I do find myself hesitating to spend 2-4 times as much on an interface compared to what I'm spending on the actual computer. But that's more because the Arduinos and Raspberry Pi are so darned cheap. Any sort of display for a RaspPi costs more than the RaspPi. Heck, even connecting a Pi to a non-HDMI monitor can cost more for an HDMI->DVI converter than the Pi costs (if you don't shop around). I find this to be a difficult psychological barrier to cross. The 4D screens seem like a reasonable value for what they offer, if only the devices they connect to weren't so much less expensive.
Spending $180 for a computer plus display doesn't sound bad, but $35 for a computer and $145 for the display just seems wrong. But that's not 4D or Sparkfun's fault, it's all in my head (and I suspect I'm not the only one).
Yup, I agree with you and your statement, and first hand I know that it's massive psychological barrier, that's primary reason for writing my first message to begin with, I most likely will end up owning one of these, just because it fits so nicely in my design work flow, where things I build last only as long as project is, and then get split on to basic components and go back to storage bins until next time needed. to say the least I bought fully running x86 netbooks for cheaper than that screen, granted no touch interface, but you get kbd and mice, besides it's x86, you want linux, you get linux you want win, you get win, wanna hackintosh it? well, done that too. Raspb-pi is awesome choice, however, I already own BeagleBone, and will snatch Black ED as soon as it comes out, because of so many GPIO's, UART's, ISP's and whatnot makes it my #1 choice, besides I live in terminal anyways. slapping few things together, well, that's the catch =) that's where you need development team management, when you break it all in to sections and run it trough brainstorming machine, you end up with clear outline of project and everyone involved doesn't feel lost. May take few weeks or month, but not that difficult for good dev team, heck I may just take on that project just because it sounds so awesome and there's market for it.
Will there be a supplementary video or post about using the screens with a raspi? Also, are there any differences between the 3.2 and 4.3" screens other than size?
screens are the same other than size. not sure about a raspi demo, but we might be able to. it's largely similar since it's just talking over serial.
Anything helps, but I was thinks just a video of an example project with it being implemented, just something simple to help all the people new to dev on the raspi, including myself, find somewhere to start.
You mean something like this: http://www.youtube.com/watch?v=kscX6m42qJI Quite a few more from the same Author: http://www.youtube.com/channel/UCx75HQWQFfeNo8nWl1O0MYQ?feature=watch
So theoretically this should work great with a couple of xBees, yes? I noticed the latency as you were moving the sliders and such. Have you tried higher baud rates and does that help reduce the latency?
Also, I noticed the cuts when you were trying to use the LEDs. Was this 1. doe to it not working and 2. if it was not working was this due to programming problems or, screen problems? I know that this is resistive so it will be more like my old Palm pilot vs. Android yes. Better said, it would be better to make larger on screen doodads that I want to interact with, yes?
Thanks for the video. I really want one of these. This may put the processing side of the picture out of the picture for some home automation and monitoring. Cool stuff.
Good observations! The latency is due to a number of factors, not least of which is my really inefficient code. I made it overly simple to understand and, in doing so, left it a little bloated. There's also a delay of 50 milliseconds in the main loop and another small delay on either side of the shift register ShiftOuts. These delays aren't necessary, I had them in there when I was debugging and just left them in. Remove those delays and you should already notice a huge difference in lag.
Changing the baud rate helps as well, I've run it on a 16MHz Arduino to 115200 with no problems. And yes, These would work great with XBee (good idea...)
Oh, as for the touch screen: yes, it took me back to my Handspring Visor days. Resistive touch doesn't seem nearly as miraculous now as it did then. It work quite well, though. The cuts were really just an impatient videographer trying to whittle down the time on an already lengthy video. I also had some trouble because I was using it at an unnatural angle for the benefit of the camera. I would suggest making screen-widgets larger, though, for Ease-of-use. I was probably on the edge of "too small" for finger touch (although a stylus would work)
The other thing to keep in mind is that there's not much need to cram everything onto the screen since you can have multiple forms and flip between them.
I should also mention that the way I handled the communication with Arduino is the way that's easier for most beginners to "get" but when you're building your project, you can select under the object properties whether or not a control will "send a report" when it's changed. So the screen can actually initiate an action and the Arduino just has to watch for reports and react to them. In some situations, this may be a good way to reduce lag as well.
Anyway, glad you liked the video! These things are cool, I'm already scheming to make custom MIDI control forms for a bunch of my favorite VSTs. If I ever get around to it, I'll see about posting a blog post here or a tutorial! And if you do something cool with them, let us know! We're always looking for cool projects to feature!
So Mr. Pool will you please talk to Mr. Nate and request that you guys make a bread board holder that not only can lock down/hold the 4D Systems screen(s), but the Arduino and the self-adhesive clear breadboard too, please. It gets really old when you have the screen floating all around inside of your backpack or else where.
Again thanks for your hard work putting this video together. Cool - CTRL-C and V. Wag, -Lab
The sloppy cut is my fault. I was in a hurry to get the video posted. The LEDs work like they're supposed to.