Propeller ASC (Arduino Shield Compatible)

Martin HodgeMartin Hodge Posts: 1,204
edited April 2014 in Propeller 1 Vote Up0Vote Down
In another thread a while back I mentioned working on a Arduino Shield Compatible (ASC) Propeller dev board. Well, the first step is complete. The first prototype is built and I'm now testing it. The Propeller is alive and playing nice with the EEPROM. Lots more to do and already a few 'oopsies', one of which is very obvious in the picture. ;)

More to come.

Post Edited (Martin Hodge) : 7/29/2010 3:06:48 PM GMT
800 x 600 - 241K
Propeller ASC- Use your Arduino shields with the Propeller.
Propeller DNA- A Propeller Platform compatible proto board.
«13456710

Comments

  • 291 Comments sorted by Date Added Votes
  • KyeKye Posts: 2,200
    edited July 2010 Vote Up0Vote Down
    Wow, that's pretty cool. Is it pin for pin compatible?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Nyamekye,
    Nyamekye,
  • Martin HodgeMartin Hodge Posts: 1,204
    edited July 2010 Vote Up0Vote Down
    It's supposed to be, yes. I'm using a danger shield for testing. I expect total humiliating failure, after which I will have learned a great deal!
    Propeller ASC- Use your Arduino shields with the Propeller.
    Propeller DNA- A Propeller Platform compatible proto board.
  • TonyDTonyD Posts: 200
    edited July 2010 Vote Up0Vote Down
    @Martin, It looking great.

    If you're planning to redo the PCB, can I suggest you add an additional set of headers as the Seeedstudio Arduino clone (Seeeduino) which fixes the pitch spacing problem for J3. It makes it easier to use standard 0.1" strip board but maintains the original headers for Shields.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Tony

    http://zuzebox.wordpress.com/
    Tony
  • Bill HenningBill Henning Posts: 6,434
    edited July 2010 Vote Up0Vote Down
    Looks great!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
    My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
    and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
    Las - Large model assembler Largos - upcoming nano operating system
    www.mikronauts.com / E-mail: mikronauts _at_ gmail _dot_ com / @Mikronauts on Twitter
    RoboPi: The most advanced Robot controller for the Raspberry Pi (Propeller based)
  • Martin HodgeMartin Hodge Posts: 1,204
    edited July 2010 Vote Up0Vote Down
    @Kye, coming from you I consider that high praise. You've done some magical things!

    @TonyD, I see what you mean. I'm a little cramped for space, but if something opens up I'll definitely keep it in mind. Thanks for the input.

    @Bill Henning, thanks!

    Progress Update: The ADC is up and running and talking to the Propeller. Things are coming along better than I expected and I'm really enjoying this!
    Propeller ASC- Use your Arduino shields with the Propeller.
    Propeller DNA- A Propeller Platform compatible proto board.
  • KyeKye Posts: 2,200
    edited July 2010 Vote Up0Vote Down
    I want to buy one.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Nyamekye,
    Nyamekye,
  • simonlsimonl Posts: 866
    edited July 2010 Vote Up0Vote Down
    Me too; that's neat - esp. if you can get those extra headers in smile.gif Well done.

    BTW: I'm assuming the "oops" is the reset switch which would be under any shield?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Cheers,
    Simon

    www.norfolkhelicopterclub.com

    Announcement: To cut costs in the current economic climate, we have switched-off the light at the end of the tunnel.
    Cheers,
    Simon
  • Mike GreenMike Green Posts: 22,377
    edited July 2010 Vote Up0Vote Down
    Me too. Nice idea. What's connected to the AUX header?
  • heaterheater Posts: 3,370
    edited July 2010 Vote Up0Vote Down
    I need an ASC.

    Given that we can now run C++ on the Propeller via Zog I have been looking into implementing the Arduino libraries for the Prop.

    In theory Arduino "sketches" are quite runnable on the Prop under Zog and having the ASC to do it on would be the icing on the cake. Initial experiments in that direction are quite promising but there are some question marks:

    1) There is probably an issue with speed. Can a 32 bit Prop running C++ under in interpreter usefully match an 8 bit CPU running at 16/20MHz?

    2) Related to this is the fact that Zog uses 32 bit ints rather than the AVR's 16 bits. This is good in that the AVR has to work harder to do 16 bit arithmetic so Zog's interpreter may not put it at such a disadvantage. This is bad in that some code may be sensitive to the size of int.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Martin HodgeMartin Hodge Posts: 1,204
    edited July 2010 Vote Up0Vote Down
    @Kye, I will sell you one as soon as I have more than two in existence. [noparse];)[/noparse]

    @simonl, the oops is the ADC chip which had to have one side's legs extended with wires because I made the footprint too wide. Good thing about that is now there's more elbow room in that area on the next rev. Most shields bring the reset line out to an external button, so the placement of the one on the controller is not critical. However, a R/A reset button near the edge could be neat.

    @Mike, the aux connector is just 8 conductors straight from the Prop; P16-P23. (I just couldn't stomach leaving all those I/O pins dangling.) I plan to make a very simple VGA adapter option, but it could be used for anything.

    @Heater, that would be very cool! I'm not so much concerned about maximum performance as I am compatibility with existing shields. The object is to make the Propeller as un-intimidating as possible, to provide a jumping-off point from the Arduino to all the really super products already available for the Propeller. I really like the 12 Blocks idea too!

    One thing bugging me is the voltage reference for the ADC. The ATMegas have an internal 1.1v band gap reference and switching to select either the band gap, Avcc, or external AREF. I've looked around and could only find shield designs that used the default Avcc (which is tied to +5v on the arduino) and leave the AREF unused. The MCP3008 doesn't have these things, but I think it would be easy enough to make a selectable Avcc or external Vref, for just a few cents more. Adding a band gap will really complicate things. Does anyone know of any shields that use the band gap? Or even the AREF line for that matter?

    Post Edited (Martin Hodge) : 7/31/2010 8:04:00 PM GMT
    Propeller ASC- Use your Arduino shields with the Propeller.
    Propeller DNA- A Propeller Platform compatible proto board.
  • blittledblittled Posts: 671
    edited August 2010 Vote Up0Vote Down
    I also would be interested in an ASC. I have a Arduino and a FEZ Domino and getting shields that would interchangable between the three boards would be AWESOME!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Will work for Propeller parts!
  • heaterheater Posts: 3,370
    edited August 2010 Vote Up0Vote Down
    Martin, Presumably existing shields come with driver, example, demo code for the Arduino or there is such code around for them.

    So depending on the speed requirements of those shields and the code that drives them we might be in with a good chance of Zog being able to run those Arduino drivers "out of the box".

    If they depend on SPI or whatever hardware on the AVR we have more work to do.

    Interesting.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Martin HodgeMartin Hodge Posts: 1,204
    edited August 2010 Vote Up0Vote Down
    Some need SPI, some don't. The coding needed to make Arduino software drop-in compatible with these shields is over my head.

    The info I've been able to find so far for various shields:

    Ethernet shield (SPI)
    Motor Controller shield (Digi-IO)
    Cellular shield (Digi-IO)
    Color LCD shield (SPI)
    Danger shield (Digi-IO + Analog)
    GPS shield (Digi-IO)
    Joystick shield (Digi-IO + Analog)
    microSD shield (SPI)
    MIDI shield (RX/TX)
    MP3 shield (SPI)
    MUX shield (Digi-IO + Analog)
    USB host shield (SPI)
    Voicebox shield (Digi-IO)
    WiFly Shield (SPI)
    XBee shield (Digi-IO)

    Post Edited (Martin Hodge) : 8/5/2010 11:20:33 PM GMT
    Propeller ASC- Use your Arduino shields with the Propeller.
    Propeller DNA- A Propeller Platform compatible proto board.
  • Martin HodgeMartin Hodge Posts: 1,204
    edited August 2010 Vote Up0Vote Down
    A few more progress photos to show. I etched a VGA extender card to test the video capabilities through the AUX connector. It works great, but more layout work needs to be done.


    -MH

    Post Edited (Martin Hodge) : 8/6/2010 12:07:23 AM GMT
    800 x 600 - 353K
    800 x 600 - 259K
    800 x 600 - 279K
    Propeller ASC- Use your Arduino shields with the Propeller.
    Propeller DNA- A Propeller Platform compatible proto board.
  • Arduino_dogArduino_dog Posts: 13
    edited August 2010 Vote Up0Vote Down
    Can you put me on list too. I would like to have one too.

    Thanks
  • zappmanzappman Posts: 353
    edited August 2010 Vote Up0Vote Down
    I hope your Propeller A.S.C. will be compatible with the following 2 SeeedStudio shields?

    Electronic Brick Chassis V1.1

    Electronic Brick Shield V4

    I think it would be great, if a newbie like me, could buy your Propeller A.S.C. and the SeeedStudio Electronic brick - Starter kit

    I came across the above items when I was looking for a DS1307 Board to use with by Propeller Demo boards, and found this SeeedStudio Module , Electronic brick- Real Time Clock Module(DS1307).

    I would also like to use a couple of these SeeedStudio modules, Electronic brick - Electricity meter(Analog), they are really current sensors not meters.

    If your price for the Propeller A.S.C. is affordable, I would like to buy a couple.
  • Martin HodgeMartin Hodge Posts: 1,204
    edited August 2010 Vote Up0Vote Down
    Great, that makes five! I have five "Rev A" boards coming in next week. If they check out okay I will populate them and make them available. I will be figuring an initial price today.
    Propeller ASC- Use your Arduino shields with the Propeller.
    Propeller DNA- A Propeller Platform compatible proto board.
  • Martin HodgeMartin Hodge Posts: 1,204
    edited August 2010 Vote Up0Vote Down
    Zappman, those are nice items! While I have not tested them, as long as they adhere to the Arduino header layout they should work. The only issues will be drive voltage and current sink. If the attachment needs more than 3.3v for a logic high there will be a problem. Also since I'm using current limiting resistors to protect the Propeller, an attachment that would normally require the ATmega to sink or source relatively high current on the digital ports may not work (such an attachment would be poorly designed in my opinion)

    Of course you will have to program everything in Spin/PASM using existing objects for I2C, UART, SPI etc.
    Propeller ASC- Use your Arduino shields with the Propeller.
    Propeller DNA- A Propeller Platform compatible proto board.
  • Heater.Heater. Posts: 19,049
    edited August 2010 Vote Up0Vote Down
    Does that 5 include me? I said "I need an ASC." without actually saying please send me one. Which of course is what I want. Hope the price turns out reasonable.
  • John AbshierJohn Abshier Posts: 1,054
    edited August 2010 Vote Up0Vote Down
    Porting code is not going to be easy, even with a version of C or C++. The code depends on the architecture of the AVR. A small example from the Adafruit Motor shield library.

    // use PWM from timer2A on PB3 (Arduino pin #11)
    TCCR2A |= _BV(COM2A1) | _BV(WGM20) | _BV(WGM21); // fast PWM, turn on oc2a
    TCCR2B = freq & 0x7;
    OCR2A = 0;

    John Abshier
  • Nick McClickNick McClick Posts: 1,003
    edited August 2010 Vote Up0Vote Down
    Using some shields will be trivial - don't really need to port SDcard code or motor control code.

    One issue I see, I think the analog input pins can be used as digital outputs. Will shields that expect to receive data from the analog pins work?
  • Martin HodgeMartin Hodge Posts: 1,204
    edited August 2010 Vote Up0Vote Down
    Heater, I haven't forgotten about you. I was going to send you one of my two prototypes for testing, but I just found out there is a global shortage of MCP3008 chips. So these two will be the only ones in existence until the end of Sep. I need to keep both in case I fry one. Jeez it's always something. Well it could be worse, ATMegas are back ordered until late Dec!

    Nick, I was not able to find any shields that require digital IO on the analog port. But that doesn't mean they don't exist. If you know of one, then I need to get one for testing. I know the ATmega can do it, but the Arduino IDE requires direct hardware calls to pull it off and is discouraged.
    Propeller ASC- Use your Arduino shields with the Propeller.
    Propeller DNA- A Propeller Platform compatible proto board.
  • zappmanzappman Posts: 353
    edited August 2010 Vote Up0Vote Down
    ... I just found out there is a global shortage of MCP3008 chips. So these two will be the only ones in existence until the end of Sep. I need to keep both in case I fry one. Jeez it's always something. Well it could be worse, ATMegas are back ordered until late Dec!

    Digi-Key has 806 pieces of the 16 Pin DIP package in stock.

    See this link Digi-Key MCP3008-I/P-ND

    Maybe there is a way to kluge them in.

    If I got a Propeller A.S.C. that was missing the MCP 3008, I could have one of the technicians in the company lab were I work solder on the surface mount chip for me when the chip comes in.

    Have you worked up a price?
  • nglordinglordi Posts: 109
    edited August 2010 Vote Up0Vote Down
    I have been interested in using Arduino shierlds on a propeller platform. I have designed an adapter board for the Gadget Gangster platform which is shown in the attached image. I plan to use a MCP3204 to provide 4 analog inputs. The other two pins in the group are reserved for use as an I2C bus.
    Pins D0 & D1 are connected to propeller pins 31 & 30. I have also added buffer options as an alternate to using protection resistors in connecting the propeller pins to 5V devices on Arduino shields. The board is currently being fabricated.

    Nick
    565 x 505 - 81K
  • Martin HodgeMartin Hodge Posts: 1,204
    edited August 2010 Vote Up0Vote Down
    That is a great project! You deserve your own thread. Why don't you start one. It's easy! ;)

    Those MCP3200 series are pricey. Who would have thought that two extra bits would almost double the price. That does bring up something though. Would a 12 bit ADC be more useful than 10 bit? Worth adding $5 to the price?
    Propeller ASC- Use your Arduino shields with the Propeller.
    Propeller DNA- A Propeller Platform compatible proto board.
  • pacmanpacman Posts: 327
    edited August 2010 Vote Up0Vote Down
    WHEN these are for _sale_ please let me know.

    I think these are an excellent idea and wish to buy one (or more..),

    Thanks
    =================
    The future is in our hands.
    Which way to the future?
    =================
  • Martin HodgeMartin Hodge Posts: 1,204
    edited August 2010 Vote Up0Vote Down
    I found a small stock of the chips I need and they are otw. We are on track for 5 boards by the end of the week. With more on the way soon after!

    As for price. Comparing all the Parallax and Arduino proto boards for functionality and cost, I'm thinking $49.99 looks right.
    Propeller ASC- Use your Arduino shields with the Propeller.
    Propeller DNA- A Propeller Platform compatible proto board.
  • zappmanzappman Posts: 353
    edited August 2010 Vote Up0Vote Down
    Hi Martin,

    I would like to know which Propeller pins are hooked up to which IO pins.

    Can you please post a schematic of the Propeller A.S.C. (Arduino Shield Compatible)?

    It is nice you brought out the extra Propeller pins to the Aux Pads.

    It would have been nice to have brought out the 7th and 8th analog inputs to Aux Pads. Maybe that can be an improvement on future versions of the board?

    Is there any reason the 7th and 8th inputs, can't be used, if we wire them up after we receive the boards?

    What is the size of the EEPROM on the board?

    It would also be nice to know the dimensions of the board.

    Also just noticed there is not a power switch on the board, is this correct?

    Price seems about right compared to the Gadget Gangster Propeller Platform USB which had a price of $49.95 and now is $44.95. Their board has a DS1307 Real-Time Clock with .33 Farad Super Capacitor power backup where yours has the 6/8 Channel 10-Bit A/D Converter. Does the price include shipping?

  • AribaAriba Posts: 2,055
    edited August 2010 Vote Up0Vote Down
    I think the Board has the same dimensions as the Arduino: 2.7" x 2.1"

    Why have all these Arduinos & Co that special board outline shape ?
    Is there a case which needs this or another reason (recognition value) ?

    Andy
  • Martin HodgeMartin Hodge Posts: 1,204
    edited August 2010 Vote Up0Vote Down
    The pinouts are:

    P00 - P13 <--> Arduino 0 - 13
    P14 & P15 reserved
    P16 - P23 <--> AUX
    P24 - P27 <--> ADC
    P28 - P29 <--> EEPROM
    P30 - P31 <--> FT232

    This pinout is not likely to change. The ADC inputs 7 and 8 are N/C but they can be soldered to and used. Pads could be provided for these on the underside on future versions. The EEPROM is standard 32K. The dimensions match the Arduino; 2.1x2.7". This was done to consider possible existing mounting arrangements. There is no power switch, it can be powered by either the USB or 6-9vdc. Both can be connected for short periods, long enough to program and disconnect the USB.
    Propeller ASC- Use your Arduino shields with the Propeller.
    Propeller DNA- A Propeller Platform compatible proto board.
Sign In or Register to comment.