Here's a Solution for Cheap Propeller Terminal - Now how to interface?
fullspeceng
Posts: 76
Many projects seem to be trying to add a graphic LCD or touchscreen or OS onto the propeller.· IMHO these are a wasted effort in reinventing the wheel because the Propeller doesn't have built in peripherals/drivers to do most simple tasks that are written for other cheap computing platforms.·
So I found this: If you google "arm 9" or "mini2440" on ebay, you get these very nice mini Arm 9 with 3.5" Touchscreen and 64bit sdram + SD card for $85!· The parts alone are surely worth a lot more than that if you bought them from a place like Digikey.
Also seems a like a stable source also for larger quantities so decent for semi commercial products.
Here is the website with all the manuals and the documentation seems quite good:
http://www.friendlyarm.net/downloads
They even have custom enclosures:
I'm not familiar with the Arm9 devices, WinCE or Embedded Linux.· What would the best way to get these things talking to the propeller at high speed?· There's several serial ports and that's probably the easiest.
I am thinking of a few options:
-run Windows CE on the Arm9 device, control the prop through serial commands
-run Windows CE on the Arm9 device, control the prop through FTDI's D2XX commands
-run·Linux on the Arm9 device, control the prop through FTDI's D2XX commands or serial commands
-figure out how to make a fast bus communication with the Arm9 bus
I haven't programmed anything on WindowsCE but my understanding is you can just change the build options in Visual Studio 2008 to target WinCE.Net.
Any comments/takers?
So I found this: If you google "arm 9" or "mini2440" on ebay, you get these very nice mini Arm 9 with 3.5" Touchscreen and 64bit sdram + SD card for $85!· The parts alone are surely worth a lot more than that if you bought them from a place like Digikey.
Also seems a like a stable source also for larger quantities so decent for semi commercial products.
Here is the website with all the manuals and the documentation seems quite good:
http://www.friendlyarm.net/downloads
They even have custom enclosures:
I'm not familiar with the Arm9 devices, WinCE or Embedded Linux.· What would the best way to get these things talking to the propeller at high speed?· There's several serial ports and that's probably the easiest.
I am thinking of a few options:
-run Windows CE on the Arm9 device, control the prop through serial commands
-run Windows CE on the Arm9 device, control the prop through FTDI's D2XX commands
-run·Linux on the Arm9 device, control the prop through FTDI's D2XX commands or serial commands
-figure out how to make a fast bus communication with the Arm9 bus
I haven't programmed anything on WindowsCE but my understanding is you can just change the build options in Visual Studio 2008 to target WinCE.Net.
Any comments/takers?
Comments
http://www.youtube.com/watch?v=TFdVqFgaUtw
http://www.youtube.com/watch?v=xiVNMtmsBoo
For $105 ($85+20 shipping), you really can't lose.· I have no affiliation with the above company - just think it's a cool platform.
Now we just need a decent Propeller interface.· As I mentioned before WinCE supports serial at 115k so guess that's the easiest but certainly not ideal.
I just missed out on the $100 introductory price - looks like it's selling for $120 at the Chumby store http://forums.parallaxinc.com/store.chumby.com/
The Chumby already has 1500 free Apps for it.
4"x4"x3.5"
The mini2440 seems a lot more compact.
Though the free case might be useful.
I think 115k serial is easy/foolproof.
Programming with Qt under Linux·or C# under WinCE is probably easiest way to go.
So many people have tried getting video/graphics working with the propeller.· With a proper OS, it's as easy as sending a serial string "play video" or "load form1".
I investigated further and WinCE says it's RTOS but still 13us-200us latency.· A propeller coprocessor would definitely be cool.
Alternatively, the ARM9 is used just for display / user interface / network / computing and the propeller is for Real Time operation.
Indeed there are a myriad of similar, beguiling platforms.
But the Propeller addresses different needs: one can design, prototype and prove powerful, bespoke
electronics relatively easily.
Above all, it's chief advantage is THIS FORUM. A 'realtime' network of very experienced enthusiasts only an
email away.
T o n y
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
8x8 color 80 Column NTSC Text Object
Safety Tip: Life is as good as YOU think it is!
I would not use them for realtime control that's why I prefer to join it with the Propeller.
At ~$100, the touchscreen LCD + 64meg sdram + SD card slot + powersource is included all in a small package.
The Propeller has video/audio "capabilities" but no real software developed to take advantage of it besides the free objects.
It also has no real memory.
For example, with Qt designer or C#, I can visually draw out a GUI with buttons and double click the buttons to define the Signals/Slots (Qt) or Callbacks (C#). You can have a GUI in a few minutes.
If I wanted to do the same thing with the Propeller, I need to:
-find an LCD with touchscreen (~$100)
-buy or develop a breakout board (~$25-200)
-buy or develop a brekaout board with 64meg SDRAM ($50-$?)
-develop the code to draw on the LCD screen (only so much you can do with setting pixels or drawing circles/boxes)
-develop code to react to button taps, etc
-develop a video or audio decompression codec to play videos/mp3s
-etc
As I mentioned before there are some things that are not meant to be.
On the otherhand, if i want to read an SPI chip I'd have to make some driver (maybe one exists?) from WindowsCE and figure out how to get the interrupt timing to work. Or I could just code that in a few lines with the Propeller.
The key is to join the two. Say with a serial connection, I could send "show form1" on the propeller. If I receive a tap on the screen, I can send a message "turn on LED1 at 60Hz" to the Propeller, etc. A simple SIGNAL/SLOT communication serial interface would be useful.
Other things like running the ARM9 without an OS and using it as a coprocessor to the Propeller might be useful also say with an 8bit bus to store to SDRAM or draw to the LCD without making your own breakout board but that requires more work.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
I'd probably use the FIT PC2 mini atom if it were a 1 off project in a small space: http://fit-pc2.com/wiki/index.php?title=Main_Page
but it's a lot more than $100 WITH touchscreen lcd precluding it for most commercial projects
The propeller code would be easy: dedicate a COG to rdlong or wrlong an 8 bit bus to the ARM9.
What we need is some sort of driver for Linux or WinCE on the ARM9 that makes the Propeller look like another peripheral.
If you ran it at 10 or 20mhz, it would be a lot faster than RS232 but not that much more work.
Dedicated SPI seems to be on every FriendlyArm/Beagleboard device.
How to write a Linux or WinCE SPI driver is the next question.
Might want to think about some fast serial link though to save those precious Prop Pins.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
There's a GPIO port and a Header Con 5 on the last page.
I'm not that familiar with Linux programming.· Isn't everything a file under Linux?· So if you write some driver you can just fwrite to it.
I ordered a board and will play with it when it gets here.· I think I can download a demo copy of IAR for ARM9 to do some lower level preOS type stuff.
At $100 it's a lot cheaper than many other options even if all it does is serve as an LCD touchscreen interface and 64meg SDRAM interface.
Does anyone know anything about LPI: http://www.intel.com/design/chipsets/industry/lpc.htm
Maybe that's a good standard interface to use/implement in a prop.·
This is actually an interesting thread. I've a project in hand at present (well sat on the drawing board for 4 months already) that requires a simple for the end user interface. This might be it, the price in UK pounds is good. The support seems less so however. If you end up deciding to go this route would be nice to see what you come up with in terms of A real project.
Regards
Mike.
Main benefit is that once you get WinCE or Linux loaded on it, there's a huge programming community.
I'm going to try compiling some C# WinCE .Net app and get it running.· I imagine WinCE .NET has comm ports like regular C++ so I can communicate with the Propeller.· Then I can try installing the FTDI d2xx drivers and link my .NET app against the library.
If speed isn't good I'll go to C++ and try the WinCE Api.
It includes a touchscreen 3.5" lcd screen, usb port, serial ports, sd slot, headphone jack, 100mbps ethernet and more. The LCD is held onto the board by 4 screw posts to the board and can easily be removed and mounted in another case.
It includes a full Windows CE computer in about 4"x4".
Things I did:
1) I put in an 16gb SD card and it was able to play mp3s and show jpegs immediately.
2) I had no Windows CE writing experience. Turns out it's as easy as writing PC applications. Windows Visual Studio 2008 even has a built in emulator.
I dragged two buttons and a text box in the C# gui editor, put some text in the callback and compiled it. I copied the .exe file and the MS 3.5 .Net framework to the SD card. I put the SD card into the mini and double clicked the .net install and was able to run my C# GUI. Took me about 10mins total time from ground 0.
3) I calibrated the touchscreen and now I have a touchscreen LCD GUI.
4) I plugged a usb mouse in and it worked immediately. I also tried a USB keyboard but no go. I think the drivers weren't installed.
5) I dragged and dropped the serial port app in C# onto my app and was able to send text strings at 115kbps immediately. Haven't tried hooking it up to the propeller because I need to install the FTDI Usb to Serial drivers for WinCE.
This is the perfect propeller companion. Do your realtime stuff on the propeller. Do your display, sound, touchscreen and GUI response on the WinCE machine. Communicate with the serial port.
Want to hook up to the internet? No problem, it works with USB wifi and has a webbrowser built in.
This is how embedded applications should be made.
Best $105 I spent all month.
somethimes 9" for under $80, when flat VGAs can be got for $100 up to 19 inches and
I have a few 3" digital RGB LCD screens I got from electronic goldmine a while ago for $20,
waiting for a virtual reality experiment (which have such tiny ribbon cables I have a lot of trouble soldering them)
I also think digital RGB LCD screens for laptops are way less than $100 surplus, but I heard that they aren't made
so much anymore, I'm sure not for VISTA laptops since its not HTCP compliant, but I find them in old dead laptops.
The touchscreen system shouldn't be so expensive since it is most simply a clear KoalaPad.
(Drawing tablet controller from the 80's which had similar analog interface as an analog dual pot joystick,
with somewhat resistive layers connecting at the point of touch.) There are many ways to make them.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
VIRAND, If you spent as much time SPINNING as you do Trolling the Forums,
you'd have tons of awesome code to post! (Note to self)
peripherals.
Looks a stunning piece of kit. I can see the attraction!
T o n y
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
I have 2 old palm treo windows mobile phones and a new touch pro 2 sitting in front of me but I have no way of reprogramming it nor do I have schematics and a support group. Even the cheapest new Windows mobile phones are more than $200 without a contract.
I went to CES last week and got some contact info for an LCD manufacturer in China. They can sell me brand new 3.5" touchscreen which specs, etc for $15-20 depending on quantity.
I bought 5 of Rayman's 4.3" LCDs for $5 but I have yet to use them because I need to spend a few hours designing the board, $100 to get it made and another few hours to assemble and test. I can buy the breakout board but then I have tons of wires connecting to the prop and still need a lot of time to design anything useful.
The point is that it's small (4x4), it's scalable (buy as many as I want at $100), it's cheap and it just works.
I like Windows CE because I already know Windows GUI programming languages but you can load linux or qtopia on it immediately with the supplied flash images. WinCe can also run Microsoft's Voice Command for amazing voice at no extra cost if you have a license.
Getting a full screen video, picture viewer or touchscreen GUI interface takes me less than 10 minutes from opening the box. It only takes me 2 prop pins and no external hardware to communicate with the WinCE device via high speed ttl RS232.
Next plan is to design a small propeller and xmos USB dongle that can hang off the USB host port of the mini2440 for realtime control.
It takes one prop, one 640x480 LCD a '245 and some assorted components... the LCD is 10 € in pollin.de.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
Hardware is only part of it. There's no software to develop a GUI.
I could drop several buttons, a picture box, and have a full 24bit color touchscreen gui in 10mins under WinCE. Showing a 24bit bmp is no problem. Setting up an FTP transfer or web transfer or email is no problem.
It can do graphics too.
Having an ARM you hardly need a prop. Using 24 bit bitmaps... for what again ? There are many solutions for the same problem. I wouldn't touch wince even with a 10 m pole. I can spend more or less the same and have a nice AVR32 based board with touch screen and Linux and achieve the same... for what ? as a terminal for a $10 device with 32 K RAM ?!.... no.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
The FriendlyArm boards include Qtopia and some other Linux distro images as well as WinCE.
I choose WinCE because I am already familiar with C# and Visual Studio.
Over the weekend I built my own WinCE distro. I must admit it wasn't easy but not bad.
I plugged in the ethernet jack and was able to surf the web and ftp to the device.
I ran the terminal program and was able to communicate with the prop over RS232.
I still haven't been able to install the FTDI USB drivers yet but I feel I am very close.
There are a ton of applications. Anytime you need internet (email/web/wifi), network, display, touchscreen input, "backbone" for a propeller project, this is a very easy solution.
WinCE realtime performance seems only good to about 1us from a paper I read.
ms timescale is no problem using only the built in timer in C#.
I think us times can be achieved by loading the hardware timer to trigger the ISR. It would be nice to have Qt style signals or C# callbacks at this level and will be the next project.
Propeller can do 40ns in pasm or better with counters so always a purpose for each tool.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
It doesn't include the LCD or even an LCD connector let alone an LCD driver (though you might be able to recycle a similar one)..
Nor is it linux ready to the point where you connect the cable, press a button and linux is working.
Add $18 for Rayman's used display, $25 for a breakboard, $5 in wire,·and a week's development effort to write the LCD drivers, the touchscreen drivers and /maybe/ you can get it working if you know what you are doing.
I'm sure total cost is well over $200 in materials alone after shipping, no software and no guarantees.
With the friendlyarm board, I load linux with the included JTAG cable/software and it runs right away at less than half the cost.
Wow I should be a sales person for them [noparse];)[/noparse]·but have no affiliation other than the 1 board that I bought.· It's just an amazing piece of hardware for the money.
you have no clue at least regarding to what the grasshopper is and how it works...
Your board looks to be quite a piece of kit, but I do not have a use for it.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
Post Edited (Ale) : 1/18/2010 6:06:46 AM GMT
Ale
I don't see your problem.
The Grasshopper and the Friendly ARM Board are very similar. Both are compact, OpenSource Boards for embedded Applications, with a lot of RAM and Flash, and with Ethernet.
Differences:
- The mini2440 uses a 400MHz ARM9, the Grasshopper an AVR32.
- The ARM Board comes with a mounted 3.5" Touchscreen (bigger Displays available).
- The ARM Board supports USB Host.
- The ARM BOard is cheaper.
- The ARM Board comes with several OSes and Applications, the Grasshopper needs a lot of knowledge to install a Linux.
If I had to decide....
But I dont't have! I'm pretty sure the Propeller can do a GUI on a Touch Display without the Help of ARM or AVR32.
So this Boards make sense if you need the big RAM, Internet Access or Linux, and in this case it's a better solution than trying to add RAM to the Propeller (at least with Prop 1).
Andy
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Visit some of my articles at Propeller Wiki:
MATH on the propeller propeller.wikispaces.com/MATH
pPropQL: propeller.wikispaces.com/pPropQL
pPropQL020: propeller.wikispaces.com/pPropQL020
OMU for the pPropQL/020 propeller.wikispaces.com/OMU
If that is not a problem for you, then you might want to look into Tcl/Tk to drive your GUI. I have been wanting to do this for a long time with my Axim X51v that has a nice VGA touchscreen, but it runs windows ;^(
On linux, you could just put a getty on the serial port (or FTDI serial driver like /dev/ttyUSB0) and have the prop login through that and start up wish (a Tcl/Tk window shell) and send it commands from the propeller.
Even at 115KBaud, it can be quite quick because you just send strings back and forth. If the touchscreen events were handled like mouse clicks (probably already added to Tcl/Tk) then you get what you want.
You could add your keyboard or mouse on either the prop side or the linux side. To me, I think the prop side would be easier. A mouse would be easier on the Linux side since there are already drivers. If the
touchscreen works for Tk clicks, though, you won't need it.
You have inspired me. I think I will start on it this next weekend with my linux laptop. This could be good.
BTW, there is no reason the development environment couldn't be written in Tcl/Tk. It might be slow, but not too bad. Should be faster than sphinx.
Let me know what you think?
Doug
I will try a real serial port tomorrow night.