g[ilber]t.de

This is Sparky. A pretty dumb, but kinda cute desktop companion.

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:

Again, still Sparky. Thanks to this video, you now know how it looks.

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:

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.