Shop OBEX P1 Docs P2 Docs Learn Events
Tiny Stamp Supercomputer TSS — Parallax Forums

Tiny Stamp Supercomputer TSS

HumanoidoHumanoido Posts: 5,770
edited 2010-10-13 00:35 in Robotics
Tiny Stamp "Supercomputer" TSS
The World's 1st Hand-Held BASIC Stamp "Supercomputer"
by Humanoido

(demonstration of basic principles to take some characteristics of a supercomputer, in particular the notion of larger multiples of relatively simple processors communicating over a common bus, each doing a portion of a task in parallel)

The BASIC Stamp Clustered Supercomputer series is a number of hobby projects to design BASIC Stamp microcontroller clusters with more power compared to a single Stamp. The name supercomputer is indicative of the increase in power by comparing to a single stamp.

Absolutely the most powerful in terms of the smallest footprint with many tiny Stamp networked processors. It’s a cluster of Stamps in your hand. Has its own book with 30 fun projects. Includes Architecture, Assembly, Programming, Tutorial, Applications, Complete Code. The TSS has multiple computers, LCD monitor, radio transmitter, receiver, speakers, breadboard real estate and a 64K EEPROM memory board, all interfaced to a tiny Hub. The TSS Stamp supercomputer is so small it will fit into a soup bowl or coat pocket. Includes special features such as hardware programming "on the fly."

The Tiny Stamp Supercomputer (TSS) is the first hand-held Basic Stamp Supercomputer. It’s the smallest in the series of Parallax Basic Stamp supercomputer projects by Humanoido. It is also the first USB Stamp supercomputer, made possible by the innovative BS1USB board made by Parallax. This project compliments the Basic Stamp Supercomputer (BSS), the Stamp Baby Supercomputer (SBS/Baby), and the Propeller (MELS) supercomputer.

Price & Disclaimer
This is a pure hobby project for my personal enjoyment and use only, and is not for sale. If the project does not satisfy your requirements, keep in mind that it was not intended to do so. This is not a product, and the descriptions are offered as is, in whatever degree or lack of degree of completeness for your inspiration and ideas. Good luck!

attachment.php?attachmentid=74306&stc=1&d=1286611320
This is a view of the new “hand-held” Tiny USB Stamp Supercomputer TSS during construction. Seven computers, LCD monitor, radio transmitter, receiver and a 64K EEPROM memory board are interfaced to a Belkin USB Hub. The Stamp supercomputer is so small, it will fit into a soup bowl or Parka coat pocket. The yellow wires are for the port-to-port one wire interface. The black wires are adjoining Vss and red wires are Vdd. White represents a serial signal wire. By comparison, the American penny shows the extreme tiny features of the TSS Tiny Stamp Supercomputer!

Tiny includes an optional serial “green screen” by Parallax, pulling a whopping 20ma, the most power hungry device in this ultra tiny array. This is actually a miniscule power draw. In fact, the supercomputer consumes so little power, it would be a good candidate for solar power. Note the position of two computers located in the front behind the LCD. The remainder computer array is located to the rear of the USB hub.

How to Build Tiny - Building Up the USB Hub
First build up the USB Hub by attaching three small solderless breadboards using their self adhesive sticky tape on the back side. Locate the breadboards according to the photo. Each breadboard side has 17 rows of 5 pins for 85 holes to a side, giving a total of 170 holes perboard. This makes a total of 510 wire and component mounting positions with all three breadboards. The hub has eight lights (one red power light and seven green LEDs indicating connected USB devices). The USB Basic Stamps have seven green LED lights indicating power on status. Tiny has a total of fifteen status lights.

Tiny is a powerful array of seven BS1USB computers connected to a Belkin HI-Speed USB 2.0 powered 7-port Hub. The 7-port Belkin Hub’s advantage is its ability to provide considerable power to the USB devices (Stamps) simultaneously, and peripherals, not drawing from the laptop’s limited power source. Each tiny Stamp PCB contains vital components (processor, clock source, memory, power regulator).

Tiny packs a punch in a small package and is loaded with features and peripherals. Let’s take the grand tour! Affixed to the high speed USB hub are seven Parallax BS1USB computers, seven piezo speakers, a Parallax 433 Mhz radio transmitter, a matching receiver, Parallax serial LCD green screen monitor, eight pushbutton keypad, DS1620 Digital Thermometer, Parallax EEPROM non-volatile memory board, and a Parallax QT113-D Touch Sensor. Tiny can access other Stamp Supercomputers located within a full city block, communicate with a Base Station, and cluster together entire Stamp supercomputers located around the city!

attachment.php?attachmentid=74320&stc=1&d=1286629272
The Tiny Stamp Supercomputer blueprints show schematics for the base unit. This contains seven clusters of BS1USB computers interfaced to a powered USB hub for programming.


After all seven computers are programmed, the USB cable from the Hub to the Laptop is removed. The wall power supply to the hub remains on. Compare the new Tiny Stamp Supercomputer blueprints (seven computers) with the networked 3D Stamp Computer (three computers).


Historically, the 3DSC is the forerunner of Tiny, and the first 3DSC Stamp clustered array to incorporate the BS1. The BS1 is filled with advantages, in terms of tiny power consumed, tiny footprint, large number of ports, and large capabilities for more powerful hobby BASIC Stamp clustered machines.


Wiring & Assembly Step by Step
Wiring is accomplished from port to component and component to port using the computer’s on board SIP socket and small gauge wire, plus the three small Parallax solderless breadboards attached to the Belkin Hub housing. This will support numerous additional supercomputer components and sensors.

( ) Plug in seven BS1USB computers to the Belkin 7-port hub
( ) Run a wire from P0 Computer 1 to P0 on Computer 2. Repeat to Computer 7.
( ) Connect all grounds together with jumper wires (Vss)
( ) Connect all +5 volts together (Vdd)
( ) Consult the schematic to wire the peripherals

Tiny Stamp Supercomputer Parts List
Parts for the Main Supercomputer
7 - Parallax BS1USB Board
1 – Belkin Powered High Speed USB 2.0 Hub
3 – Parallax Solderless Breadboards
4 – Rubber Bands
30 – Pin to Pin Jumper Wires
Peripherals Used in this Project, from Parallax
7 – Five Volt Piezo Speakers
1 – Green Screen Serial LCD
1 – 433 Mhz Radio Transmitter
1 – 433 Mhz Radio Receiver
1 – 64K EEPROM Memory Board
Parts for Project Applications
1 – Low Power Parallel LCD
1 – Temperature Chip DS
1 – Capacitor .1uf
1 – Touch Sensor QT113
1 – 470 Ohm Resistor
1 – LED
10 – Toggle Switches
10 – 1K Ohm Resistor
7 – 220 Ohm Resistor
APP 22
CaS Cell
Capacitor .1uf

Wiring “On the Fly”
A unique feature of TSS is that it can be wired and rewired as you are moving from one location to another. It’s a portable wiring feature that enables much more function due to simple access of its circuits.

Test Software for Each Computer
The test program loads into each of the USB stamps. When running the clustered code, after each stamp is programmed, the USB cable can be disconnected and the hub is removed from the laptop. All computers will remain powered on and functional.

' {$STAMP BS1}
' {$PBASIC 1.0}
DEBUG "hello world"
END

Test Software for the Cluster Interface
Test software for networking the cluster is seen below. This code includes timing routines. Each computer sleeps a designated time period and wakes to perform a task.

Loading in Code to Seven Computers
When loading a program, the menu appears to select any one of the seven Basic Stamps. Simply click on the desired computer, 1 through 7, and the code will load. This process is the most simple of all the Stamp/Propeller supercomputers.

attachment.php?attachmentid=74308&stc=1&d=1286611029
Use this as a wiring guide to each pin. Note the actual configuration for each computer mounted on the USB Hub is inverted from this photo.

attachment.php?attachmentid=74307&stc=1&d=1286611339
Loading code into each computer is a very simple process. Wait for this window to appear and select the stamp to receive the code.

attachment.php?attachmentid=74309&stc=1&d=1286611029
The BS1USB is tiny, measuring only 2.26-inches long, .73-inch wide and .3-inch thick. Right: the back side of each board has a legible pin code printed in white.

Features
  • 7 Computers (BS1USB)
  • Fifty-Six Ports (configurable as inputs or outputs)
  • Each Computer 2.26-inches Length x .73-inch Width x .3-inch Thickness
  • Overall Stock Supercomputer 4 ¾ wide x 4 ¾ deep x 2 ½ height
  • Each I/O pin sources 20ma and sinks 25ma
  • All I/O pins on one computer can source 40ma and sink 50ma
  • Each Computer has an on-board USB interface
  • Two Vss, Two Vdd and eight pin I/O connectors
  • 7-Port Belkin High Speed Powered USB 2.0 Hub
  • Memory: 64K Serial EEPROM Memory Board
  • Two Thousand Four Hundred Bits Per Second Transfer Rate
Single Processor Specifications
  • Microcontroller PIC16C56a
  • Processor Speed: 4 MHz
  • Program Execution Speed: ~2,000 PBASIC instructions/sec.
  • RAM Size: 16 Bytes (2 I/0, 14 Variable)
  • EEPROM (Program) Size: 256 Bytes; ~80 PBASIC instructions
  • Current Draw @ 5 VDC: 1mA Run, 25 μA Sleep
  • Number of I/O Pins: 8
  • Source/Sink Current per I/O: 20 mA / 25 mA
  • Source/Sink Current per unit: 40 mA / 50 mA
  • PBASIC Commands: 32
  • PBASIC Language: v1.0
  • Scratchpad RAM: n/a
  • PC Interface: USB
  • Windows Text Editor Version: Stampw.exe (v2.0 and above)
  • Breadboard Area: 1 3/8 x 2" solderless breadboard or through-hole mounting pads
Seven Processor Specifications
  • Seven Cores
  • Core Speed 28Mhz
  • Program Execution Speed: ~14,000 PBASIC instructions/sec.
  • RAM Size: 112 Bytes (14 I/0, 98 Variable)
  • EEPROM (Program) Size: 1,792 Bytes; ~560 PBASIC instructions
  • Current Draw @ 5 VDC: 7mA Run, 175 μA Sleep
  • Number of I/O Pins: 56
  • Techniques for 448 inputs, or 112 I/Os
  • Source/Sink Current per I/O: 20 mA / 25 mA
  • Source/Sink Current per unit: 40 mA / 50 mA
  • Source/Sink Current per supercomputer I/O: 280 mA / 450 mA
  • Breadboard Area: about 14 by 20”
Comparative Speed to the Cray 1 Supercomputer
Don’t expect too much speed compared to the worlds fastest supercomputers today or even desktop computers! This is a small hobby supercomputer and is super in terms of comparison to one Stamp in the same genre. If you want to convert the actual speed to OPS, operations per second, the chart below will illustrate the example. The SBS runs at about 20,000 IPS (instructions per second). FLOPS is floating point operations per second. Grossly approximating IPS to FLOPS, the SBS is about 20 kiloFLOPs or one fifth of a megaFLOP (MIP). By comparison, the Cray 1 supercomputer was in the MIPs range (millions of instructions per second). So one could roughly say the SBS is only approaching the speed of the Cray supercomputer.

[IMG][/IMG]

Expansion Peripherals
The Tiny Stamp Supercomputer can be expanded with these low power peripherals:

Expansion Peripherals Computer Ports Used Each Power (ma)
  • Computer 1 N/A 1ma=run, 25ua=sleep
  • Parallax LCD 2x16 1 1 20
  • Memory Board 7 1 10
  • 433 Mhz Radio Transmitter 3,4 1 10
  • 433Mhz Radio Receiver 3,4 1 5.2
  • One Port 8-Pushbutton Keypad 2 1 5.0
  • Touch Sensor 6 1 1.5
  • DS1620 Digital Thermometer 5 3 1.0
  • Piezo Speaker 1-7 1 1.0
7-Port Belkin High Speed Powered USB 2.0 Hub Specs
  • Upstream Ports 1
  • Downstream Ports 7
  • Per-port Voltage DC +5V
  • Per Port Current 500mA (max)
  • Power Mode Self Powered (AC Power Adapter)
  • Operating Temp 5deg ~ 40deg C
  • Storage Temp -20deg ~ 60deg C
  • Enclosure ABS
  • Power Supply Output: DC 5V, 3.8A
  • Plug Size: 3.5mm outer, 1.0mm center
  • Plug Polarity: Center Positive
  • Red Power LED Off Not Operational
  • Power Status LED Green Fully Operational, Off Over-current Condition
Compliant with Universal Serial Bus Specs 2.0, data rate 1.5/12/480 Mbps, backwards compatible with USB spec 1.1 data rate 1.5/12 Mbps, Win 98SE, Me, 2000, XP, supports plug and play, and hot swapping, approved by USB Implementers Forum (USB-IF), over-current detection and protection, individual port status indicator LEDs, five horizontal mounted 480 Mbps downstream ports, two vertically mounted 480 Mbps downstream ports, fully compatible with USB 2.0 and 1.1 devices, compact slim-line design, two hubs may be stacked on top of one another, also Mac enabled – see operating manual for more details.

One Wire Interface
The Stamp supports an open baud mode that switches to +5 volts dc only instead of ground. This is the open-source configuration, selected by an argument beginning with ON, such as ON2400. The 1K ohm resistor goes to ground.
559 x 454 - 59K
294 x 265 - 22K
619 x 348 - 52K
478 x 265 - 23K

Comments

  • HumanoidoHumanoido Posts: 5,770
    edited 2010-10-09 00:55
    Interesting Comments

    USB Computer Ports
    You might think it's possible to plug three USB Stamp boards into your computer's USB ports and begin clustered computing. Not possible with most computers. The sum current draw exceeds the amount of deliverable power from the combined USB ports on the PC computer. A powered Hub is needed to remedy this by supplying full power to all USB Stamp boards.

    Non-Powered USB Hubs
    You might think it's possible to just plug multiple USB Stamp boards into any USB hub and computing is possible. Not possible. A powered hub will be needed. You can try one or two Stamps in a non powered hub, but with 3 or more it is likely to exceed pc power capacity.

    Powered USB Hubs
    Even with some non-powered USB hubs, there is an incompatibility with some brands. Even a Belkin non-powered hub will not drive three or more Stamps.

    attachment.php?attachmentid=74314&stc=1&d=1286618586Compare the size of these BASIC Stamp Supercomputers with the TSS.
    706 x 354 - 226K
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-10-09 00:57
    Schematics Center

    attachment.php?attachmentid=74320&stc=1&d=1286629272
    Schematic diagram for the more powerful Tiny BASIC Stamp Supercomputer TSS Cluster Machine..

    attachment.php?attachmentid=74630&stc=1&d=1287752863
    Check out the hi-res version of this rare BS1USB Schematic in the PDF file (download as seen below).
    attachment.php?attachmentid=74629&stc=1&d=1287752955
    715 x 479 - 85K
    553 x 372 - 38K
    651 x 319 - 18K
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-10-09 01:46
    Software

    ==============================================
    A Snoozer Program to put individual cores to sleep for ten seconds, then do a wake-up call based on a pause statement.

    ' {$STAMP BS1}
    ' {$PBASIC 1.0}
    Snoozer:
    DEBUG CLS, "Sleep for 10 seconds"
    SLEEP 10 ' Sleep for 10 seconds
    DEBUG CLS, "awake now!"
    PAUSE 1000 ' Awake for a second, or set timing here
    GOTO Snoozer

    ==============================================
    The standard Hello World program is a good first test for each core.

    ' {$STAMP BS1}
    ' {$PBASIC 1.0}
    DEBUG "hello world"
    END

    ==============================================
    Determine memory used by a PBASIC Program
    Use this code to determine memory consumed by a PBASIC program. On the BASIC Stamp I, enter the following code at the start of your PBASIC1 program:

    '***MEMORY USED***
    READ 255,B0
    DEBUG #B0
    ' ****************

    Upon running the program, a number will display in the debug window of the editor. Use the following equation to determine how many bytes are used by your PBASIC1 code: 255 - # - 6; where # is the number displayed on the debug window. Note, the “- 6” in the equation results from the fact that the above two lines of code take 6 bytes of program space, thus without those two lines, your program takes 6 fewer bytes of space.
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-10-09 01:49
    reserved for stuff
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-10-09 06:10
    reserved for more stuff
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-10-09 06:17
    and another stuff pkg
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-10-09 06:56
    A reserved page for attachments
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-10-10 22:45
    Cores, Parallelism, Determinism

    The little TSS machine has seven cores which is numerically defined by the Belkin HUB. As a purely academic comparison, the TSS can use all seven cores at the same time in parallel, with true determinism. This aspect is similar to a Propeller chip's eight cogs. In this particular fashion, Propeller cogs can be simulated or emulated on a simple level. The TSS has huge robotics potential for controlling numerous sensors at the same time. Cores can operate servos while the vision center can continue to function, for example. If you have some of these tiny BS1USB boards handy, this is one way to find a good use for all the processors with this simple project.

    bs1usba-L.jpgShowing one BS1USB board. In the TSS, seven of these connect to a powereed HUB. Small pin connectors are enough for wiring when combined with several tiny solderless breadboards. Dimensions of this board are: 2.25 x 0.75 x 0.35 in (5.72 x 1.91 x 0.89 cm).
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-10-13 00:35
    Running Core Software
    ==============================================
    Serial Communications programs are in the Handbook of BASIC Stamp Supercomputing.

    This PBASIC code sets up the Master-Slave concept and establishes Talk/Listen rules for simple communication.==============================================
    TinyAI is found in the BASIC Stamp SEED Supercomputer post (runs on ten cores).

    PBASIC code utilizes ten cores to set up AI. The same program loads into each core and evolves. Requires ten deterministic pin circuits. The schematic is written in the software comments. In the code, remove three processors to run on the TSS.
    ==============================================
    TinyAI for the TriCore is found with the BASIC Stamp TriCore Supercomputer post (runs on 3 cores).

    This code is written in PBASIC and utilizes three cores to set up AI. The same program loads into each core and evolves. Requires three deterministic pin circuits. The schematic is written in the software comments. In the code, add 4 processors to gain the total of 7, or run as is on the TSS using 3 processors, as a sample program.
    ==============================================
    Links are available at the signature below
Sign In or Register to comment.