First Steps

A project log for Visual Robotics Platform

A low-cost STM32 board with motor controllers created along with visual programming and control software for use in education.

Joshua GraumanJoshua Grauman 06/02/2018 at 23:570 Comments

As I saw the need for an open and extensible robotics system that could address the needs I saw, I began looking for what systems were out there to address the various needs. I knew I would need to start with a solid chip at the heart of the platform, one that had great compiler and tools support and plenty of libraries to make extending the system easy. An obvious candidate could be an AVR chip. With Arduino built on top of it, there are very many libraries and support for various free compilers and build environments. But ideally I wanted something more powerful and extensive, without skyrocketing costs. Starting to look into various embedded ARM chips I came across the mbed platform. After buying a couple of evaluation boards, I came across the STM32 nucleo boards (specifically the STM32F411 Nucleo board). At only around $12 per board, the cost wasn't prohibitive, and the capabilities on the chip allow far more extensibility than any 8-bit AVR's. The board simultaneously allows 7 digital pins (with interrupt capability), 12 analog in pins, 16 PWM pins, 2 serial ports, an I2C port, and an SPI port to be used! 

So I bought a STM32F411 Nucleo board and started learning about the mbed environment. I was immediately impressed with how easy it is to use, especially to get started with the online compiler. I also saw that you can download the complete mbed environment and libraries to be used with a free C++ compiler (gcc).

So at that point I felt that this was a good system to build a robotics platform off of. But I still needed to have a way to program it visually...