This pad builds on [[hacklab-flowbits/rev.3008]], created by sarana & mjr & Harald & jautero & dist & jimki & Jaroneko & suovula & anacron & zzorn & [unnamed author] & Jammi & mokis & Jssmk & kallekilponen & arcatan & rambo & jari

Flowbits - rectangular blocks that can be connected together to form circuits.

(TODO: Better name?)

Basic concepts
*Blocks attach to each other with magnets.  Power lines are on top of magnets.
*There is one power block that supplies power.
*The signal is transmitted digitally between each block (using IR light).
*Each block typically has one output signal that it broadcasts to all neighbors, and uses the neighbors output signals for some of its parameters.
*There is one generic computational block that can be set to different modes / functions.
*There might also be other types of blocks eventually¸ e.g. sensor blocks, motor blocks, tentacle blocks, light driver blocks, wall power remote control blocks, etc..
*Dimensions of block probably around 7x7 to 8x8 cm, leaves room for 4xAA battery case and fits nicely in hand.
*Rectangular grid allows for double sized or odd sized blocks too (e.g. one to two octave piano keyboard block).

Blocks

Powerblock
*4xAA battery holder
*DC 5V input jack
*PWM output drivers x 6 (one for each edge, encode value to 0..full output cycle)
*Servo outputs x 6 (one for each edge, encode incoming edge value to servo position
*(Power switch)
*Builtin speaker would be nice too.

Sensor Block
*


General computation block
*ATMega microcontroller, 4 RGB leds, potentiometer for navigation and parameter adjustment, 4 clickable edges, 2x7 segment led screen
*Each mode has a number of parameters, whose values can be set with the rotating wheel to a specific value, or to the (average) value of specified neighbor output(s), or maybe to more complex functions (simple signal / noise generators)
*Available modes (followed by parameters for the mode):
*Signal generator
*Waveform
*Sine, Square, Sawtooth, etc
*Frequency
*Amplitude
*Noise generator
*Sequencer
*Random melody / sequence generator
*Mixer
*Filter
*Delay filter (echo, reverb, etc effects)
*RGB signal visualizator
*Neural network / game of life nodes (4 of them, one for each side)
*etc

Part list (for general computation block):
*Rotary encoder x1
*http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=987-1398-ND
*10 pcs: 0.93900 / a
*Microcontroller x1 
*ATMega 328 PU
*http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=ATMEGA328-PU-ND
*3.05  (25 pieces: 1.91 / a)
*or AT90USB162 (builtin usb support, surface mount)
*http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=AT90USB162-16AU-ND
*2.88 (25 pieces: 1.8 / a)
*Resonator 16 Mhz x1
*Digikey
*http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=490-1214-ND
*10 pcs: 0.399 / a
*Futurlec
*http://www.futurlec.com/Crystals/RESON16M0P3pr.shtml
*0.2 / a
*Capacitors x2
*Filter caps for microcontroller
*(Close to zero, already have)
*Power cap for scratchy contact
*47uF or similar electrolyte
*Protection diode for power polarity
*~0.5 - 1 A @ 6V
*Resistors
*Series resistors for RGB lights, LED segment display..
*LED Segment display: 14 (or 16) resistors
*RGB Leds: 12 resistors
*Maybe use resistor networks for saved space and improved sanity
*Resistor network, 7 resitors, 8 pin, 220 Ohm: (maybe a bit too expensive)
*Digikey
*http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=4608X-1-221LF-ND
*0.25 / a when 50+
*Futurlec
*http://www.futurlec.com/ResNetworks.shtml
*220ohm 9 Resistor Network (10 pins)  
*0.25 / a 
*Combination resistors for tilt switch, 4 of different unique values (high accuracy, we'll get 16 different values that we need to differentiate after A/D)
*IR Leds, 940 nm, 3mm x4
*Digikey
*http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=754-1241-ND
*0.11 / a when 25+
*Futurlec
*http://www.futurlec.com/LED/INF3940pr.shtml
*0.13 / a when 25+
*IR transistors 940nm x4
*Digikey
*http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=1080-1158-ND
*0.21 / a when 10+
*Futurlec
*http://www.futurlec.com/LED/INFD3940TRANSpr.shtml
*0.15 a
*RGB Leds, common anode, diffuse x4
*0.25 / a from ebay seller for 100+
*Tactile swithces x 4
*http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=450-1650-ND
*0.056 / a when 50+
*LED Dual 7 Segment screen x1 
*Futurlec
*http://www.futurlec.com/LED/7DR5621BSpr.shtml
*0.75 / a when under 25
*Magnets x 8
*http://www.dealextreme.com/p/super-strong-rare-earth-square-re-magnets-100-pack-51744
*0.144 / a when 100+
*Tilattu
*Plastic cover material - diffuse, translucent white or darker plastic, preferably something not as brittle as acrylic
*Plastic case, 3D printed?
*PCB (smaller than total footprint)
*Programming header?
*Shift register, 74HC595 x2
*Through hole
*http://www.futurlec.com/74HC/74HC595pr.shtml
*$0.5
*$0.42 when 25+
*$0.35 when 100+
*SMD version (SOIC)
*http://www.futurlec.com/74HC/74HC595SMDpr.shtml
*$0.15


Parts to be ordered from three sources, digikey, futurlec, and dealextreme + 3D printed case.  Maybe ponocos german partner for a lasercut top surface ~2€ /a when ordering 25.

Cost: 8.86 + case plastic, pcb etc -> ~10$(+)

TODO: LEDs need sources and sink capable of driving them, atmega only supports max 25-30mA per pin, and max 110mA total.

Need 4 sinks for
*3 RGB channels
*1 x 4 IR sender leds (one channel) (could also be source-driven)

Need 6 sources for
*2 (or 3) led segment displays (selecting character to light up)
*4 RGB Leds, for selecting directions to light up



7 darlington transistors sink
*http://www.futurlec.com/Linear/ULN2003Apr.shtml
*$0.3 / a for 25+
*http://www.futurlec.com/Linear/MC1413Ppr.shtml
*$0.26 / a for 25+

Single PNP transistor
*http://www.futurlec.com/Transistors/PN2907Apr.shtml
*0.6A, 500mW dissipation, high gain.
*$0.04 / a for 100+
*Most widely used, so use this by default
*http://futurlec.com/Transistors/MPS2907Apr.shtml
*$0.04 / a for 100+
*http://futurlec.com/Transistors/2SA1515pr.shtml
*$0.04 / a for 100+

We have two reels (~4k pcs) of PNP SMD transistors (100mA) at the lab.


Single NPN sink transistor
*http://futurlec.com/Transistors/KTC3203pr.shtml
*~$0.04 / a for 100+
*Not very common, but available from futurlec.  Substitutable with any NPN transistor with hfe > 100, voltage 20+, and currect handling of more than 500mA


metal strip for holding magnets (thin copper?)
*or trap them in a wire loop?

-> About $0.05 per source or sink -> + $0.5