Stack-chan Is a Enjoyable, Open, and Absolutely-Customizable Companion Robotic Platform


Motivation for creating Stack-chan

Over the previous few years, companion/communication robots have tremendously elevated in numbers from all kinds of various firms. Nonetheless, each has a typical problem- they’re all far too reliant on their particular firm’s inner infrastructure to function. This implies an individual may buy one solely to have it develop into a dull paperweight a few years later. As a substitute, consumer Shinya Ishikawa got down to create his personal vendor-independent open platform that anybody may take and modify nonetheless a lot they want.

System overview

To be able to present a excessive stage of customization, Ishikawa had to decide on a microcontroller/module that already featured loads of wired and wi-fi connectivity choices, which led him to go together with the M5Stack Core2. This IoT module us based mostly round an ESP32 that has a pair of Xtensa 32-bit cores clocked at 240MHz, in addition to WiFi and Bluetooth wi-fi networking capabilities. When mixed with an onboard 6-axis IMU, battery, and 2-inch capacitive contact display, the M5Stack is extraordinarily versatile for an internet-connected robotics platform.

Aside from the M5Stack and accompanying enlargement board, the firmware Ishikawa developed (referred to as the Stack-chan framework) makes use of the Moddable SDK for creating highly effective embedded applications in Javascript/Typescript, making it much more approachable for learners.

PCB design and meeting

Stack-chan was meant to exist each by itself and as an add-on companion for preexisting robotics platforms. This premise meant further connectors have been required in order that different microcontrollers, comparable to an Arduino Nano, may “speak” to the M5Stack over UART or I2C. To do that, Ishikawa designed and assembled his personal enlargement board that incorporates two rows of pin headers that the M5Stack may slot into. From right here, its broken-out pins result in JST headers for connecting sensor modules, servo motors, or different boards, in addition to a bigger exterior battery pack.

Constructing a housing

The enclosure for Stack-chan was meant to be tinkered with an expanded in order that different options might be added sooner or later. The bottom model incorporates a big shell that holds the battery pack and a pair of servo motors which can be in a position to each pivot and tilt the robotic to offer the impression of it “trying” someplace. 3D-printed ft are connected to the underside that present a secure platform, and the M5Stack will get slotted into the entrance going through outwards so {that a} face, or one thing else, may be displayed.

Writing the bottom firmware

Writing firmware that was strong sufficient for an illustration whereas additionally being customizable for different customers was a bit powerful initially, however the ensuing program turned out fairly properly. At its core, a number of timers run which set off varied actions comparable to adjusting the gaze of the avatar’s eyes, pivoting the robotic to go searching the room, and ready for a button to be pressed. The default habits additionally consists of a number of sound recordsdata and a text-to-speech driver, however that is merely a small portion of what’s in the end attainable.

Modding and additional customization

As said at first, Stack-chan is a robotics platform devoted to modding, which is why mods are so integral to the firmware. By including a brand new implementation for the onRobotCreated perform, a mod may be made to do practically something, together with however not restricted to exhibiting customized avatars, receiving distant instructions over HTTP, and even utilizing different {hardware} modules. This may be seen in direction of the top of Ishikawa’ video the place he reveals off what different folks have been in a position to make.

For extra details about the Stack-chan mission/platform, you’ll be able to learn Ishikawa’s write-up right here.


Please enter your comment!
Please enter your name here