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
- Microcontroller x1
- ATMega 328 PU
- or AT90USB162 (builtin usb support, surface mount)
- Resonator 16 Mhz x1
- 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
- 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)
- 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
- IR transistors 940nm x4
- RGB Leds, common anode, diffuse x4
- 0.25 / a from ebay seller for 100+
- Tactile swithces x 4
- LED Dual 7 Segment screen x1
- Magnets x 8
- 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
- SMD version (SOIC)
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
Single PNP transistor
We have two reels (~4k pcs) of PNP SMD transistors (100mA) at the lab.
Single NPN sink transistor
metal strip for holding magnets (thin copper?)
- or trap them in a wire loop?
-> About $0.05 per source or sink -> + $0.5