The previous work with the proof-of-concept is posted here and runs with 32 cores. The badge version of this project is taking shape on this project page and has 64 cores. The project name is a nod to my favorite 8-bit computer, the Commodore 64.
What does it do?
In its simplest form, the badge allows you to draw on the RGB LED matrix "screen" with a magnetic stylus. In this first mode, you are directly interacting with the cores which are acting as static screen RAM. It is that simple but it ends up being very engaging on its own. When I share this with people, this is where I start to hear, "Oh, this is cool. Now I get it." At this point you are only seeing a monochrome drawing mode.
There is another mode of operation that enables a much wider range of interaction. In the second mode, the cores are acting as a touch overlay on the RGB LED screen. The cores are effectively acting as "touch RAM." By refreshing and checking the state of the cores, the whole array comes alive and can sense which core (or cores) are being affected by a magnet at a given moment. By decoupling the cores from the screen RAM, the creative juices can be unleashed. Instead of a monochrome drawing mode, full color drawing can come alive. The core array turns into a mesmerizing magnetic flux detector. I have even implemented a simple game of snake that is fun to play.
Beyond the "core memory + LEDs" party trick, I have several other goals for this project. Here they are, along with the reasoning behind why I think they are valuable:
My aim is to keep the badge clean looking from the front so the focus is entirely on the cores and LEDs themselves. That is, after all, the focal point of this project. Everything will be accessible from a mechanical/electrical/programming perspective which leaves the door open for your creativity to be expressed.
Full Control of the Cores
I made a conscious decision to use a microcontroller to discretely drive the core wiring matrix with transistors. This allows you to develop your own control algorithms and have complete control of each wire in the core matrix to really learn about what is happening. I have seen other projects which decouple the addressing logic through hardware which makes it easier to interface with the cores, but the point of this project is to get you as close to the cores as possible. You can choose to abstract the interface as much or as little on the software side.
Hidden [Magnetic] Tricks
In order to open the door even wider to your creativity, and sticking with the spirit of a project which revolves around magnetism, there will be a few more goodies on the backside of the board. I anticipate these items to be:
- Several Hall-Effect switches to act as user assignable hot buttons.
- A reed switch; just 'cause it is magnetic
- Communication ability. I would like the badges to be able to interact with other badges. The obvious choice is with Near Field Magnetic Induction (NFMI). I am not sure how that will be implemented but using a standard audio speaker is my leading concept. Maybe this would be an add on...
- Expansion header conforming to the SAO standard (I2C, 3.3V, 2x GPIO) for the OLED display or magnetic compass or any number of fluxy devices.
- Haptic feedback. Maybe as a dedicated component, a pager motor, or the speaker.
- I wonder if a small speaker could serve multiple purposes: NFMI communication, haptic feedback, audio, ultrasonic communication?
Almost Ready to Use
The product will be delivered as a partially completed kit. Again, to get you closer to the cores, you will have to assemble the cores and wire grid to complete the project. Everything else will be ready to go, including a magnetic stylus and stylus clip. Even batteries! But you will need a soldering pencil and some patience to weave the cores. Probably some decent magnification too!
If you'd like to follow along, all of the development and documentation will take shape in the Core 64 Github...Read more »