Shop OBEX P1 Docs P2 Docs Learn Events
BASIC Stamp Supercomputer - Page 4 — Parallax Forums

BASIC Stamp Supercomputer

124678

Comments

  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-03 14:15
    Basic Stamp Subsupercomputers

    Developing an array of Basic Stamp subsupercomputers is possible with the software. (another great idea). Because the current node array is handled like a cluster that reports to a single master, arrays of masters (each in charge of "subsupercomputer" node array), can report to the OverLord. The OverLord is in charge of all Masters just as the Masters are in charge of all Workers. The cluster of all Masters is handled like a supersupercomputer. Since we are dealing with a one wire supercomputer interface, to avoid traffic speaking-listening jams from the supercomputing node arrays, the Masters would be on their own one wire along with the OverLord. That would only take up one extra pin on the Master processor, entirely do-able.

    humanoido

    Post Edited (humanoido) : 12/9/2008 11:14:26 PM GMT
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-03 19:38
    Human Brain Simulation Project

    It's important NOT to simulate the human brain down to the neuron level with a mainframe because there may not be supercomputers powerful enough to do that for many decades to come, and one would not want to do that on a wire by wire basis!!! That would create so many wires it would be pure insanity and does anyone really think the whole world can actually hold all that copper, or even have enough natural resources to manufacture that much?!!! It's like trying to go to the Moon and Mars and the stars with old vacuum tubes, a giant air conditioner, and a long extension cord. [noparse]:)[/noparse]

    What IS important is to develop simulations that take advantage of the powerful integration of software - what the BSS brain project is all about, is taking a tiny section of the human brain that's relatively mapped and understood, interesting for biped and humanoid robots, AI and Motion Control for example, and co-developing simulation constructs of artificial intelligence. As in the original app post, it's always good to hear about the possibilities of what we can do, rather than what we cannot do.

    humanoido

    Post Edited (humanoido) : 12/9/2008 11:16:11 PM GMT
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-06 04:01
    Basic Stamp Supercomputer Software Upgrade
    Workers v1.3, Master v1.9

    More Worker Programs


    I'm working hard to wrap up the software, and have
    now increased the number of worker programs from 14 to
    20. This number now matches the Master program capabilities.
    The new codes, for computers 15 through 20 match the
    version numbers for the previous Workers code. This is a design
    that works no matter how many computers you put into the
    collective. It can be 2 computers or 20, for example. It's a tested
    design because the BSS began with only 2 computers and worked its
    way up.

    Computer Distance Exam

    Computer distances are relatively short, the max from computer
    1 to computer 11 approaches 2-feet, give or take some distance for
    added wire length from stamp to stamp, and everything is
    functioning rock solid. Computer 20 will be mounted in obverse
    at about the same distance. Some tests at greater distances can
    be performed with the robot tether.

    humanoido
  • SRLMSRLM Posts: 5,045
    edited 2008-12-06 05:27
    Question: why are you building one worker program at a time? My thoughts on mass computing would be to have a "worker program" that is generic. This would be a subroutine in the BS2 (for those with only one program slot), and the only custom part is sensor interfacing and data processing. The master computer should then be able to figure out what each slave is collecting and doing, and save their data appropriately. Just a thought.
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-06 13:58
    General Workings

    Very good SRLM, I think you're describing exactly the way this works. The worker programs are "relatively generic." The main difference from one Worker program to the next is the identity. Each worker program can "wake up" and respond when it hears its name called (asked to speak). It must also send its identity to let the Master know it has finished. You are also right about the Master program. While the demo falls through to access each Worker, other Master code can simply use subroutines that call upon various Workers for their work results.

    Of course, this protocol is necessary for the one wire interface. This one wire interface, in terms of simplicity, is one of the greatest Parallax and PBASIC/Stamp inventions of all time. I was following the thread about the PC not having this protocol built in so we'll have to do some work to make it communicate with our stamp master.

    The thinking about programming with 20 stamps operating at the same time is very unique. First, it can do 20 priority things at the same time. It will be interesting to share such programming ideas and give the super-pod of stamps all new capabilities. The one important thing to note when programming with one wire statements - syntax must be exact! I'm sure you knew that! [noparse]:)[/noparse]

    humanoido

    Post Edited (humanoido) : 12/9/2008 11:18:01 PM GMT
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-08 17:02
    One Wire Interface
    I received some email over the weekend talking about my wording regarding the BSS one wire interface. To clarify here, with BSS software and its hardware interface, I am not using Dallas commands or Dallas type sensors or products. The talk about one wire is not to be mistaken with the Dallas One Wire Protocol. The BSS is sending serial communication along one wire, which is NOT in any Dallas configuration, does not get the Dallas commands, does not use the Dallas protocol, and does not have any Dallas numerical signatures or peripherals/sensors with Dallas format IDs.

    Open Drain & Open Source
    For a matter of educational interest, the BSS uses an interface with open baud mode simplified to one pin communications. This quote from the PBASIC Help File will clarify: "The SEROUT command supports open-drain and open-source output, which makes it possible to network multiple BASIC Stamps on a single pair of wires. These "open baudmodes" only actively drive the Tpin in one state (for the other state, they simply disconnect the pin; setting it to an input mode). If two BASIC Stamps in a network had their SEROUT lines connected together (while a third device listened on that line) and the BASIC Stamps were using always-driven baudmodes, they could simultaneously output two opposite states (i.e., +5 volts and ground). This would create a short circuit. The heavy current flow would likely damage the I/O pins or the BASIC Stamps themselves. Since the open baudmodes only drive in one state and float in the other, there's no chance of this kind of short. The polarity selected for SEROUT determines which state is driven and which is open. Open baudmodes allow the BASIC Stamp to share a line, but it is up to your program to resolve other networking issues such as who talks when and how to detect, prevent and fix data errors."

    PBASIC
    When Dallas One Wire is used, the interface communicates with specific parts, components, sensors, built as devices for one wire, with specific IDs. The BSS handles the IDs differently. Here's why I give credit to Parallax in the manner which was posted - Parallax has invented PBASIC and has given the language the capability to command support open drain and open source output within the statements, providing the syntax is extremely precise. This method works well as the distances to the processors are short, there's shielding, and software is designed to provide the necessary checks and balances.

    humanoido
  • RobotWorkshopRobotWorkshop Posts: 2,307
    edited 2008-12-08 19:05
    I have to that this is a really interesting project and I've enjoyed reading most of the posts associated with it. I hope that some of the negative comments will be taken with a grain of salt and just keep on going. No matter what I would certainly consider this the "Super Computer" of BASIC Stamps and is a worthwhile experiment for it's own merit.

    It is nice that Humanoido has taken the time to share his project on the forum and I look forward to reading about future progress.

    Robert
  • P!-RoP!-Ro Posts: 1,189
    edited 2008-12-08 22:32
    No negativity, just some misconception Robert. However, I myself think this project is great as well. I just wish I could actually see it do something besides looking pretty (which it is very good at).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    PG
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-09 23:26
    The Number of Computers

    This project began with 2 computers (Basic Stamp boards). So if you have only 2 stamps, a project like this is entirely feasible using the same interface, same software (with some very minor changes), and same concepts. This can bring the range and scope of this project to more stamp enthusiasts.

    humanoido
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2008-12-10 19:44
    Ken Gracey (Parallax) said...
    smitty760123,
    Is the C-Stamp your product or are you associated with the company?
    I think the point is made and I'm trying to understand the motivation at this stage.
    Ken Gracey
    Parallax, Inc.
    Not surprisingly, smitty760123 and Ethan123 have the same IP address.· The best information I have says this is a competitor trying to stir things up.· I don't think anything else needs to be said.


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Engineering
  • P!-RoP!-Ro Posts: 1,189
    edited 2008-12-12 00:10
    Wow, fooled all along.... I feel awful now.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    PG
  • MikerocontrollerMikerocontroller Posts: 310
    edited 2008-12-12 00:48
    · I'm doing just fine without the C-Stamp.· When I'm done with the Basic Stamp I'll graduate to the Propeller.· Back to you, humanoido!
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-12 19:27
    BSS Update & Preliminary Info

    Build Plans
    The complete build plans will be published in the feature article inside Penguin Tech Magazine issue #4. You'll see a link here to a posting in the Parallax Robotics Forum, when completed. Be sure to download your personal copy of Penguin Tech 4.

    PT4 Progress & Publication Dates
    Penguin Tech Magazine goes through a four phase proofreading. Three phases are completed. It's expected the fourth phase will be completed today. Then, proof results will be incorporated and a final master will be made over the weekend for a Monday posting if all goes as planned.

    A preview of PT4 can be found here.
    http://forums.parallax.com/showthread.php?p=760066

    Circuit Diagram
    The wiring diagram is a dual-combination of schematic and pictorial. It has features showing LED details, and all Stamps in a block of ten for simple wiring. This may be followed when wiring two or 20 stamps. The circuit diagram includes the following main parts:

    Basic Stamp Array
    Toggle Switch Power Bus Bar
    LED Signal Bus Bar
    Power Mains Distribution
    Parts List


    Software
    Remember to download the code package. This is a separate zip file containing all the code talked about in PT4. 22 Software programs are included to run the BSS with up to 20 stamp computers. Look for the folder by the name of BSS. Two extra programs are optional and will run the Emic Speech board on computer nine, and a color uOLED Monitor on computer 10. The code will have comments on software and hardware interfacing, in particular, the pin wiring. Stamps can be mixed or matched. In theory, the design is unlimited, though it would be just as easy to connect two or three stamps using the same wiring and software with some minor code changes.

    Code List
    supercomputer_1.bs2
    supercomputer_2.bs2
    supercomputer_3.bs2
    supercomputer_4.bs2
    supercomputer_5.bs2
    supercomputer_6.bs2
    supercomputer_7.bs2
    supercomputer_8.bs2
    supercomputer_9.bs2
    supercomputer_10.bs2
    supercomputer_11.bs2
    supercomputer_13.bs2
    supercomputer_14.bs2
    supercomputer_15.bs2
    supercomputer_16.bs2
    supercomputer_17.bs2
    supercomputer_18.bs2
    supercomputer_19.bs2
    supercomputer_20.bs2
    supercomputer_9_emic.bs2
    supercomputer_10_uOLED.bs2
    


    humanoido

    Post Edited (humanoido) : 12/12/2008 7:36:33 PM GMT
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-14 17:00
    Basic Stamp Supercomputer Plans
    http://forums.parallax.com/showthread.php?p=770232
    • Main BSS Article
    • Build Instructions
    • Schematics
    • Pictorial Diagrams
    • Index
    • 12 Photos
    • 22 software programs
    The plans to build the Basic Stamp Supercomputer are now posted!
    Read the construction details in Penguin Tech #4, pages 1, 2, 3, and 4.

    humanoido

    Post Edited (humanoido) : 12/14/2008 5:09:45 PM GMT
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-18 05:36
    Basic Stamp Supercomputer
    Index to Published Articles


    Build Your Own Basic Stamp Supercomputer
    BSS Basic Stamp Supercomputer
    Super Stamp * Super Voice
    BSS Stamp Clip In Technology
    Basic Stamp BSS Parallel Architecture Processing Software
    A Powerful Parallax Basic Stamp Collection
    How to DIY Model a Basic Stamp Supercomputer
    Basic Stamp Supercomputer BSS MPP Massively Parallel Processing
    Supercomputer Shielding
    Basic Stamp Supercomputer Software & Plans
    BSS Software
    Youtube Supercomputer Movie!
    How I used the Supercomputer Model to Develop a Super Robot Brain
    Basic Stamp Supercomputer BSS 10X Plans
    Plans to Build Your Own Basic Stamp Supercomputer
    More Information, Updates, Summary, Projects

    http://forums.parallax.com/showthread.php?p=770232
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-22 02:40
    Basic Stamp Supercomputer Code
    Attached for download is a folder "BSS22.zip" with all the
    software to run the Basic Stamp Supercomputer. This
    includes all 22 programs.

    humanoido

    Post Edited (humanoido) : 12/22/2008 2:45:32 AM GMT
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-23 07:21
    Basic Stamp Supercomputer Plans - Schematics/Pictorials

    Attached is a new revised schematic and plans to construct the BSS.
    The parts list and links are now updated. This is the first posting of a
    single file that includes the BSS schematics.

    http://forums.parallax.com/attachment.php?attachmentid=57520

    attachment.php?attachmentid=57520

    Sorry it took so long to get this posted but I wanted to make some
    important additions and break this off from the PT4 article as an
    individual file. This is also a much higher resolution image with a
    larger size for better readability.

    humanoido

    Post Edited (humanoido) : 12/23/2008 7:47:35 AM GMT
    764 x 514 - 344K
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2008-12-23 22:59
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-24 04:15
    Thanks Phil. That's surprising.

    It's equally surprising to find it in MAKE Magazine.
    blog.makezine.com/archive/2008/12/basic_stamp_supercomputer.html

    The BSS currently has 284,000 places on the web. That's mind boggling since this
    simple project began with only 2 Basic Stamps and an idea.

    humanoido
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-25 04:00
    Merry Christmas!!!
    Basic Stamp Supercomputer
    Self Adjusting Master


    This is my Christmas present to all. The new Basic Stamp Supercomputer
    code will self adjust to the number of stamps in the collective. This allows
    the code to fully function with the minimum number of stamps (2) on up
    to the present code limit (20).

    The code runs on the Master only. The workers code remains the same.
    Startup has a Debug screen where the number of computers is input via
    the menu screen. The code for each computer is ladder logic and falls
    through until the "x" computer is reached, whereupon the code is completed
    and ends.

    Remember to use this program for the number of computers that are
    actually wired together and switched on. The code is not designed for
    more computers than "x" which are wired together.

    Now you can build a Basic Stamp Tiny Supercomputer on a tight
    budget or a massive one, depending on your resources. Have fun!
    


    humanoido
  • HumanoidoHumanoido Posts: 5,770
    edited 2008-12-30 09:50
    Example of initial wiring of a 2-Stamp BSS

    attachment.php?attachmentid=57653

    http://forums.parallax.com/attachment.php?attachmentid=57653

    You can amplify the power of one Stamp by 2X

    Per request, this is the initial wiring of a 2-Stamp BSS using a BS2sx and a BS2px.
    The interface is from P0 on the side of the Basic Stamp Super Carrier Board and P5
    on the Penguin Bs2px board. The battery supply will now be connected and Vin is
    joined together along with Vss ground.

    With the SCB, a small solderless breadboard is added to make the connections.
    Resistors used for this setup are 1K. Note, the SCB does not have the inline 220
    ohm resistors to port side so resistors will be added to any used port, including P0
    to P5. The one wire interface is still maintained.

    Piezo Speakers

    The SCB is wired with its Piezo Speaker on P15. The Bs2px board has its Piezo
    Speaker on P12. Change code accordingly.

    Software

    Change the code to reflect Port P5 on the Bs2px side and input for 2 computers.
    Download the Master and the Worker codes (computer 1 and computer 2) to run
    simultaneously. Although it's your choice, here the BS2sx is the Master and the
    BS2px is the Worker.

    humanoido

    Post Edited (humanoido) : 12/30/2008 10:14:41 AM GMT
    497 x 620 - 35K
  • P!-RoP!-Ro Posts: 1,189
    edited 2008-12-30 18:24
    I am really enjoying all the updates for your computer, humanoido. Good work!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    PG
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-01-04 03:49
    Pi Guy, thanks for your positive comments - I'll continue
    to post updates, photos, and new information as time permits.

    humanoido
  • UghaUgha Posts: 543
    edited 2009-01-05 16:24
    Question... why does every reference I've ever seen about connecting two stamps together use two seperate pins (one for transmit, one for receive) and resistors (of 1k+ usually) to
    prevent problems... when its absolutely clear that your solution of one straight transmit/receive line works fine?
  • J. A. StreichJ. A. Streich Posts: 158
    edited 2009-01-05 18:39
    Two lines means that you won't run into a bus conflict in bidirectional communication. Using one line for both Tx and Rx means your timing has to be precise. It's faster and more convent to transmit without conflicts if each has it's own line. It's a similar idea to using a switch instead of a hub.
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-01-06 15:15
    The One Wire Approach

    The first version circuit made did indeed have two lines, one Rx and one Tx,
    but was discontinued after performing numerous experiments and weighing
    the pros and cons.

    What I found - it's far more easy and simple to regulate which stamp talks
    across one wire. When a stamp finishes talking, it just says so. This one wire
    system works perfect, is reliable, and does not hang. The hardware design is
    simple. One line never has a conflict using this method in bidirectional
    communications and there is no need to worry about timing. In this way, it's
    all automatic.

    About the 1K resistor, it's still in place from Vss to the P0 ports. Although the
    820 ohm resistor is seen on the schematic, please realize the master is on a
    Basic Stamp HomeWork Board which cleverly puts a 220 ohm protection
    resistor inline with each port. The resistors in series amount to 1040 ohms,
    close enough to 1K. If a different board is used, add a 220 ohm resistor to
    P0.

    humanoido
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-01-08 16:57
    One Wire Baton Race

    One way of looking at the operation of the single wire interface is by
    comparison to a track & field relay race. At the leg of the race, each
    runner passes a baton to the next.
    Wikipedia said...
    In sprint relays... Usually a runner will give an auditory signal, such
    as "Stick!" repeated several times, for the recipient of the baton to
    put out his hand.
    en.wikipedia.org/wiki/Relay_race

    The one wire is very similar. Each sprinter is a Basic Stamp computer.
    The sprint distance is the work time. The handoff is the transfer of work
    results from one stamp to the next. The total racing time of each runner
    is the computational time of each computer. The auditory "Stick!" is the
    stamp's identification code. The difference is that any stamp worker can
    send off its work (baton) when decided by the Master. You can have one
    or twenty consecutive send offs, in any order specified, or one at any
    time during the race. Different code can provide different arrangements
    of Master and Workers.

    humanoido

    Post Edited (humanoido) : 1/8/2009 5:04:38 PM GMT
  • J. A. StreichJ. A. Streich Posts: 158
    edited 2009-01-08 19:49
    Humanoido, I didn't get that communication was being manged by a master worker relationships; I suppose this makes sense. The arrangement you have suits the stamps in this project well. Thank you for the clarification.

    Ugha, other projects have different relationships between the two devices/chips. If they were equal peers, (say capable of both receiving and sending at the same time -- say using a prop instead of a stamp), then two lines would mean faster communication. The unpredictable nature of the peers would make a single line a bad choice, because either peer could chose anytime to send. This would open the possibility of conflicts (both trying to send at the same time). Mechanisms exist from networking to help mediate such race conditions for the shared resource (the line), but all of them involve some sort of wait time which would slow down communication. Beowulf Clusters (of computers) performance would suffer is they used a hub rather than a switch for similar reasons.
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-01-10 04:31
    BSS Speed Increase Tip
    There's the proverbial contesting of the backplane of conventional
    computers, that of raw processor speed versus that of bus width.
    For years it was a catch-up match of the higher processor speed
    waiting for bus width speed innovations.

    In the BSS project, it's still a contest between the raw basic stamp
    processor speed and the baud rate sent down the interface in serial
    commands. One tip for increasing BSS speed is to deactivate the
    LCD. The LCD process, while incorporating high baud rates, involves
    a much slower waiting period for the characters to appear on the
    screen, and a pausing time period for readability.

    The BSS code reports to the LCD from the Master and each Worker.
    LCD selective disabling would therefore increase operating speed
    significantly. The LCD use in the project is to primarily show the
    proof of concept and serve as a debugging tool. The same will hold
    true of the miniature uOLED color monitor.

    humanoido
  • HumanoidoHumanoido Posts: 5,770
    edited 2009-01-16 13:12
    Info Packet Development
    I'm putting together a BSS info package. Is there any
    new or additional information you would like to see
    explored in more detail?

    humanoido

    Post Edited (humanoido) : 1/16/2009 1:18:29 PM GMT
Sign In or Register to comment.