This project has 2 components:
1) A Color Clock
2) A prototype for a creative toolset for professionals that uses Logo as a prorgamming language
The Color Clock is a programmable object that tells time using color. This cryptic clock is part learning device, practical object, and part creative tool. It is meant to incorporate multiple processes in a Fab Lab and to create a compelling object while also exploring the use of the Logo programming language in a creative context. In a sense, the Color Clock is a symbolic object representing time well spent experimenting with digital fabrication and creative code. It customizable and completely fabricated in a Fab Lab.
There is a story to this Fab Academy project. logoTools is a temp name for an idea that I am exploring. It might seem curios to some as to why I am interested in using a "kids" coding language in a Fab Academy context. Logo was developed by Seymour Papert, Wally Feurzeig, and Cynthia Solomon in the 1960's. It grew out of the importance of experimentation in learning. It has an extremely easy point of entry but can grow to be as complex as you like. This philosophy lends itself equally well to the creative practices of many designers and artists who work in Fab Labs. Both Logo programming and Fab Labs have the ability to embolden users with the techical and creative confidence needed to make almost anything. Yes, I want to teach text-based Logo to my students. Yes, I want to use it for my own creative projects. Yes, I think it needs to be revisited as a companion to other popular programming tools.
The concept of a color clock, or cryptic clock, is not new. You will find a lot of interest in cryptic watches and unique time pieces in general when you search online. One example that closely resembles this project is the work of Geekoclock and their Fibonacci Clock Kit. There are also a few examples of web applications mixing time with color.
In terms of technology, there are a many products that have influenced the spirit of this project like the Arduino and its many derivatives but I would say one of the most interesting ones is the BBC Micro:bit. It offers flexibility in its function and it's expandable and small. It is designed for kids but has a lot of hidden potential for professional applications and the cost is extremely reasonable for what it offers.
Another major influence is the PicoCricket Kit developed by Brian Silverman, & Paula Bonta of the Playful Invention Company. Geared more specifically for kids, it is not something I would necessarily have used for professional applications. However, this clever package explores many of the concepts we have been exercising in the Fab Academy. With its inputs and outputs, the PicoCricket Kit encouraged "playful invention" and was a precursor to many other products to follow including LittleBits.
After looking through various Fab Academy projects, I found many examples that are using NeoPixels as am I. Here is a selection of projects that interested me in particular:
---> Empathy Project wih LED's
---> Interactive Scracth & LED's
---> Interactive Scracth & LED's
---> Lego Compatable Programming Bricks
---> Smart Clock
---> Word Watch Clock
This project is inspired by my relationship with Brian Silverman & Artemis Papert. Brian, one half of the Playful Invention Company and Artemis, an artist with a personal connection to the evolution of Logo, were working on a Color Clock. A while back, they visited me after work in the LCC Fab Lab with a breadboard version and wanted to prototype some ideas on how to package it. It was built around the Adafruit 24 5050 RGB NeoPixel ring, an Adafruit Metro Mini board, and a Chronodot Real Time Clock. It is programmed using microLogo which is a flavor of Logo that Brian Silverman has been working on. This Color Clock breaks up an array of 24 pixels and divides them into 4 sets of 6 which translate into a pattern translating into hours and minutes. Unless you spend time watching and comparing to a traditional clock, the only people who can read this are those with the key to the pattern.
I have kept a Color Clock on a breadboard running in my class which has been generating a lot of curiosity from my students. Not only was this a curious interpretation of a practical object, it has potential to be an excellent learning tool that combines, math, programming, creative logic, and digital fabrication. My Fab Academy version of Brian & Artemis' Color Clock has two purposes. One, Build an object that represents a creative combination of Fab Lab processes. Two, prototype a broader set of logoTools that I can use in my creative and professional work.
I met Brian Silverman the same time that I was studying interactive media and design and learning tools like the Arduino, Processing, and Max MSP / Jitter. Brian introduced me to Logo in a way that I have not seen it being used before.
Brian has played an important role in the development of a variety of tools alongside Seymour Papert and Mitchel Resnick at the MIT Media Lab. He knows a variety of languages but often chooses to work in Logo. One of his recent projects include versions of MicroLogo which are being used to help program small satellites. Clearly lots can be done with it. Artemis was telling me about how her father, Seymour Papert, wanted to invent a tool that would be easy enough to teach kids how to program but remain robust and modular enough for professionals who want to use it.
Learning, experimentation, and debugging, are at the root of Logo. I was curious about how this applies to professionals. Why is Logo not being used by more artists and designers? Logo often seems absent from discussions about "what programming language should one learn". Is this a matter of optics or branding? As in, "It's a kids langauge". Or, is in not a practical language for those who want to control motors, lights, and sound? I am fundamentally interested in learning more about how Logo works and to experiment with it. I want to see if it can be a useful tool for me and perhaps other designer / Fab Academy students like me.
The idea behind logoTools is to make devices that leverage the playful accessibility of Logo programming in order to make interesting things that still allow for complex iterations. Much like paint is as useful to a kindergarten student as it is for a professional artist.
I should also point out that Logo is not a replacement for other programming languages. It has strengths and weaknesses like any other tool and I am learning more about this as I pursue this project. However, it seems surprising to me that it is left out of many conversations. It is a high level language but we often get locked on performance factors that do not relate to the intended application. Logo is plenty fast for most things I would ever throw at it. Also, many artists and designers work as Neil puts it, in a "Ready, Fire, Aim" workflow. We learn from our accidents. This is really at the root of how Logo was designed. This is an experiment to see if there is room for Logo in the conversation about worthwhile languages to learn and prototype with in a Fab Lab. The color Clock is just one idea for a broader set of tools aiming to contribute and present an alternative creative coding platform.
The idea for my Color Clock is to build on Artemis and Brian's version but to include as many different processes relating to my Fab Academy assignments as possible. The Color Clock will still use the 24 NeoPixel ring, but will include a custom fabricated circuit, and a casing that will hold the two together. The idea is that the circuit is always left visible. Not only is it interesting, it is also a core element of Fab Lab training. The rest of the clock will include a body and a various elements that illustrate other things learned. I will also try and use scraps from other projects to tie in my interest in circular economies.
NeoPixel 24, Custom milled Color Clock PCB, 3d printed mounting ring
Here are some initial ideas for different processes that are being explored:
---> Laser Cutting - press-fit clock stand
---> 3D printing - pixel ring and PCB holder
---> 3D Milling - wooden clock body
---> Molding & Casting - ProLogo label
---> Vynil Cuttin - potential wiring between the ring and the circuit
---> Embroidery - Custom soft-circuit preset button.
The Color Clock should be made with easily using common materials in the Fab Lab. The most expensive parts will be the electronics. The total cost of the electronics for this 1st version of the Color Clock is around $35 USD if we add USB to serial conversion that will increase to closer around $45. Not cheap! Maybe this is normal for a one-off prototype.
---> Bill of Materials Electronics - Version 1
Here are the most expensive parts. If they can be removed through design we can lower the cost of the board.
---> Neopixel Ring - 24 RGB 5050 /// $13(generic brand) - $18(Adafruit)
---> DS3231 Real Time Clock /// $8.35 USD
I would like to add USB to serial conversion in a later versions.
---> FT232R - FTDi to USB /// $5 USD
Version 1 of the Color Clock circuit
The goal of this project is to encourage "playful invention" in a Fab Lab with Logo as another tool in the tool kit. While this is a personal challenge there is no reason why it can't act as an educational opportunity for others. The prompts would be:
Make a personalized "time-telling" device using microLogo programming language with the logoTools board and share your design.
---> mill a logoTools board or purchase one
---> 3D print the custom Color Clock holder
---> your clock must have 2 preset modes which you can control with a custom input
---> your design must include press fit construction, a vynil cutter, 3D modeling, and a Fab Lab process of your choice. Share your design and post it to the repository.
My Fab Academy version of the Color Clock might look like this but the idea is endlessly customizable.
The future of this project includes building robust yet simple boards that can interface with other kits and readily available hardware. Inputs, and Outputs,that can be networked together to make large scale professional installations with Logo as the language of choice. Using a Raspberry Pi, we should be able to control an array of LED matrices, servos, or steppers and interface with computers for more processing and creative manipulations.
Here is an example of how a logoTool might look like as a motor. The board would be mounted on a case featuring mounting holes. The board would drive the motor and can be programmed individually or networked as in the example above. The format would be similar to Jake Read's Network Machine Kit project but conditioned to work with Logo:
To effectively evaluate this project, the following questions require attention:---> How customizeable is this idea?
---> What differentiates Logo syntax from Arduino?
---> What are the processing speeds of the ProLogo Board running the Color Clock?
---> How does this compare to an Arduino?
---> How does this compare to a Fab Academy board with a 20Mhz external clock?
---> How does this relate to the kinds of inputs and outputs being used?
---> What are Logo's limitations?
With some research into the above questions, we should be able to verify if Logo offers some advantages to other, more common, alternatives.