When I was a kid, there were three things I liked above all others: hacking things, hanging out with my friends and secret agents. It turns out that many kids share similar interests, so I designed what I thought was the perfect toy for them: a fully hackable watch that can help kids connect with their friends.
Muchiwachi is a hackable watch, which means that you can change all aspects of the watch, from the outer case all the way to the inner logic. In other words, you can change from how the watch looks to how it behaves. For instance, you could have your watch hands run counterclockwise, or skip minutes that are multiple of 7 or slow down when you are walking fast to simulate relativistic time dilation.
You can change all aspects of Muchiwachi, from the outer case all the way to the inner logic.
Your inventions do not need to be limited to your own watch since the watch is capable of communicating with other similar watches as well as smartphones. For instance, you could broadcast secret messages to other watches around you or estimate the distance from one another to find your friends.
In this website you will find everything you need for creating magic on your wrist.
Muchiwachi is comprised of four distinct elements: the enclosure, the display, the printed circuit board and the wristband.
The enclosure of Muchiwachi protects the programmable core and can be personalized with one of the available skins. [TODO: Here] you will find numerous skins for Muchiwachi, and you will also find the design files in case you want to go further and design your own. Once you have designed a new silicon skin, you can print it on a 3D printer store that handles silicone like this one.
Here you will also find the design files for a Muchiwachi skin that can be opened with Freecad, a free and open source 3D modeling software.
Muchiwachi uses a very low-power display matrix LCD display. LCD technology has great energy efficiency (i.e. battery life), while the dot-matrix configuration can be fully customized for your application. It is possible to display a classic watchface, digital numbers, images, etc.
In order to simplify the task of programming the display, we have ported to Muchiwachi the open source graphic library u8glib. This means that you can program the display using high-level commands like “draw circle”, “write text”, etc.
We have also ported a collection of icons from GNU’s unifont to give Muchiwachi its own mischievous character.
The circuit board
Muchiwachi is based on a programmable micro-controller with a very unique feature: it can connect to phones and other devices using wireless technology (Bluetooth Low Energy, to be more precise). The processor is a powerful ARM Cortex-M3, which has a lot of computational power, which is very useful when you want to encrypt secret messages or to calculate the ratio of a circumference to its diameter.
The printed circuit board (PCB) is the only part of Muchiwachi that cannot be easily customized. This is because we had to use tiny components and surface mount technology in order to pack all the watch functionality into a really small package. But we have open sourced the design so you can learn from the schematics (below) or use it as a basis for your own designs.
The schematic can be opened and edited using KiCad, an open source electronic design automation software.
And you can print yourself Muchiwachi’s bare PCB here.
When you build a Muchiwachi following these instructions you get a fully functional radar watch. But the real fun begins when you get the source code from it and start making it your own.
When you build a Muchiwachi following these instructions you get a fully functional radar watch.
You can get the code from https://www.github.com/muchico/muchiwachi. The following commands will fetch and build the code on a Mac or Linux machine:
git clone firstname.lastname@example.org:muchico/muchiwachi.git cd muchiwachi/firmware ./make_watch.sh
The code for Muchiwachi is written in C, which is the language most commonly used for microcontrollers and embedded systems.
There are different philosophies on how to best teach programming. There are people who recommend starting with a very simple program and gradually increase complexity. Others prefer to dive into a fully functional program and make incremental improvements to different parts of it until the whole is understood. Muchiwachi is designed for the latter: what you get when you check out the code is production quality code, much similar to what you would find in any device like a Fitbit or a Pebble watch. The tutorials you will find on this site will teach you how to make changes to any of the different subsystems: buttons, graphics library, gesture detection, buzzer, backlight and connectivity.
The base Muchiwachi has the following features out of the box:
- Keeps track of time
- Personal avatar
- Find other Muchiwachis
- Send messages to other Muchiwachis
In addition to that, an iPhone can connect to a Muchiwachi and:
- Set the time
- Change the avatar
- Program timed reminders
- Change the watchface
That’s the beauty of it: if you want a Muchiwachi you will have to build it yourself!