Adroid - the Open S.T.E.A.M. unified robot platform

Started by Christo Radev, July 16, 2024, 06:35:32 PM

Previous topic - Next topic

Christo Radev

Hi to All,

After the zero interest to my latest community useful (in my opinion) project MEM System, announced here as Multichannel Home Electricity Monitoring System I have decided to put it on pause and to start the revolved in my mind for some time project for unified robot platform based on latest technology achievements and attractive enough to be interesting for any one from a little child to the notable scientist or professional.

The first stage on that way was my investigation on some MCUs capable to be used for lower-level robot control, described in my notes Unified Multicore Low Power IoT Platform. After analyzing plenty of representatives mainly from the low power and low budget MCUs I finished with conclusion that the most promising are Raspberry RP2040 and Espressif ESP32-S3 MCUs. They both have 32 bits dual core CPU. RP2040 has impressive PIO featuring possibility to implement programable hardware like functionality. Beside other useful features ESP32-S3 has extremely useful dual mode (AP & STA) WiFi. They both manifest superb performances to control TFT displays via SPI while serving web services with web sockets support even video streaming. On the other hand, they can be programmed by both Arduino IDE and professional C/C++ SDK. There is a plenty of useful and open-source libraries written to support variety of interfaces and devices.

Meanwhile, I have extended my investigation on powerful multicore SoC platforms, capable to run operating systems like ROS 2 (Robot Operating System) and Linux. In my range of vision were also plenty of open hardware and software robot project and some (useful in my opinion) scientific articles. The results were described in my startup design notes Own implementation of open-source intelligent robot .

The big impact was given me by the try to buy a good (in my opinion) robot for my granddaughter which led to a frustration even after increasing the budget. The idea was my present to be lovely toy in the beginning and useful educational tool later on. Following these requirements, I was flung in the contemporary field of S.T.E.M. education and its extended derivative S.T.E.A.M. There I discovered that in the big expectations for effective and modern education methodology, the big are only prices loading parents, schools and governments budgets. The final result was my unsatisfaction buying Artie 3000™ The Coding Robot and decision to start:



After months hard work the project is still in the very beginning but the proof of the concept is a fact. The basic mechanics and electronics of the first three prototypes are on the table. They include RPi 5, RPI Pico, and/or ESP32-S3 embedded boards, fast NVMe SSD with big capacity, 7", 5" or 3.2" TFT HDMI or SPI display respectively, dual high-resolution cameras (extendible up to 5) for stereo and/or panoramic vision, battery powered UPS module, two stepper motors and wheels for main movement, two geared stepper motors and gear for body and head movement, complete set of 3D printed universal fixture details. All this staff can be gathered together in multiply ways, and fitting different requirements, experience and wishes.

First prototypes - basic mechanics and electronics staff:


First prototypes - 3D printing unified details:


First prototypes - Third party components:


It was developed web simulator for experimenting of design configurations



As a software support the project Dual camera, near-real-time, h.264 video streamer from RPi 5 to a bowser was realized as a base for stereo and/or panoramic robot vision. In addition, electronic PTZ (ePTZ) functionality was also developed. The tests show that the video latency is tenths of a second at streaming from 2 cameras. On the other hand, the software projects developed by Van Hunter Adams, lecturer of Electrical Engineering, Cornell University, for stepper motor control using RP2040 PIO was built on RPi 5 running Linux and tested on RPi Pico board and geared stepper motors mounted on the one of the robot prototypes.

And last but not by importance, the software development environments for MCUs based on RP2040 and ESP32 was installed in the Linux OS running on RPi 5 the board. C/C++, Python and JavaScript staff is also installed for development of the applications running in the Linux box. By adding of Gigabit LAN connection, second HDMI desktop monitor, keyboard, mouse and all required interconnection staff the robot will become a real desktop development station.

All the project results like mechanical designs, hardware schematics, software staff, documentation etc. will be kept public and usable by anybody who is interested to use them or develop the platform.

With a hope to find followers
Christo Radev