Shop OBEX P1 Docs P2 Docs Learn Events
Programming Basic Stamp chips? — Parallax Forums

Programming Basic Stamp chips?

po2lepo2le Posts: 76
edited 2010-11-11 16:52 in BASIC Stamp
·BASIC Stamp 2 OEM Module as sold by Parallax (http://www.parallax.com/Store/ProductSearchResults/tabid/127/ProductID/21/List/1/Default.aspx?SortField=ProductName,ProductName)

Stated by Parallax
(microcontroller. It is programmed using our Windows Editor just like the BS2-IC module.
PBASIC interpreter and EEPROM are socketed to allow for replacement.)

If··I used this kit, I should be able to program one microcontroller chip, exchange that programmed chip for another that is similar to the BS2 (16C57C) chip, then program the new chip· - am I correct ?
Or does the new chip have to be exactly identical to the 16C57C ?
Thank you
Patrick


Comments

  • allanlane5allanlane5 Posts: 3,815
    edited 2008-12-09 20:01
    The Parallax "OEM" chip is a 16C57 with the Parallax "PBasic" run-time environment programmed into it, and the 'mask' bit set.

    So, you cannot read out the Parallax "PBasic" run-time environment.

    Now, having said that, you CAN buy, from Parallax, 16C57's pre-programmed with the Parallax PBasic run-time environment, THEN use those chips in your own project. To complete making a BS2 out of this, you'll need an appropriately programmed EEPROM.

    What you cannot do is get an "off-the-shelf" 16C57 PIC chip, and program it with the Parallax PBasic run-time environment yourself. That's Parallax's proprietary technology, and they do what they can to protect it. Also, the PBasic 'program' itself is not stored on the 16C57, it's stored (and read for execution) as "Pbasic Tokens" from a connected EEPROM.

    So, to answer your question above -- "I should be able to program one microcontroller chip..." -- the answer is "No, you definitely can't do this".

    There ARE other PIC suppliers -- MELabs, MicroChip, BasicMicro -- that might get you closer to your goal. But for onesy-twosy prototyping, nobody is as cost effective or as helpful as Parallax.
  • po2lepo2le Posts: 76
    edited 2008-12-10 01:06
    allanlane5 said...
    (So, you cannot read out the Parallax "PBasic" run-time environment.

    Now, having said that, you CAN buy, from Parallax, 16C57's pre-programmed with the Parallax PBasic run-time environment, THEN use those chips in your own project. To complete making a BS2 out of this, you'll need an appropriately programmed EEPROM.

    What you cannot do is get an "off-the-shelf" 16C57 PIC chip, and program it with the Parallax PBasic run-time environment yourself. That's Parallax's proprietary technology, and they do what they can to protect it. Also, the PBasic 'program' itself is not stored on the 16C57, it's stored (and read for execution) as "Pbasic Tokens" from a connected EEPROM.

    So, to answer your question above -- "I should be able to program one microcontroller chip..." -- the answer is "No, you definitely can't do this".
    If I buy the chips from Parallax, they should be pre-programmed with the Parallax PBasic run-time environment.· Then I can use them· to replace the chip which was previously in·the socket of the OEM kit - is this correct· ?·
    Can I program these chips for my own use ? (as long as the chips are pre-programmed by Parallax)

    Are there other chips, besides the 16c57 chip, that can be programmed in·such an·OEM kit?
    allanlane5 said
    PBasic 'program' itself is not stored on the 16C57, it's stored (and read for execution) as "Pbasic Tokens" from a connected EEPROM.

    What is a connected EEPROM?·
    Does that mean the EEPROM in·a BS2 module?· In the chip itself?· Or in the connected PC?

    I have a BS2 homework board with the PIC16C57C permanently installed.· I can program this ckt. to do various things, and I can use the kit in a remote location, after the programming, but I have to take the whole homework board with me to do that.· It will follow the most recent program that was loaded in.· Whenever I want to perform a certain task with the kit, I need to load a program then take the whole kit to·the remote·location to do the job.· If I want it to perform a different task, I need to bring the kit back to the PC and reload the kit with·the appropriate program.· Etc, etc, etc.

    What I'm getting at is:··can I load programs to·more than one chip, with each doing different tasks in different locations, or·can I load a program to more than one chip to perform the same task, each at different locations?· Assuming that I obtain chips from Parralax that are·pre-programmed with the Parallax PBasic run-time environment, can I use the chips in a seperate circuit·to perform whatever simple program I load into it?· I wouldn't need the whole kit (BASIC Stamp 2 OEM Module)· only parts of it or similar, appropriate·parts.

    On the other hand, the kit is about thirty bucks, so I guess that wouldn't be so bad.

    Thanks again,
    Patrick
  • UghaUgha Posts: 543
    edited 2008-12-10 01:19
    Unless I'm wrong about how the process works... and what your asking...
    You can accomplish what you want to do by creating a PBASIC program and uploading it to a complete BS2 OEM then removing
    the EEPROM and replacing it with another identical EEPROM chip, then upload in a different PBASIC program. Then you should be
    able to swap them out as desired to run whatever program you need at the time.

    The actual 16C57 on the BS2 OEM does NOT contain the code you write. It contains a program to help it understand and
    execute your code.

    The PBASIC code you write is stored on the EEPROM chip.

    I am a newbie and I can be completely wrong about this... its just how I think it works.

    EDIT: The EEPROM is the smaller of the two socketed chips on a BS2 OEM. On a normal BS2 its soldered onto
    the module and much smaller.

    WARNING: Static will kill both your BS2 and your EEPROM, so if you do this you need to make sure you watch
    out for static and keep your spare EEPROMs in an anti-static bag.

    Post Edited (Ugha) : 12/10/2008 1:26:29 AM GMT
  • allanlane5allanlane5 Posts: 3,815
    edited 2008-12-10 02:19
    +1 Ugha! Good explanation.
  • sam_sam_samsam_sam_sam Posts: 2,286
    edited 2008-12-10 03:31
    Ugha

    I also go along with this

    Patrick
    ·EEPROM Chip from one board to another board

    WARNING: Be very careful that you do not make an input an output from one board to another this a good way to fry some I/O pins on your Basic Stamp Chip


    If you are going to use·or make a programing board do not hook any thing to the I/O pins up to Basic Stamp just
    use as a programing board

    Now if you are doing a pro to board this a good habit to get into is to use the same pin for both boards


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ··Thanks for any·idea.gif·that you may have and all of your time finding them

    ·
    ·
    ·
    ·
    Sam

    Post Edited (sam_sam_sam) : 12/10/2008 3:37:17 AM GMT
  • po2lepo2le Posts: 76
    edited 2008-12-10 07:43
    Not likely, I won't attempt any desoldering of very tiny components on my homework board, which would result in the complete destruction on anything on the board.

    BASIC Stamp 2 OEM Module:
    ( http://www.parallax.com/Store/ProductSearchResults/tabid/127/ProductID/21/List/1/Default.aspx?SortField=ProductName,ProductName )

    Parallax states:
    (This is a fully-functional BASIC Stamp microcontroller. It is programmed using our Windows Editor just like the BS2-IC module.
    PBASIC interpreter and EEPROM are socketed to allow for replacement.)

    This BASIC Stamp 2 OEM Module is a kit which contains a BASIC Stamp 2 Interpreter Chip (the 16c57 chip) a 2KB I²C EEPROM chip, both of these chips are mounted (inserted) in sockets and can be removed and replaced. The kit also includes necessary other parts, including a board to mount everything on. With this kit, it appears that, after a downloading of a Pbasic pgm, I would have to remove both the 16c57 chip and the EEPROM chip in order to use these items elsewhere. Then replace both of them with new chips to be downloaded with another Pbasic task. Parallax sells the 16c57 interperter chip for $11.99, and the EEPROM chip for $1.10.

    I was wondering if the replacement chips would necessarily have to be 16c57 ?

    Patrick
    again
  • UghaUgha Posts: 543
    edited 2008-12-10 12:59
    I'm pretty sure you'd only need to buy replacement EEPROM to do what you wish.

    I think the socket for the Interpreter chip has two reasonings, one, its dangerous to solder the IC directly to the board
    due to overheating issues (and the BS2OEM is often assembled by us newbies so this is a valid issue) and two, sometimes
    a stamp pin burns out due to incorrect wiring and it'd be easy to replace the interpreter chip to fix the whole BS2 unit.

    I'm not 100% clear on what Sam_sam_sam said, I think he means that setting a pin to HIGH then shutting it down and
    replacing it with an EEPROM chip that sets the stamp's pin to LOW would fry something.

    That makes sense but I could have swore I read somewhere that the stamp resets all pins to INPUT upon bootup.
    INPUT (also called floating) mostly protects the pin from HIGH and LOW signals as there is very little to no current flow.

    Again, I'm a newbie so anything I say could be wrong. Use my advice at your own risk.
  • allanlane5allanlane5 Posts: 3,815
    edited 2008-12-10 13:21
    Once more:

    The Parallax supplied 16C57 is NOT an "off-the-shelf" blank 16C57, it's a Parallax Programmed 16C57, programmed to implement the BS2 run-time library.

    So, if you replace that particular chip with a blank 16C57 (or any other PIC chip, for that matter) you're not going to HAVE the BS2 run-time library in that chip, and it's not going to work.

    Yes, in the socketed OEM version, you COULD replace the Parallax programmed 16C57 with another Parallax programmed 16C57, and that would work. And yes, in the socketed OEM version, you could swap in and out matching EEPROM chips to get different programs to run -- again, the 'compiled' program resides IN THE EEPROM ONLY, but requires a Parallax programmed 16C57 to actually 'execute' the code.
  • Mike GreenMike Green Posts: 23,101
    edited 2008-12-10 14:18
    Patrick/po2le,
    You might want to use the OEM board to download your program to the EEPROM, then transfer the EEPROM to another board for final use. This other board would have a permanently mounted Parallax PIC16C57 (already with the Basic interpreter) installed. This would be for a situation where you don't want the finished product to be reprogrammable or field updatable.

    The other thing that's sometimes done is to develop the product using the OEM board, then use a commercial EEPROM programmer to copy the downloaded EEPROM for use in the product (which already has a Parallax-programmed PIC16C57 mounted). Again, this precludes any field updating.
  • ZootZoot Posts: 2,227
    edited 2008-12-10 16:19
    Mike Green said...
    You might want to use the OEM board to download your program to the EEPROM, then transfer the EEPROM to another board for final use.

    Another advantage to programming the EEPROM with your Pbasic program and resocketing it in the actual project board is that you can then leave off all the PC/Serial circuitry and parts on the project board (the DB9 and associated transistors, caps, resistors).

    Another way to think about the Stamp setup -- the Stamp micro (a PIC or SX depending on the Stamp flavor) is kind of a "system program" that runs a "user program" -- the "system program" is burned by Parallax and can't be read, copied, reprogrammed etc, or you don't have a "Stamp". The "user" program is what you write in the Pbasic IDE and download to a Stamp -- that program is ONLY only the EEPROM chip.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    When the going gets weird, the weird turn pro. -- HST

    1uffakind.com/robots/povBitMapBuilder.php
    1uffakind.com/robots/resistorLadder.php
  • po2lepo2le Posts: 76
    edited 2008-12-10 18:49
    Thanks to all for the advice and information; I'm slowly catching on.

    Mike Green said...
    (You might want to use the OEM board to download your program to the EEPROM, then transfer the EEPROM to another board for final use. This other board would have a permanently mounted Parallax PIC16C57 (already with the Basic interpreter) installed. This would be for a situation where you don't want the finished product to be reprogrammable or field updatable.

    )

    That's my intention,· as Mike stated: This would be for a situation where you don't want the finished product to be reprogrammable or field updatable.
    Once the chips have had the Pbasic downloaded to perform a specific task, I will use them in a specific location and no further programming will be necessary.

    Allanlane5 said...
    (Yes, in the socketed OEM version, you COULD replace the Parallax programmed 16C57 with another Parallax programmed 16C57, and that would work. And yes, in the socketed OEM version, you could swap in and out matching EEPROM chips to get different programs to run -- again, the 'compiled' program resides IN THE EEPROM ONLY, but requires a Parallax programmed 16C57 to actually 'execute' the code.)
    I understand,· use pre-programmed chips obtained from Parallax.·That's what I would do.·· Thanks for your advice.· I've learned a few things from it.
    Zoot said...
    (Another way to think about the Stamp setup -- the Stamp micro (a PIC or SX depending on the Stamp flavor) is kind of a "system program" that runs a "user program" -- the "system program" is burned by Parallax and can't be read, copied, reprogrammed etc, or you don't have a "Stamp". The "user" program is what you write in the Pbasic IDE and download to a Stamp -- that program is ONLY only the EEPROM chip.)

    Thanks, Zoot, more understanding here.

    Thanks, Ugha.· I'm also a newbie at microcontrollers

    Patrick,· again.
  • UghaUgha Posts: 543
    edited 2008-12-10 21:38
    I really don't think you need multiple interpreter chips. I don't think you ever need to remove the interpreter from the socket,
    just the EEPROM.

    I could be wrong though.

    Can any of you experts give a yay or nay on swapping only EEPROM to swap programs?
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2008-12-10 22:27
    BASIC Stamp code exists on the EEPROM, so if you need to move a program from one system to another, you need only change the EEPROM.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Engineering
  • DbeeioDbeeio Posts: 1
    edited 2010-11-11 13:17
    Hi,
    I am basically trying to build a low powered, low cost version of the
    BS2-IC module and was wondering whether you can give a list of the
    components i can get from vendors in the UK like RS components or
    FARNELL strictly. I pressume I cannot get a preprogrammed Basic
    Interpreter chip from anywhere else other than parallax? is that the
    case with the EEPROM and resonator aswell? Thanks
  • Mike GreenMike Green Posts: 23,101
    edited 2010-11-11 16:52
    DBeeio,
    There's a link to a Components List (actually a Bill of Materials) on the Parallax webstore page for the BS2 OEM Kit. This has part numbers for several parts distributors. If you want UK-only vendors, you'll have to do the work yourself. There's enough information in the Bill of Materials to do that.

    The pre-programmed PIC processor (Stamp Interpreter) is the only part that's unique to the BS2 and Parallax. All of the other parts are standard items.
Sign In or Register to comment.