Sparky - A Tiny Companion
Rubberducking without rubber... or a duck.
A while ago, I wanted to go ahead and build some kind of desktop companion. My idea was to create a little, easy to build companion, that could sit on my desk and provide me some kind of company.
So Sparky was born:
So, it looks like "in a few days" took a more days than I anticipated. Anyways... The main idea behind Sparky was what is usually referred to as rubberducking in programming:
In software engineering, rubber duck debugging (or rubberducking) is a method of debugging code by articulating a problem in spoken or written natural language. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line by line, to the duck.
Source: Wikipedia
Sparky is build from several components:
- An ESP32
- An OLED Display (0.95")
- MPU 6050 (Six-Axis motion tracking)
This combination allows for some neat features, which I all have in my mind but not yet implemented. One thing that is already implemented: Sparky will go to sleep once it does not recognize any activity on the desk. The sensor is really sensitiv and registers typing on the keyboard while Sparky is standing on the desk.
At the moment, Sparky only does this random blinking and looking around, but eventually, I plan to integrate more features, like being able to register touches (there are 3 screws on top - they are wired to the touch input of the ESP32) and register when being picked up. I also would love to see more expressions. I even consider putting everything in a bigger shell by using a bigger OLED Display, so that I can add a loudspeaker and use it as a replacement for my smart home voice assistant (aka Alexa). That might be a project for the winter.