Schemer is a small button to make things twinkle, shake, and play music.

You program it directly from a web browser by holding it in front of a computer screen.
No wires, and no software to install. It's really easy.

  • -   Example programs

    -   Graphical programming
    -   Writing programs
    -   All Schemer procedures

    -   Hardware
    -   Example projects

 
 
Help! It's not working!

Movie credits: ILhaDoUrsO



How it works 
 
The Schemer interface allows you to quickly write and customize programs from your web browser, and then send those programs to your outfit. It uses visible light directly from your computer screen or your mobile phone so you don't need extra wires or hardware.  
 
                   
 
 

Movie credits: MechaRoboshop

 
 
 
The video summary:
  • Go to the schemer page, from your computer or mobile device.
     
  • Press the touch pad for 1 second. Schemer will flash 3 times, then become really dim.
     
  • Put Schemer in front of the yellow flower (or white handbag).
     
  • Press "Send" on the screen.
     
  • Hold still until the web browser finishes sending the program.
     
  • If it's in programming mode and you want to cancel, just briefly press the touch pad again.
     
  • Note: If you keep your hand on the touch pad for more than 1 second, Schemer will turn off entirely and sleep. Wait 2 seconds, then press the touchpad again to wake it up.
 
 
 
 
 
 
Help! It's not working!  
 
 
 


Graphical programming 

The first way to write programs is to choose actions from the menus.
At left is what Schemer will do by default.
At right is what happens when you press the switch.
 

 
 


 
Schemer can also turn on lights in response to sensor input, either from its built-in light sensor or from additional sensors you've attached. The interface has two parts: the slider on the left tells Schemer how sensitive it should be, and the buttons on the right tell it how to respond.
 
 
Detect a wide range, like completely dark to very bright. Detect a small range, like changes in room temperature. Set a high threshold, so Schemer responds only when it gets really loud.
Turn on only one light at a time.

OR

Turn on multiple lights, like a sound meter.
Light up to match the current sensor values.

OR

Light up briefly only when there is change in sensor values.


Writing programs 

You can also write short, simple programs:
 

(always (right 2))
This will continuously flash the lightboards in sequence, to the right. Note the tiny dots on the lightboards.

The procedure name (right) indicates the direction, and the number 2 controls the speed (1 is really fast, and 10 takes much longer).  

If you don't want the program to run continuously, don't use (always):
(right 2)
Schemer will run this program, and then wait for you to send another one. If you press the touchpad, it will run the same program and stop again.
 

To repeat the (right) procedure three times, type:

(repeat 3 (right 2))
The first thing after the word repeat is a number, and the next things are all the procedures you want to repeat. You can also string together different procedures, and combine repeats:
                      (repeat 3 (right 2)(left 2)(wait 2))
 
(repeat 2 (twinkle 1) (repeat 3 (right 2)(left 2)(wait 2)) (wait 3))
Notice how the parentheses group the procedures you want to repeat?
 
 
To prevent some procedures from running without deleting them entirely, use the comment semicolon   ;  
(right 2)
; (wait 4)
; (left 2)
In this example, Schemer will skip the (wait 4) and (left 2) procedures.
 

 
Conditional expressions 
 
To make something happen only when you press a switch:
(if (switch?) (left 2))
 

To do one thing if the switch is pressed, and another if it isn't:

(if (switch?) (left 2) (right 2))
 

To do multiple things when the switch is pressed, group them with an extra pair of parentheses:

(if (switch?)
  (
    (in 1)
    (wait 2)
    (out 1)
  )

  (twinkle 1)
)

 
You could certainly write it all on one line, like this

(if (switch?) ((in 1) (wait 2) (out 1)) (twinkle 1))

 
though the preferred way is often a combination of the two styles.

(if (switch?)
  ((in 1)(wait 2)(out 1))
  (twinkle 1))

 
 
Instead of a switch, Schemer can also respond to sensor levels. To twinkle only in the dark (or when it's cold, or quiet, depending on the sensor you've attached):

(if (< sensor 3)
  (twinkle 2))

 
 

 

 
Using variables 
Instead of doing things a fixed number of times or at a certain speed, Schemer can also change speeds automatically depending on sensor levels (like if a room is bright or dark, or if the temperature is hot or cold). This way, if you write
(always (right sensor))
instead of (always (right 2)), then your program will be really fast in a bright room, and slower when the lights are off. The name sensor contains the value of any connected sensors (like a sound or temperature sensor), or uses Schemer's own light sensor.



Making your own procedures 
 
A third way of repeating things involves defining your own procedure that then calls itself, like this:
(define (pattern)
  (right 2) (left 2) (wait 2)
  (pattern))
 
 
In other words:
To repeat a pattern,     do these things and then,       call the pattern again  
 
   (define (pattern)     (right 2) (left 2) (wait 2)     (pattern))
 
You could also define many another procedures. The important thing is that the name being defined, and the name being called are the same:
(define (my-special-name-for-this-procedure)
  (twinkle 3) (in 3) (out 2)
  ((my-special-name-for-this-procedure))
 
 
Now that you've defined the procedure, you need to tell Schemer to call it. Remember, even when a procedure was already defined - for example (right 2), you still needed to call it by typing its name. The (define) statement just tells Schemer that there is a group of precedures held together by that name.

To define and run your endlessly repeating pattern, you would therefore need to write this:  
 

(define (pattern)
  (right 2) (left 2) (wait 2)
  (pattern))
(pattern)
That last statement in bold is the one that tells Schemer to run the procedure that was defined.  
 



Arguments to procedures 
 
 
You can also pass information (called arguments) to procedures using the variable n. With it, you can tell a procedure how fast to do things, or when to do them.

(define (alternate n)
   (if (even? n) (left 1) (right 1)))
This creates a new procedure called alternate that takes a number n. Using the conditional (even? n), it will fade left if the number is even, or right if that number is odd.  

If you add these next four lines to call the procedure, it will fade left for 2 and 10, and fade right for 1 and 7.

(alternate 1)
(alternate 2)
(alternate 10)
(alternate 7)
 

Example programs 
; randomly, softly, twinkle the lights nonstop.
; this semicolon allows you to make comments about your program

(always
  (twinkle 2))


; twinkle the lights only when the sensor value is greater than 3.
; connect the sound sensor to twinkle the lights with conversation.

(always
  (if (> sensor 3) (twinkle 2)))


; flash left and right fast twice, then twinkle once.
; repeat the whole thing 4 times before turning off.

(repeat 4
  (repeat 2 (left 1)(right 1))
  (twinkle 2))


; create a new procedure called slower that takes a number n
; so that each time it calls itself, the lights become slower and slower.

(define (slower n)
   (repeat 3 (left n) (right n))
   (if (< n 10) (slower (+1 n))))

; call it the first time with 1 (slower 1)


; create a new procedure called alternate that takes a number n
; so that it fades left if the number is even, or right if the number is odd.

(define (alternate n)
   (if (even? n) (left 1) (right 1))
   (alternate (+1 n)))

(alternate 1)


All Schemer procedures 
For the experts: although based on the Scheme programming language,
Schemer is not anywhere close to being an R6RS implementation.
 
; (right 2) the semicolon causes Schemer to ignore everything on the line
 
 
(right 2) fade lights right
(left 2) fade lights left
(in 2) fade starting from outside edges, towards the middle
(out 2) fade starting in the middle, towards edges
(twinkle 2) randomly light up
(center 2) flash only the center light
 
 
The next three procedures tell Schemer how to change the lights when you do the 6 light procedures above:
(fade) Fade the lights one by one.
(build) Leave lights on, so at the end all five lights are lit.
(countdown) Start with all lights on, and one by one, turn them off.
 
 
(wait 2) Wait some time before doing the next procedure
(repeat 3 (right 2)) Repeat the (right) procedure three times.
(always (right 2)) Do the (right) procedure nonstop.
 
 
Using sensor, Schemer automatically changes speeds or number of repetitions depending on sensor readings (like brightness, loudness, or temperature).
(twinkle sensor)
 
Use sensor instead of a number like 2, to change speeds automatically.
 
(repeat sensor (twinkle 2))
 
The number of repetitions can be 1, 2, 3 or 4 depending on sensor levels.
 
 
 
n
 
 
Use the number contained in n to a procedure. For example, within a define statement, you could write (twinkle n) instead of (twinkle 2)
 
(+1 n) Use a number 1 greater than n: (twinkle (+1 n))
(-1 n) Use a number 1 less than n: (twinkle (-1 n))
 
 
(if (switch?) (left 2) (twinkle 2) ) Fade left if switch is pressed, or do twinkle if it isn't.
(if (switch?) ((left 2) (right 2))
  (twinkle 2) )
Fade left and right if switch is pressed, or do twinkle if it isn't.
Notice the double parentheses that group multiple procedures.
 
(if (even? n) (left 2) (right 2))
(if (even? sensor) (left 2) (right 2))
(if (odd? n)  (left 2) (right 2))
(if (odd? sensor)  (left 2) (right 2))
(if (= n 2)   (left 2) (right 2))
(if (> n 2)   (left 2) (right 2))
(if (< n 2)   (left 2) (right 2))
 
 
(define (a-name)
   (repeat 3 (left 2) (right 2)) )
Create a new procedure called a-name that will
repeat the (left) (right) patterns three times.
 
 
(a-name) Run this new a-name procedure.
 
 

 
Hardware 

Schemer connects with all your compatible components using only two wires.
This greatly simplifies your project and keeps everything small and neat.

Align all the white dots on Schemer, lightboards, switches, and sensors facing up, and connect them like in the picture.
If you cannot find a dot, align the text (TEMP, TOUCH, S, LIGHT, etc.) facing up

You can rearrange any of the pieces, move Schemer from the middle to the edge, add more lightboards, etc.

 
 
Every schemer-compatible component has a tiny microcontroller under it. Each one has a unique address and is able to send and receive data using the same pair of wires.

It's designed to be very easy to hookup, but it's picky about what it's connected to.

 
 
The two holes on either side of schemer connect to schemer-compatible components only: lightboards, motorboards, switches, sensors, etc. Schemer has a voltage booster so it can run on low batteries. This also makes lights bright and motors strong. Connect it to a 3V watch battery, or two AA batteries.

Never use more than 3 volts.

Schemer doesn't have an on-off switch. To make it sleep, press and hold the touchpad until it turns off. If you press and hold the touch pad again, it wakes up and continues where it left off. During sleep, it consumes very little electricity, so one battery can last as long as a month, depending on how often it runs.
This simplicity and integration does have one drawback: you won't be able to connect regular things like plain LEDS, motors, switches or buzzers, unless they are schemer-compatible.

If it's not an Aniomagic product, you probably can't use it with schemer.



Members of the schemer bus system

There is a growing number of components you can attach to the schemer bus: lights, switches, sensors, motors, buzzers, iPod remote control, etc.

 
Lightboards

Lightboards come in sets of five, and each one has dots to help you identify it. The dots also indicate the PLUS connection to schemer. You can mix them in any color combination (diamond, ruby, sapphire, and emerald). Schemer can directly power up to 20 lightboards, so if you need more, check out Max below.

 
 
So how do you tell which color you have? Flip them over.
They will also light up if you connect them directly to a 3V battery.

Never use more than 3 volts.


 
Switch

Switch allows you to tell Schemer to do something only when you press it. You can connect other things like a tilt switch or a fabric switch using the two holes on the side.

 
You can also write things like
(if (switch?) (left 2))
which tells Schemer to run the (left 2) action only when the switch is pressed. (see more examples)
 
 
Touch

(Note:If you bought a touch sensor before February 2011, it works like the other sensors.)

Touch works just like Switch, except instead of pushing a switch, you touch it with your finger. You can also write

(if (touch?) (twinkle 2))
Whether you write (touch?) or (switch?), Schemer will run the (twinkle 2) action only when you touch the sensor.

You can use the two holes to connect to larger patches of conductive cloth. This way, you can make things flash, shake, or play music if someone brushes their hands over it.

 
 

 
Sensors

Sensors allow Schemer to respond to changes in sound, light, temperature, etc.

 
 

Like Switch and Touch, Custom sensor allows you to connect your own sensors and conductive fabrics using the two holes on the side.

 
 
To make Schemer do things only in the dark, write
(if (< sensor 2) (twinkle 1))             more examples

 
To automatically change the speed of actions, so they run faster or slower depending on sensor levels, write

(twinkle sensor)

 
Finally, you can automatically vary the number of times you repeat things (1, 2, 3 or 4) by writing

(repeat sensor (twinkle 1))

Sensors come in pairs: circle and square.
You can use only one circle and one square at the same time; two circles won't work.
They can be the same type (temperature, light, touch, etc.), or a mix, as long as one is a circle and the other is a square.

  • If you don't connect a sensor, schemer will use its internal ambient light sensor.
  • If you have only one, schemer will use that one.
  • If you have both, schemer will use the formula: circle - square.
    This allows your project to detect where there is more light, or a higher temperature, etc.
 
 

 
Max

Use Max when you need to connect motorboards or a lot of lightboards.
Connect IN to schemer, and OUT to your other components.
Typically, you would use it with a different battery (up to 6 volts), for maximum bling.

 
 



Help! It's not working! 

It doesn't enter programming mode
The touch pad measures the resistance in your finger. In dry weather, our fingers become dry and have a very high-resistance. You might wet your finger, or use a paper clip to connect the touch pad to minus.

It's not getting new programs from the screen
Try holding Schemer closer to the screen, right in front of the yellow flower. You can also make your screen brighter. If your web browser is playing a video or doing someother activity, it throws off the timing. Close all other browser windows and see if this solves the problem.

I can't tell if it's dead or alive
When Schemer is running programs or waiting for a new program, its light never goes all the way off. It will be very dim, because that's its way of saying "I'm alive". If you cannot see this light at all, it could mean 1 of 3 things:

  • Schemer is sleeping, so touch the touchpad to wake it up.
  • The battery needs to be changed.
  • The connection to the battery is loose or broken.
Try to see if you can get it back into programming mode by pressing on the touchpad for 1 second. If nothing happens, try a fresh battery. If this fails, put Schemer into diagnostic mode:
  • remove the battery and wait 5 seconds
  • use a paperclip or thread to connect the touchpad to minus
  • while touchpad is still connected to minus, put the battery back
  • Schemer should now start flashing its center light continuously
  • this flashing speed should change depending on the amount light on the ambient light sensor
  • remove the paper clip or thread, and remove the battery again
  • re-insert the battery, and try to get it into programming mode again.
Still not working? Please write us or call us at , and we'll do our best to help.


 
Examples of things made with Schemer.  
 
 

programmable bracelet

sound sensing house
                  See more examples.  



Terms of Use | Privacy Policy | Sales & Refunds

© Aniomagic