Shop OBEX P1 Docs P2 Docs Learn Events
BASIC Stamp Supercomputer build... — Parallax Forums

BASIC Stamp Supercomputer build...

SgtBFGunnerSgtBFGunner Posts: 33
edited 2015-03-25 16:19 in Robotics
Don't know how many of you have built this already... But I was impressed with humanoido's BSS "BASIC Stamp Supercomputer" (http://forums.parallax.com/showthread.php/108121-BASIC-Stamp-Supercomputer) and inspired enough by his project to take the plunge and invest some money into it. Still under construction. working on getting the uOLED to work, but LCD 2x16 and EMIC 2 are working as well as all the Stamps (BS2).

I still want to install a switch bar (for individual power control to each stamp), and LED power status bar (light for each stamp), like humanoido's original.

I intend on installing a PIR sensor, a 433 MHz RF Transceiver and a few more sensors...

I think humanoido lasted visited these forums in Nov 2013, but I would like to thank him for getting me (and us) dreaming again! Looking forward to experimenting with this machine and see what else it can do, or I can come up with..

Pics attached. More to follow!

(P.S.- I know about the debate on whether this is really a "supercomputer" or not... That is not why I built it. I built it to see how far I could take it and see what it will do. Already working on a multi board BoeBot. I guess I am mainly interested in "microchip to microchip to microchip" communication.)
449 x 800 - 244K
449 x 800 - 272K
449 x 800 - 266K

Comments

  • kwinnkwinn Posts: 8,697
    edited 2014-12-22 06:27
    Supercomputer or not, you can learn a lot about parallel processing by building a computer with multiple processors, and have a lot of fun as well.
  • Mike GreenMike Green Posts: 23,101
    edited 2014-12-22 11:10
    There's a really good pair of Nuts and Volts Columns on a multi-Stamp network. FWIW, I worked for a company years ago that used a similar multi-drop serial network to connect all of the computers in the R & D lab together for file transfer and printing (one was the printer server). Worked great. It was all open-collector drivers using RS-232 signalling voltages with a single twisted pair of wires run around the lab. At that time, the computers weren't much faster than the Stamp is.

    Consider upgrading at least a couple of your Stamps to one of the other models that have multiple memory banks and scratchpad RAM. I'd suggest the BS2p or BS2pe. This would let you experiment with transferring programs and other sorts of files around the network.
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2014-12-23 10:34
    Thanks Gents.

    kwinn, it is fun and addictive. Wondering what we can get these little guys to do!

    Mike, I have a BOE with a B2px24 on it coming. Won it off of Ebay, I hope it's in good shape. Am I still OK? I also have seen the Tale of Two Stamps article, not sure of another one.

    What I am trying to figure out now is how to get the slave stamps to report their alarms or findings if the master is the only one to initiate comm. I guess the slave would alert with whatever i had for us humans (piezo, etc.) and then have to wait until queried by the master. This is the one wire comm. Wonder if two wire tx/rx would take care of that...

    Also waiting on RF, seeing if it'll communicate with the BoeBots.
  • Mike GreenMike Green Posts: 23,101
    edited 2014-12-23 13:56
    A BS2px is fast and has lots of program memory (32K) and scratchpad RAM. Remember that timing constants like those for Baud are different than those for the BS2. The Reference Manual has the values in it.

    One way to do the status stuff would be for the master to periodically send a status query command to each slave in turn. The slave would always send a reply with bits set to indicate that it needs servicing. The master would carry on a conversation with the slave to get or send the data needed, then go on to send a query to the next slave. The master would use a timeout to determine that a particular slave is not present or not working. Normally, the slaves would be completely passive, just reacting to commands from the master. Some commands might tie up the slave for a while and the master would keep track of that and not expect that slave to react to a status query command for some time.
  • HumanoidoHumanoido Posts: 5,770
    edited 2015-01-03 21:51
    SgtBFGunner, thank you and you're welcome. We would like to see more about your continuing BSS project and follow along on the build. I'm away working on space systems.

    The nice feature of the project is using all the BASIC Stamps that you have on hand, and matching the baud rates for compatibility. A Parallax Penguin robot uses the faster BS2px with more memory so if you have access to these, it can make a faster machine.

    Some Penguins were connected to the BSS to add processing power in one project. The boards are much smaller and have nice built in sensors and segment displays.

    http://forums.parallax.com/showthread.php/108169-World-s-Smartest-Penguin-Robot?p=765509#post765509

    The nice thing about the BSS is the ease of programming using PBASIC with BASIC Stamps and the ability to demonstrate clustering and parallel concepts.

    The project was repeated using Propeller chips, seen below.
    http://1.bp.blogspot.com/-_cQ2cAJvkGM/Tu2OqcbuQYI/AAAAAAAAADc/v5PoM2wzpD4/s1600/wiring.jpg

    Many of these systems migrated to companies for use in space exploration and upcoming space tourism.

    Humanoido
  • David BetzDavid Betz Posts: 14,514
    edited 2015-01-04 02:47
    Humanoido wrote: »
    Many of these systems migrated to companies for use in space exploration and upcoming space tourism.

    Humanoido
    This sounds interesting. Can you describe how multiple Propellers have been used in space exploration?
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-01-04 14:40
    Hello Humanoido, good to hear from you!

    I will be experimenting with the Propeller chips and the Arduino chips soon. I have the Bot versions of them for now.

    Your Propeller chip wiring is mind blowing! : ) For now, I dropped a bunch of money on all new materials for the BSS. I had none of it before being inspired by your projects/articles.

    I would also like to try the SEED supercomputer, but I would need to purchase all that hardware as well. It would be great to run SEED on the BS2!

    I am currently working on cleaning up/programming the LCD and uOLED displays.
    I still need to get to buying toggle switches and LED indicatiors.

    I did get all 10 Basic Stamps and extras, running on 1 9 volt battery! All power leads are run to a breadboard and breadboard fed by 9 volt battery or AC adapter. (Pretty cool!)

    A couple of observations while I work on the BSS...:

    It appears…

    1. One Wire Serial Communications (Asynchronous)
    a. While one stamp is performing its programmed function (ie, EMIC, uOLED), that stamp must grab the comm line while it performs it’s function regardless of WAIT statements? The active Stamp kind of “has the wire”?
    b. Is WAITing a function, tying up the Stamp?

    2. I haven’t been able to get graphical with the uOLED (G2), likely because of simple Serial function/protocol?

    3. Already filled EPROM programming text into uOLED… Had to back off on screen load.

    4. Having a problem with uncalled “\” character on the 2x16 LCD screen. (Also must be a new version because it does not use “T9600 + Inverted”). May be due to too long of a PAUSE?

    More to follow…

    Thanks everyone!
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-01-04 14:49
    Mike Green wrote: »
    A BS2px is fast and has lots of program memory (32K) and scratchpad RAM. Remember that timing constants like those for Baud are different than those for the BS2. The Reference Manual has the values in it.

    One way to do the status stuff would be for the master to periodically send a status query command to each slave in turn. The slave would always send a reply with bits set to indicate that it needs servicing. The master would carry on a conversation with the slave to get or send the data needed, then go on to send a query to the next slave. The master would use a timeout to determine that a particular slave is not present or not working. Normally, the slaves would be completely passive, just reacting to commands from the master. Some commands might tie up the slave for a while and the master would keep track of that and not expect that slave to react to a status query command for some time.

    Thanks Mike. I received the BOE and BS2px, very cool. I haven't tinkered with it much other than to make sure it wasn't DOA.

    Regarding the project, it basically operates by sending a status query to each of the slave Stamps. At this point it seems like the active Stamp is hogging the show once queried. For instance, I can't seem to launch the text to voice EMIC and then execute the uOLED screen on another Stamp. It appears that the Stamps need to finish their job and then they listen to the wire for command and control? Just figuring this stuff out, which is the fun part. The reason it was built. : )

    I've installed the 433mhz RF on a Stamp and on a BoeBot. That works well. But once the Stamp connects to the BoeBot communication, it takes hold and just runs. I have lots to go on that piece. Just tinkering to confirm it works. It's pretty neat stuff. Could probably be used to connect two BSS's together!
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-01-09 19:26
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-01-29 11:19
    Project is "done" (though it is never done, because it is built to experiment with).
    I don't think the camera will ever work. don;t know if there is enough memory on the BS2 to handle it. Wiring is all there.
    This was and is a fun project. It may not be a true "Supercomputer" but it was definitely a "Superproject"! ;)
    I will be doing a video... just need to find some time.
    587 x 800 - 168K
    800 x 533 - 183K
    800 x 533 - 180K
    800 x 533 - 113K
  • Clock LoopClock Loop Posts: 2,069
    edited 2015-01-29 16:39
    I would suggest you move into the propeller chip, much parallelism has yet to be done.

    But a framework has been established to program the entire array in a single programming cycle.

    This propeller framework is structured similar to a Train. A Engine(articulated boiler.spin), a tender using read/write resistors(4884.spin), and a nearly infinite string of "cars"(4884.spin).


    ---> start here to learn the development = http://forums.parallax.com/showthread.php/124343-Parallax-Propeller-Programs-Propellers-in-ParallelV1.0-Tribute-to-the-BigBoy-4/page2?highlight=articulated

    ---> start here to jump to a 55 propeller array with programming. = http://forums.parallax.com/showthread.php/127983-55-Parallax-Propeller-s-Parallells-Processing-of-Permanent-Perturbations.
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-01-29 17:35
    Clock Loop wrote: »
    I would suggest you move into the propeller chip, much parallelism has yet to be done.

    But a framework has been established to program the entire array in a single programming cycle.

    This propeller framework is structured similar to a Train. A Engine(articulated boiler.spin), a tender using read/write resistors(4884.spin), and a nearly infinite string of "cars"(4884.spin).


    ---> start here to learn the development = http://forums.parallax.com/showthread.php/124343-Parallax-Propeller-Programs-Propellers-in-ParallelV1.0-Tribute-to-the-BigBoy-4/page2?highlight=articulated

    ---> start here to jump to a 55 propeller array with programming. = http://forums.parallax.com/showthread.php/127983-55-Parallax-Propeller-s-Parallells-Processing-of-Permanent-Perturbations.

    Thanks Clock Loop. I have a few Propellers and looking to dig into those. Also a couple Arduinos and an array of Raspberry Pi (built an MPI cluster).

    The Basic Stamp is interesting in that one must work with it's limitations.

    May seem like a shotgun approach, but starting with the BS2, which I did years ago and working my way through all of them. Having a blast seeing what they all can do. Newly retired and keeping busy. Trying to teach this old dog new tricks.
  • Clock LoopClock Loop Posts: 2,069
    edited 2015-01-29 17:43
    The Basic Stamp is interesting in that one must work with it's limitations.

    Thats exactly what was done with the propeller and making its parallel programming circuit, its limitations, were breached.
    A cheap chip trick.

    I then combined a prop with leds, and made them talk using red photons and the lovely photoelectric effect outlined by forrest mims.
    http://forums.parallax.com/showthread.php/154191-MimsMirrorZero-and-MimsMirrorOne-%28it-blinks-rgb%29-%2848-leds-on-a-single-propeller%29?p=1248240&viewfull=1#post1248240

    The limit is that the communications are quite slow using the same led emitter as receiver. Its always fun to see what you can do with things that aren't really made to do .... that.

    But it became self aware....
    http://www.youtube.com/watch?v=tuWplyBmsmo
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-01-29 18:29
    Clock Loop wrote: »
    Thats exactly what was done with the propeller and making its parallel programming circuit, its limitations, were breached.
    A cheap chip trick.

    I then combined a prop with leds, and made them talk using red photons and the lovely photoelectric effect outlined by forrest mims.
    http://forums.parallax.com/showthread.php/154191-MimsMirrorZero-and-MimsMirrorOne-%28it-blinks-rgb%29-%2848-leds-on-a-single-propeller%29?p=1248240&viewfull=1#post1248240

    The limit is that the communications are quite slow using the same led emitter as receiver. Its always fun to see what you can do with things that aren't really made to do .... that.

    But it became self aware....
    http://www.youtube.com/watch?v=tuWplyBmsmo

    I love it! Very cool.

    Optic communication between intelligent 8-core beings?


    FUN?
    √√
  • Duane DegnDuane Degn Posts: 10,588
    edited 2015-01-29 18:43
    A huge limitation of the Basic Stamp is its lack of UART. To receive a serial signal it has to sit and wait for it. The Propeller and many other microcontrollers can be doing other tasks and check to see if any data has been received every so often.

    When you want to investigate the Propeller a bit more you can find a links to various tutorials in post #3 of my index (see my signature).

    Here's a link to my "Fun with Spin" YouTube list showing some of my Propeller (and Spin) based projects.

    It's a really great time to get involved with hobby electronics. It's really easy to find information on the internet (including Parallax's great tutorials). There a lots of amazing sensors available at extraordinarily low prices (thanks China). Plus there's now the Propeller. The funnest microcontroller on the planet to program.
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-02-03 17:20
    Duane Degn wrote: »
    A huge limitation of the Basic Stamp is its lack of UART. To receive a serial signal it has to sit and wait for it. The Propeller and many other microcontrollers can be doing other tasks and check to see if any data has been received every so often.

    When you want to investigate the Propeller a bit more you can find a links to various tutorials in post #3 of my index (see my signature).

    Here's a link to my "Fun with Spin" YouTube list showing some of my Propeller (and Spin) based projects.

    It's a really great time to get involved with hobby electronics. It's really easy to find information on the internet (including Parallax's great tutorials). There a lots of amazing sensors available at extraordinarily low prices (thanks China). Plus there's now the Propeller. The funnest microcontroller on the planet to program.

    Too cool!

    I'm going to build me a hexapod soon.

    Thanks,
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-02-08 18:48
    New experiment... I haven't gotten it to work yet, insight appreciated.

    Trying to slave off the remote BS2.
    So I have the remote BS2 (C12), I am trying to connect another BS2 to the remote (C13). So far I hooked C13 to C12 using single wire serial comm on "pin 0" and ground. I guess it would not be able to "listen" like the wired ones on the BSS. Guess there is no real reason to think there was anything going on on pin 0. Going to try pins 3 and 4 from C12's 433mhz circuit. Don't know if that will work. I tend to doubt it.

    I may have to make C12 a seondary "master" and handle comms for C13. BSS calls out to C12 for C13's status, C12 reaches out to C13 and then back to BSS.

    Would be cool if C13 could just be "on the wire" listening like all the nodes on the BSS.

    Am I getting warmer here???
  • kwinnkwinn Posts: 8,697
    edited 2015-02-09 07:19
    Not sure if it has been done with the BS2 but there is no reason it cannot be done. One caution though, add a current limiting resistor to the pin that is "on the wire" for each BS2 so you do not damage it if two of them transmit data at the same time. Then you need a protocol to send and receive data and control access to the "wire".
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-02-09 08:03
    kwinn wrote: »
    Not sure if it has been done with the BS2 but there is no reason it cannot be done. One caution though, add a current limiting resistor to the pin that is "on the wire" for each BS2 so you do not damage it if two of them transmit data at the same time. Then you need a protocol to send and receive data and control access to the "wire".

    Thanks Kwinn, at this point they are all Homework boards which have the built in 220 resistors on each pin... That sufficient?
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-02-24 06:11
    Got it!
    Remotes C12 and C13. C12 has the 433mhz transceiver and C13 is wired to the TX/RX, Data and ground of C12.
    The Master stamp calls out on 433mhz for C12, C12 responds with a "C12" to the Master's WAIT instruction, Master receives the C12 then calls for C13 who responds with C13. No response and the process stops because Master waits, (Working out on properly setting up time outs. For now I can just comment out the Master's WAIT instruction and it continues on if needed.)

    C12/C13 process does not "answer" is the power wire (red) is shared.
    C12/C13 process responds by sending 433mhz response with common ground (black) connected.
    No common ground, C13 lights up in response but to signal appears to be sent.
    TX/RX (yellow) and Data (blue) connected. High states and Low states are likely in sync for everything to work?
    220ohm resistors setup on C13's TX/RX (pin 2) and Data (pin 3). Probably not needed because the 220 ohm is already built into the Homework Board?
    Learning lots getting everything setup the way I want it.
    Added a Parallax PIR and Ping sensors. I can run them individually but haven't programmed them into the system yet.
    I have removed the camera because I do not believe the Basic Stamp 2 can work with it? Not enough processor or memory?
    Still need to get that video done.
    Comments, thoughts?
    Thanks,
    Gary
    (Hopefully this all kind of made some sort of sense... It's how my brain works before it's first cup of coffee in the morning...)

    C12 on the right, C13 on the left...
    1024 x 435 - 195K
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-02-24 08:09
    More thoughts (after coffee...):

    This project is running one-wire serial communication. How much more is possible with two-wire (two way) communication?
    Problem is, the BS2 is still handling only one process at a time...
  • aforsytheaforsythe Posts: 4
    edited 2015-03-23 16:07
    Well, you've inspired me to purchase a 10-pack of homework boards to build something like this. Ok, well the sale helped, but I immediately thought of this thread as I was checking out.

    Looking forward to working on this as soon as my daughter and I get done with the Boe-Bot + remote, ping, and LCD.
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-03-23 17:33
    That is awesome! Inspirartion is what this is all about.
    I don;t know about your area, but in mine Radio Shacks are going belly up. Make sure you visit and give all their Parallax products a good home. I just picked up another 8 homework boards, 3 3 axis gyros for pennies on the dollar. Kid at the counter said he was glad they were finding a home.
    Have fun, it's a wonderful learning experience and bonding time with your daughter. :)
  • aforsytheaforsythe Posts: 4
    edited 2015-03-24 17:55
    Wow, I didn't even think about that. I've got two Radio Shack stores near me. I'm not sure if they are closing down but I'll definitely have to stop by and see.

    I used to do a ton of RS232 and always got my DB connectors and other wiring supplies there, but I haven't been in one for years. It's sad to see them go though. I used to always visit the one in our local mall as a kid to begin my Christmas list every year.
  • SgtBFGunnerSgtBFGunner Posts: 33
    edited 2015-03-24 21:06
    Right???! Remember the free flashlight in the Christmas flier every year? Used to make sure I had my parents or rode my bike there to get it. A big long grey plastic one with red bezel. Memories.
  • aforsytheaforsythe Posts: 4
    edited 2015-03-25 16:19
    Well the good news is that the two stores in my area are staying put. The bad news is that I got NO good deals. Still I have a local shop for electronic components now that my hobbies are taking me that way so the good really does outweigh the bad :)

    I'll stop Hijacking your thread now :)
Sign In or Register to comment.