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