Shop OBEX P1 Docs P2 Docs Learn Events
Using the Propeller to provide VGA output for the Arduino - has anyone done this??? — Parallax Forums

Using the Propeller to provide VGA output for the Arduino - has anyone done this???

ElectricAyeElectricAye Posts: 4,561
edited 2013-05-15 15:23 in Propeller 1
Never thought I'd ever get sucked into the plaguey Arduino thing, but it's happened thanks to some school kids. Okay, so the Arduino looks good enough for some kids to play with but then when I considered using it for some of my own stuff, I immediately noticed it can't do VGA. At least, I don't think it can. And to my amazement, I can't find anything attractive (to me) that can easily link the Arduino to a VGA (except I've seen some people congratulate themselves by contorting a second Arduino for VGA, or some thing from the Czech Republic or the Gameduino, blah blah blah...).

Maybe I'm missing something but it seems to me that the Propeller could make an excellent interface for VGA, so is anybody working on that? A "shield" or whatever?

While I'm on a rant, it seems to me that the Propeller could be used to make all sorts of awesome shields for this feeble-duino (FeebduinoTM) culture. Since they don't seem to know how to do anything without interrupts or whatever, the parallel processing could help a lot. True?
«1

Comments

  • jazzedjazzed Posts: 11,803
    edited 2013-04-23 21:54
    Feeble-ino. LOL.

    >> Propeller could make an excellent interface for VGA

    Would that be like a Serial to VGA interface?
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-04-23 22:02
    There is the Pocketterm http://www.retrothing.com/2009/07/the-briel-pocketerm.html

    Keyboard and VGA to serial. I don't know how the arduino works but it probably could devote two pins to serial via a shield and with a max232 convert to RS232 signals. Or, given it is TTL to TTL anyway, leave out the max232 on the pocketterm.

    The pocketterm has been used by the retro community for a few years now to provide the display and keyboard for old computers. It has brought a few of those people into the propeller too, along the lines of "if the propeller can do VGA and keyboard, why not emulate the whole retrocomputer?".

    Something similar could happen with the arduino. Build a cool propeller shield and people will start tinkering with the propeller part...
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2013-04-24 03:57
    I've got a kit for this drawn up under Diptrace. I just haven't run with it yet. I was thinking serial connection between the A' and the Propeller along with a Wii connection. Because it's a kit, I'm using a DIP40 in the design. It's a tight fit.

    Jeff
  • blittledblittled Posts: 681
    edited 2013-04-24 06:09
    I have looked into this idea too. I was using a PPDB and a 3.3V ProMini Arduino for testing. The Arduino uses Port 0 and 1 for TTL serial/programming. You cannot wire Arduino's serial to both the PC, for programming and the Propeller for communication. This will stop the Arduino from being able to be programmed. You can use the SoftSerial library to use different ports on the Arduino. Also I would stay away from using P30 and P31 on the Propeller for serial interfacing to the Arduino, otherwise you won't be able to program the Propeller
  • Martin HodgeMartin Hodge Posts: 1,246
    edited 2013-04-24 08:37
    I got as far as laying out a board and then got scared off by the software side of the project.
  • ElectricAyeElectricAye Posts: 4,561
    edited 2013-04-24 08:38
    Dr_Acula wrote: »
    ... Build a cool propeller shield and people will start tinkering with the propeller part...

    That's what I was thinking.

    But doing this sort of thing is way beyond my pay grade. So if you're looking for a new niche in which to flex your Propeller-based knowledge muscle, maybe this could be it. But I wouldn't try to make shields that were "all things to all people." Keep the shield functions specific, distinct, just TV and VGA, at least at the start.

    Maybe I'm wrong, but I don't see any/much competition in this area. You brainiacs should look into it. Pleeeeease?
  • ElectricAyeElectricAye Posts: 4,561
    edited 2013-04-24 08:39
    I got as far as laying out a board and then got scared off by the software side of the project.

    Martin,
    maybe you can team up with somebody who can handle that part of the job?
  • David BetzDavid Betz Posts: 14,516
    edited 2013-04-24 08:42
    Never thought I'd ever get sucked into the plaguey Arduino thing, but it's happened thanks to some school kids. Okay, so the Arduino looks good enough for some kids to play with but then when I considered using it for some of my own stuff, I immediately noticed it can't do VGA. At least, I don't think it can. And to my amazement, I can't find anything attractive (to me) that can easily link the Arduino to a VGA (except I've seen some people congratulate themselves by contorting a second Arduino for VGA, or some thing from the Czech Republic or the Gameduino, blah blah blah...).

    Maybe I'm missing something but it seems to me that the Propeller could make an excellent interface for VGA, so is anybody working on that? A "shield" or whatever?

    While I'm on a rant, it seems to me that the Propeller could be used to make all sorts of awesome shields for this feeble-duino (FeebduinoTM) culture. Since they don't seem to know how to do anything without interrupts or whatever, the parallel processing could help a lot. True?
    Unless you're talking about one of the newer ARM-based Arduino boards wouldn't that be a little like the tail wagging the dog? Take a 32 bit 8 core processor and use it as a terminal to talk to an 8 bit processor?
  • ElectricAyeElectricAye Posts: 4,561
    edited 2013-04-24 08:56
    David Betz wrote: »
    Unless you're talking about one of the newer ARM-based Arduino boards...

    I have no idea what I'm talking about. All I know is that the Propeller can do VGA in its sleep, but even the Arduino mega boards apparently can not. And considering there are so many "artistes" drawn toward the Arduino, I'm guessing there would be a good market for a VGA shield of some sort. So, wag whatever you want, but I'd be shocked to discover nobody here has built such a device (yet).
  • rod1963rod1963 Posts: 752
    edited 2013-04-24 10:30
    ElectricAye

    Yes there is a market for VGA among Arduino users. The Prop gurus should have had VGA board 3 years ago for them. It's a perfect niche market. But certain hostile attitudes prevail among the guru set and one of which is seeing the Arduino as a piece of garbage instead seeing them as a potential market. Now the gameduino(FPGA based) and the upcoming EVE from FTDI is going to have that market segment to themselves.
  • JonnyMacJonnyMac Posts: 9,107
    edited 2013-04-24 10:41
  • JonnyMacJonnyMac Posts: 9,107
    edited 2013-04-24 10:45
    Unless you're talking about one of the newer ARM-based Arduino boards wouldn't that be a little like the tail wagging the dog?

    It's a valid point, and yet, the process makes customers happy. At EFX-TEK, the biggest seller on the controls side is the Prop-1 (BS1-based controller). And the most popular "slave" devices for it are the Propeller-powered AP-16+ (WAV player) and HC-8+ (high-current DC IO extender).

    For customers that want to give up the BS1, we have a whole section in our forum called "Hacking the HC-8+." Still, there is comfort in a simple programming language which is why EFX-TEK sells so many Prop-1 controllers and that the Arduino market -- with the help of good marketing, 3rd party documentation, and products -- has exploded.
  • ElectricAyeElectricAye Posts: 4,561
    edited 2013-04-24 11:16
    JonnyMac wrote: »

    It looks interesting, but couldn't something smaller and cheaper be made that provides only the basics for VGA? Or would this be a case of "Moving an inch costs the same as a mile"?

    Personally, I like using the Propeller for my own projects, but I'm increasingly under pressure to help people with Arduinos. Arduinos seem to have a reputation even among 12-year olds, and no amount of my scoffing seems to affect their affections for it. But shields seem to be an open market. Frankly, I don't get the obsession with Arduino being considered "open source" whilst other things "are not". Very few people seem capable of actually hacking into the opensourciness of these things anyway. But, like the Harlem Shake, Arduinos seem to be a cultural phenomenon rather than a technical one. I'm just trying to figure out how best to straddle these different worlds right now.
  • tritoniumtritonium Posts: 543
    edited 2013-04-24 11:50
    quote_icon.png Originally Posted by JonnyMacviewpost-right.pngWhat about this: http://www.xgamestation.com/view_product.php?id=51

    Got one - soon as I saw it could do vga I thought - at last I can get rid of PC based boards and convert my qbasic stuff rquiring VGA etc etc.
    Didn't happen
    I guess there's Vga - and ther's Vga
    I wanted bit mapped 640x480 colours etc to do lines circles bitmaps and so on - I didnt expect to have play with tiles....
    I should have read more before buying.
    Not that there is anything wrong with the Chameleon - what it does it does very well but... it wasn't what I expected.

    The same with the RPi. Great graphics, good power, cheap - whats not to like? eerrr Linux thats what. - bloat, slow boot, Python (Yuk)
    Never mind there's 'bare metal'
    Nope - its all too complicated, with hidden graphics abilities, barely useable usb etc etc.
    There are some clever guys chewing the bare metal midnight oil, and in time they'll no doubt get there.

    But then there is the......

    PROP 2 :smile:

    Whoopee

    Hopefuly that will tick all MY boxes especially if it will run 'Basic' or we can cross compile Basic to run on prop - ah heaven.

    (Tried the arduino - I must have twenty or more 'C' routines I've developed to interface all manner of displays, temp sensors, motors, etc etc and every time I start a new project I stare at the 'C' code and try to remember which bracket, whether to terminate with semi-colon, the difference between logical and bolean and, or sintax, the for loop sintax, and on and on - who designed this nightmare language??!!)
    Ah sorry about that got on to a bit of hobby horse there.

    I am waiting more eagerly for prop 2 than any other toy I can think of.:lol:

    Dave
  • AribaAriba Posts: 2,690
    edited 2013-04-24 12:16
    JonnyMac wrote: »

    AndreL from Xgamestation also had a plan to make an Arduino shield with the Propeller. There is a thread about that in this forum, I just don't remember the name of the shield.
    Also PropGFX was planned in form of an Arduino shield, but got not realized.
    I think the Propeller has not enough RAM to make a competitiv shield, and there are a lot of even cheaper processors which can do VGA (PIC32 with 128kB RAM for example).

    I would wait for the new Propeller 2 for such a shield. The possibilities are not comparable to what we have now on the Prop 1.

    Andy

    Edit: I see tritonium has the same idea
  • ColeyColey Posts: 1,110
    edited 2013-04-24 12:24
    @tritonium

    Great to see another British Propeller user.
    You won't be disappointed with Prop 2, it's fantastic!

    As for a board that will do what you want, watch this space ;-)
    tritonium wrote: »
    Got one - soon as I saw it could do vga I thought - at last I can get rid of PC based boards and convert my qbasic stuff rquiring VGA etc etc.
    Didn't happen
    I guess there's Vga - and ther's Vga
    I wanted bit mapped 640x480 colours etc to do lines circles bitmaps and so on - I didnt expect to have play with tiles....
    I should have read more before buying.
    Not that there is anything wrong with the Chameleon - what it does it does very well but... it wasn't what I expected.

    The same with the RPi. Great graphics, good power, cheap - whats not to like? eerrr Linux thats what. - bloat, slow boot, Python (Yuk)
    Never mind there's 'bare metal'
    Nope - its all too complicated, with hidden graphics abilities, barely useable usb etc etc.
    There are some clever guys chewing the bare metal midnight oil, and in time they'll no doubt get there.

    But then there is the......

    PROP 2 :smile:

    Whoopee

    Hopefuly that will tick all MY boxes especially if it will run 'Basic' or we can cross compile Basic to run on prop - ah heaven.

    (Tried the arduino - I must have twenty or more 'C' routines I've developed to interface all manner of displays, temp sensors, motors, etc etc and every time I start a new project I stare at the 'C' code and try to remember which bracket, whether to terminate with semi-colon, the difference between logical and bolean and, or sintax, the for loop sintax, and on and on - who designed this nightmare language??!!)
    Ah sorry about that got on to a bit of hobby horse there.

    I am waiting more eagerly for prop 2 than any other toy I can think of.:lol:

    Dave
  • PropabilityPropability Posts: 142
    edited 2013-04-24 12:30
    Did a little experimenting with the idea about a year ago. Been buried with work though so not much time to do a whole lot with it.

    Was able to reuse the butchered proto board though.
    proparduino.jpg
    1024 x 768 - 89K
  • JonnyMacJonnyMac Posts: 9,107
    edited 2013-04-24 12:41
    Arduinos seem to have a reputation even among 12-year olds, and no amount of my scoffing seems to affect their affections for it.

    I understand -- and get the same all the time. I don't have anything against the Arduino, but there is no way in Heaven or on Earth I could do what I do with lighting control using an Arduino. Yet, when someone sees my Propeller Platform stack, or a new LED controller stack (on a QuickStart) I did for a project (and feature in my May N&V column), the first words from their mouth are, "Hey, is that some kind of new Arduino?" For the moment, anyway, they are winning the marketing war.

    BTW... my standard response is, "No, because 'Arduino' is Italian for 'junk!'" I have a laugh, tell them I'm kidding, then explain that Arduino -- as cute as it is -- does not have the muscle to handle my lighting control projects. Like this dude that has 93 RGB LEDs that are being updated every 3 milliseconds!

    528015_446387775406423_1243360907_n.jpg

    Those LEDs are in the sphere ("spell globe"). The controller is also running two lightning simulation cogs on six high-brightness LED channels. If this could be done with the Arduino, I'd love to see it. I'd also love to have the programmer work with my friend, Steve Wang, who has the idea that writing code is as easy as pushing around clay or paint. Using the Propeller (and a solid base of high-quality objects), that's nearly the case.

    Getting back on topic, with so many Arduino users out there, it does make sense to give them Propeller-powered add-ons -- they want "easy" so make it easy.
  • ElectricAyeElectricAye Posts: 4,561
    edited 2013-04-24 13:37
    Start with an ASC+....

    Okay, so when will you start making these? And how much will you be selling them for?
  • mindrobotsmindrobots Posts: 6,506
    edited 2013-04-24 14:01
    Proof of Concept:

    Grab your favorite Propeller board with some prototyping space and a VGA connector, grab a 3.3v Arduino Nano, hook the two together (Serial?, I2C?, SPI), start working on a communication protocol/interface to let the Arduino describe the VGA graphics to be rendered by the Propeller....I think this last part could be the trickiest part. Coming up with a graphics API that the Arduino can use to describe and render graphics in a way that gives you "snappy" displays.

    *snappy is a relative term to be defined by the user.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-04-24 14:48
    Start with an ASC+
    Rip off almost everything except the Propeller and support parts.
    Add VGA connector and resnets.
    Connect to Arduino through SPI using some buffers for level translation.
    Jumpers to select the "CS" line from the Arduino pins 0 thru 7.
    A header to connect a Prop Plug.
    Add some passives and salt to taste.
    (sketch of basic idea attached.)

    On the software side, a small spin program to watch an SPI slave driver and copy text to VGA_text.spin.
    Andre' tried using SPI to talk between the AVR and the Propeller and the problem is that the AVR has a hardware SPI device that can run pretty fast but the Propeller can't keep up with it. This may be a problem with the whole idea of soft peripherals. It's difficult to get them to perform as well as real hardware.
  • Martin HodgeMartin Hodge Posts: 1,246
    edited 2013-04-24 14:57
    David Betz wrote: »
    Andre' tried using SPI to talk between the AVR and the Propeller and the problem is that the AVR has a hardware SPI device that can run pretty fast but the Propeller can't keep up with it. This may be a problem with the whole idea of soft peripherals. It's difficult to get them to perform as well as real hardware.

    Ah, I didn't know he had gotten that far with it. Oh well...
  • dr hydradr hydra Posts: 212
    edited 2013-04-24 16:04
    @ David

    Am I missing something...Andre got it to work...the chameleon board uses spi and does exactly what is being described in this post
  • GrandeNurseGrandeNurse Posts: 110
    edited 2013-04-24 16:43
    Yes you can use a propeller to do work for an Arduino, I've done it (though my current configuration will wait for the project report in the Micro Medic contest). I suggest using a SPI type interface between the two processors, it seemed to work the best and had the most flexibility. This leaves the propeller serial and the arduino serial programming ports available for normal updates. I've tried letting the arduino command the propeller to do service work (VGA display, Music playing, Voice via WAV files, and SD-card access) and it works but is not using the multi-COG capability of the propeller to its true level. My latest design uses Arduinos (several involved) to do slave work for the propellers (though none of the arduinos do VGA directly).

    An arduino shield using a propeller with all of its VIDEO / AUDIO should be marketable.
  • Martin HodgeMartin Hodge Posts: 1,246
    edited 2013-04-24 17:00
    Okay, so when will you start making these? And how much will you be selling them for?

    I should have 10,000 done tomorrow and they'll be $0.99 each. :innocent:
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-04-24 17:19
    So it has already been done, right?

    Grab a propeller shield http://mghdesigns.com/propeller-asc-arduino-shield-compatible-1.html

    and a VGA adapter http://mghdesigns.com/rgb-adapter.html

    and if you want, you could add the keyboard/mouse adapter as well. I don't know which pins exactly the arduino uses for serial but I think they are described here http://arduino.cc/en/Reference/serial

    In any case, it is just two pins in the end, and both are 3.3V logic so really it is just two arduino pins talking to two propeller pins. Maybe that is a small hardware hack?

    There are other solutions too. Get a RS232 sheild http://www.cutedigi.com/arduino-shields/rs232-shield-for-arduino.html and a Pocketterm.

    But I think the MGH shield offers more flexibility.

    For the software, much of what you need is already in the obex. It is a matter of plugging it all together. So if you want text only, there is the VT100 VGA driver the pocketterm uses. Or for graphics, you can define some simple commands the arduino could send eg point(x,y,color) and circle(x,y,radius,color) and line(x1,y1,x2,y2).
  • Martin HodgeMartin Hodge Posts: 1,246
    edited 2013-04-24 17:51
    Dr_Acula wrote: »
    So it has already been done, right?

    Yes, and with exactly the parts you described. Somewhere on the forum is an example of an ASC plugged into an Arduino and counting the Arduino's heartbeat pulses on pin 13 and displaying the count on a monitor. You have to replace the headers on the ASC with stackable headers, and the stack gets pretty tall if you're using all three of those boards plus another Arduino shield. And using an ASC+ would be considerably more expensive than just a dedicated shield that does VGA out and nothing else.

    At the very least, I may send off a prototype to OSH Park just for fun.
  • Bill HenningBill Henning Posts: 6,445
    edited 2013-04-24 17:53
    FPGA based Gameduino.

    https://www.sparkfun.com/products/10593

    I have one, have not played with it yet.

    Also:

    http://www.microvga.com/

    Don't have one of those.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-04-24 17:57
    dr hydra wrote: »
    @ David

    Am I missing something...Andre got it to work...the chameleon board uses spi and does exactly what is being described in this post
    Yes it does work but it isn't very fast. I worked on both Chameleon boards and tried to speed up the code by recoding some of it in PASM but it still wasn't very fast. However, I'm sure some of the Propeller gurus here could do better!
  • David BetzDavid Betz Posts: 14,516
    edited 2013-04-24 17:58
    I should have 10,000 done tomorrow and they'll be $0.99 each. :innocent:
    Great! I'd like to order 100! :-)
Sign In or Register to comment.