RSS Feed

Web Unleashed 2015 is coming!


August 12, 2015 by Christopher Lewis

WEB_710x1501Woohoo – the Web Unleashed Schedule is live and we gots us a discount code! Save an additional $100 on Early Bird tickets w/ code CTT til Aug 23!
If you’re a front-end developer looking to sharpen up your skills, Web Unleashed is the event for you! Learn and network with the best in the in the industry on Sept. 16-17.


FITC 2015 Diorama-rama


March 31, 2015 by Christopher Lewis


We’re super excited for FITC 2015 – the entire group has been ridiculously busy preparing for the conference and our Diorama-rama event. Join us at FITC 2015 Toronto – use our dicount code CTT and get a massive $150 off your conference ticket price!

If you drop in we will make something together:

  • Program a microcontroller chip with a custom message
  • Solder a simple circuit to broadcast that message in morse-code
  • Craft a paper building and attach the circuit
  • Add your message to the city

No experience required! We want to sit with you and make something together!

Our first morse code ATtiny85 – created at The Green Room

ATtiny85s come in sticks when you order enough of them! Purchased from Mouser for about $1.25 each

The first of 2 versions of the circuit that will be used to make the buildings flash. Classic newbie mistake: the circuit is printed backwards! I used the toner transfer method to create the circuit

Version 2 of the circuit. I printed on plain old printer paper – the transfer isn’t bad. For the final run of the circuits I used glossy photo paper instead – it’s a fairly disgusting plastic product that’s hard to work with, but the traces were thicker and more reliable.

The first test circuit. I was worried about not chroming the copper pads, but the solder adhered really well!

The first group test of our circuits!!!

Testing the lasercut buildings that Westley, Matthew and I designed.

We did a “preview” of the diorama-rama event with another meetup group, indesology. These 4 buildings were all created by guest participants – they’re the first set of buildings made by the public that will be part of the project! It was great to share some of what we’ve learned and see what resonated with people

94 more little circuits ready for 94 little hands! #dioramarama #cttoronto

A photo posted by blacksanta_69 (@blacksanta_69) on

The final run of circuits. These 94 were cut on a bandsaw I bought just for this purpose. I can’t cut a straight line for the life of me!

CTT member Nadine salvaged some wood to be used for the base of the city. The base is essentially a giant Breadboard with a power rail running underneath it


CTT Diorama-rama


January 22, 2015 by Christopher Lewis

Join CTT at FITC Toronto 2015 and use our discount code CTT for $100 off your tickets!

Come help us build Diorama-rama – a cityscape that uses microcontrollers and LEDs to blink your 140 character messages. Each contributor will sit with a CTT member and learn how to create a tiny paper light-beacon. It’s a great opportunity to finally start learning the basic skills you need to get that physical/ arduino project off the ground!


The final cityscape will be a 10×10 grid of paper buildings each blinking a different morse code message.


Activating a Tablet with Hardware


January 21, 2015 by Christopher Lewis

For the past few weeks, CTT has been getting an installation together for the TIFF DigiPlaySpace that will allow children to physically trigger an animation on a tablet. We’re delighted to be working with the team at Sago Sago on this project.

Creating physical triggers to start/ stop an animation is a fairly inconsequential task – you open a button sketch in the Arduino IDE and plug whatever hopped-up equivalent of 2 buttons you have into some pins. The challenging part about this project is communicating to a tablet. Fortunately, this is a subject I explored way back in 2013 at FITC Screens: Free Range Arduino.

A good solution is one that can be used with any of the many options for creating a mobile application, so we started exploring FSK and using the touch screen.

FSK (Frequency Shift Keying) is when you use audio signals to send data – in this case, we’re sending the data through the audio jack and generating the audio using an arduino. At the very least, we can keep sending audio until we want an animation to start and then stop (or vice versa). Any mobile/tablet application solution that has access to the microphone should work with that. If you want to get more complex than that, you can send audio signals back and forth and decode the signals to represent data – a great solution but difficult to do across multiple technologies (native, phonegap, unity, flash, OF etc). Matthew Potter actually managed to get audio out of our arduino:

Additionally, we explored using a relay and metal contacts on the screen itself. Using an arduino to control a relay we can mimic the touch behaviour of a tablet screen. By sending a recognisable signal to the screen as a “keep alive” we can cue an animation to start or stop. Once again, the difficulty is in sending and receiving viable data and decoding it – a solution needs to be used across many different technologies. This is demonstrated below:

Touchless touchscreen. #cttoronto #ctt #arduino #buyral

A video posted by blacksanta_69 (@blacksanta_69) on

The final solution, and probably the easiest, is to use a bluetooth HID device to connect as a keyboard. This can be done easily with a device like the Adafruit Bluefruit EZ-Key or a BlueSMiRF which can be used to send data to a tablet as keyboard input. By using a bluetooth keyboard, you can send full strings of data easily and it can be integrated into almost any mobile/ tablet technology quite easily.


FITC 2014 is coming!


April 3, 2014 by Christopher Lewis

FITC 2014 is around the corner and the lineup looks amazing. I’m especially interested to see Stefan Sagmeister, Backyard Brains, Sougwen Chen and the usual heavy hitters.

We are thrilled to be participating in FITC 2014.

We have a discount code: CTT gets you $100 of your ticket!

We’ll be a part of the fun in a couple of different ways. Marc Pelland and are proud to be hosting two of the presentation rooms this year! Additionally, I’ll be presenting a project tear-down as a speaker. My talk is called Broke-Ass Mario Kart and I’ll be sharing a couple of ways to connect Arduino + Node while riding around on an audience controlled Kart powered by wheelchair motors. Standard stuff, really. This talk has been informed by a number of our CTT projects and should be a lot of fun. We hope to see you there!

FITC Toronto 2014

Come and join us at FITC in Toronto this April 27-29 for an amazing batch of talks.

Read More…


Submarine Day


February 20, 2014 by Christopher Lewis

submarineDay_threejsWith Submarine Day (March 17, 2014) fast approaching, we’ve been making some progress on our latest project. The goal is to integrate leap motion, oculus rift and a meaningful underwater experience.

Over the past two weeks, we’ve managed to create a swim gesture with the leap to navigate and integrate that with a 3D environment and get the oculus rift threejs plugin to work with threejs: Prototype Submarine Environment

Submarine Day on Github


CTT Presents Crack a Quack at Long Winter


January 10, 2014 by Ruth Birman

Ok y’all (yes I went there)


If you are going to LONG WINTER - Year 2 Volume 3 tonight, don’t forget to check out our Crack a Quack installation!


Who: CTT (thanks to Long Winter - and Team Vector

What: Crack a Quack

Where: The Great Hall - 1087 Queen St. W.

When: Friday Jan 10 | 7PM | PWYC | ALL AGES

Why: Because Retro Gaming is Sexy

How: Bring your phone… make sure it’s charged… you’ll see why ;)


If you’re going I’ll see you there! :D


If not… SERIOUSLY!!! EVERYONE ELSE IS GOING!!!! No pressure. :)


Foodoodler Build Day – Sunday Jan. 12 @ 1:00 PM


January 9, 2014 by Ruth Birman

Hello Creative Technologists!

We will be continuing the deliciousness.

Come and hang out, build stuff.
Do not be intimidated if you don’t already know how to do something!

All you need is a desire to learn stuff.
OR a desire for waffles.
OR! a desire for old skool pixel art!!!!!!

WHO: YOU!!!!
WHAT: Building the Foodoodler Waffle Printer – No experience necessary
WHERE: 156 Augusta Ave, Toronto, Ontario, M5T 2L4
WHEN: Sunday Jan. 12 @ 1:00 PM
WHY: Because eating pixel art of octopus-like space invader aliens is delicious!
HOW: We’re still figuring that out. Come help us! :D

RSVP on Facebook! Or, just show up if that’s your thing. ;)


Down Periscope, Silent Service & Effing Sean Connery


January 9, 2014 by Ruth Birman

Ok boys and girls and everything in between, it’s time for another CTT brainstorm!


Last year, CTT had a super successful Pi Day.  As fun as it was and as much as we wanted to one up Pi Fighter, we decided to go in a different direction this spring.


After lots of deliberation, Submarine Day was selected.  Keep your eyes peeled hack-fans – March 17th is the day.  More on that here -


There may be some cross pollination with Panic Day as well.  Small confined spaces, people you may or may not like, and the possibility that there may only be one person of your sexual preference that everyone else is also after like some kind of big messy Smurfette situation.  You know what I’m saying.


The brainstorm led to some telling group revelations:

  • There is an Awesome and a Sh*tty Sean Connery
  • Parallel parking is extra sucky with submarines (sadness)
  • Effing James Cameron


Once again, we all tossed sexy technologies in a hat and by random selection drew the following:


We’re still hashing out the details.  So far we think an old skool physical game might be cool with a virtual reality element.  Something along the lines of something in the physical world being controlled by the virtual world.

Plus, old skool reminds me of my basement.  This leads me to another thought – there is not enough wood paneling.  (x-posted for your pleasure:

For the functionality what are we thinking? We don’t even know yet.


Outstanding Questions:

  • Should it involve an aquarium or be overhead?
  • Creating a periscope by mounting cameras on an x & y axis?
  • Shooting virtual and physical octopus?
  • “Harpooning” sharks?
  • Harpooning lobster? – the poor man’s shark?
  • Bombing submarines from above using augmented reality overhead blimps?
  • Shark (or poor mans shark) saddles?
  • An underwater submarine obstacle course?


One idea that gained some traction was a sonar idea.


The idea is that a virtual sonar to potentially gamify into sinking battleships or detect whatever objects are in our physical environment.  Think Daredevil.  We could potentially use leap motion to control where the sonar ping is directed.  We could potentially triangulate a few Kinects to act as the sonar.


Ok makers, we want to know what you think!  What ideas do you have?


Stay tuned for details on our next meetup.  If you haven’t had a chance to come out, you should because we are playing with Oculus Rifts – and that is just badass.


If you don’t know much about the tech behind it, don’t fret – we will post details on upcoming tech talks to help introduce you to the technology.  Help is always welcome regardless of your tech skill level.



Introduction to Arduino Workshop Notes


October 22, 2013 by Christopher Lewis


On Wednesday, Oct. 16, 2013, we had an introduction to Arduino workshop. Here are the notes from my presentation.

An Arduino is a hardware board that lets us connect hardware to our computers or mobile devices. We can take sensors or inputs, like a button, and “map” it to a behaviour on our computer. It acts as both an input and output, sometimes simultaneously. Simply, the Arduino board lets us plug “things” into our computers.

The Arduino board works with simple software “sketches” that are created using the Arduino IDE (Integrated Development Environment). The IDE is derived from a prototyping platform called Wiring, which itself s derived from Processing.

Processing took a complex programming language, Java, and “wrapped” it in a simpler approach. The goal was to help people learn by creating collections of programs – a kind of sketchbook of graphical programs for exploring ideas. The Arduino IDE and its markup continues the metaphor of a sketchbook of physical programs and devices.

The board needs power to operate. This can be done by either plugging in via USB, an AC-to-DC adapter (wall-wart) or a battery. You don’t necessarily need a computer to run the Arduino – it can run by itself depending on what you want to do. Currently, when using a battery or adapter, the recommended power range is 7 to 12 volts. If you overload your board, the Arduino has a fuse built into it to protect your computer. Additionally, it’s common for USB ports to offer some protection against unhealthy surges.

To begin, you need:
- Arduino board
- The Arduino IDE downloaded from
- A USB A to B cable (rectangle to square) – depending on your Arduino model

To compile and upload a sketch to your board you need to specify the correct Serial Port and Board from the Tools menu of the IDE.

The IDE launches with many example sketches. Most often, creating a sketch is a matter of hacking the supplied examples.

Arduino Pins

The pins on the Arduino board are tiny slots on the board to which you can connect wires or the “legs” of electronic components. All pins can be used as input (real world to your computer) or output (your computer to real world). The pins are categorised as being Digital or Analogue by default. You can specify what the pins do in your Arduino sketch – all Analogue In pins can be used as digital pins as well.

Digital Pins have 2 states – they’re either on or off. This is good for reading things like light switches or turning on/ off outputs like an LED light. Input digital pins either get power or they don’t. Output digital pins either supply power or they don’t.

Analogue Pins let you read inputs or sensors that have multiple states. For example, you can read an analogue pin to read the level of light in a room or the value of a dimmer switch or potentiometer (pot). Analogue In pins read the level of voltage that makes it through the sensor to the pin. e.g. a Photodiode has more or less voltage based on the level of light. An Arduino sketch supplies the voltage as a number between 0-1023 (10 bit resolution).

You’ll notice there are no “Analogue Out” pins. The board can’t output different levels of power by itself.

Six of the digital pins can be used in a special mode called PWM or pulse wavelength moderation. If you have an electronic component like an LED it really only has 2 states – “on” or “off”. Also, the Arduino board can only output “on” or “off” – it is a digital component after all.  Normally, if you want to brighten or darken a light you would limit the amount of power going to it. Often “limiting” the amount of power is wasteful. Also, if you have too little power with an LED it stops lighting up instead of dimming. We get around this by using PWM – a way of turning something on and off so quickly it looks like it’s brighter or darker. PWM lets you dim or make things that are only on/off behave more like analogue things – you use 2-states so quickly they appear to be multiple states.

Floating? The Digital Pins are incredibly sensitive and they are constantly looking for a HIGH (5V) or LOW (0V) signal. They can easily pick up interference from environmental noise – such as charges in the air. This causes the circuit to vary between 0 and 5v. This is called floating and can cause simple Digital Input pins to behave in seemingly random ways. Because this is such a common issue, the Arduino has special component that reduces the amount of noise called a pullup resistor. A Pull-up resistors lets you change your circuit so instead of floating, the circuit is only ever HIGH or LOW. Unfortunately, a pull-up resistor causes your circuit to invert – on becomes off. On the Arduino Uno R3, any digital pins that you set to INPUT and give a value of HIGH automatically use a built in pullup resistor (try not to use pin 13 for this – it’s got some extra functionality that might cause issues).

pinMode(pin, INPUT);           // set pin to input
digitalWrite(pin, HIGH);       // turn on pullup resistors

Programming in the Arduino IDE

The documentation for programming on the Arduino is comprehensive and helpful. Here are some highlights:

Block comments are wrapped in /* and */. Single line comments are preceded by //

Declare global (access from anywhere in the sketch) scoped variables in the beginning of your sketch. A variable is a word that is used to set or retrieve a piece of data. A declaration is comprised of a name, type and value.
int pin = 13;
This creates a variable named “pin” of the type integer with the value of 13.

Perform the same actions repeatedly by declaring a function that consists of a type, name, parameters, opening and closing curly braces and a return value that matches the type.
var a = newValue(3);
int newValue(int x){
int offset = 5;
return offset*x;

The setup function is run once when the board is powered up or reset. It’s a great place to declare how pins will be used and set initial values. Setup should always be included in a sketch.
void setup() {
pinMode(13, OUTPUT);

The “loop” function is run repeatedly as long as the board is functioning properly.
void loop(){
digitalWrite(led, HIGH);
digitalWrite(led, LOW);
delay(1000); }

Serial Communications

You can send text messages, just like SMS, between your arduino and your computer. This is an easy way to have the arduino control a program or vice versa. Many programming/ scripting options let us communicate with the Arduino via Serial, such as Python, Java, Processing, NodeJS, AS3 etc. We can even do this from the command prompt of most Operating Systems:
mode COM13 BAUD=9600 PARITY=n DATA=8
echo hello arduino > COM13
demo% export PORT=/dev/tty.usbserial-A3000Xv0
demo% stty -f $PORT 9600 raw -parenb -parodd cs8 -hupcl -cstopb clocal
demo% printf “1″ > $PORT

To add Serial communication functionality to your sketch you must initialise the serial communications and then either listen for or send data. Whenver you use Serial communications you specify the speed at which you want to communicate.
void setup(){
//Initialise serial communications
//Print a message
Serial.println(“Test Serial Communications”);

Example Project

The following device and sketch lets you control the brightness of an LED using a 10k pot (knob) and make the led flash by tapping the tact switch

- Arduino, connection cable, computer
- 10 kOhm Potentiometer (knob)
- 220 Ohm Resistor
- Tact Switch
- White LED
- Bread board
- Jumper cables


1. Connect the components as illustrated above
2. Upload the sketch supplied below
3. Turn the dial to change the brightness of the LED or tap the tact switch to change the speed that the LED flashes at