Août 22

Robotics 101: Introduction

In the next weeks i am going to present you a robotics, code and electronics tutorial : Robotics 101 !

Course objective :

The main goal of this tutorial is to give you an easy and plug and play support in order to learn and practice the basics of electronics, code and robotics.

Development board :

stm32f407 discovery board
Through this tutorial we are going to use a STM32f407Discovery a great 15$ board with an ARM Cortex-M4 processor. There are many easy to use and kinda cheap other board like the arduino in the market, so why use this one ? The answer is quite simple: (even though i am a huge fan of these boards), they are really limited, not powerful, you have very little control over what you do and frankly they are extremely expensive for what they are (168MHz for the STM32F407Discovery (~15$) vs 16MHz for the Arduino Uno (~25$), and so many more GPIOs, ADCs and PWMs).

Another really important point is that ST chips and ARM processors are vastly used in real life and with real applications, whereas most of the other « Makers’s board » are not.
What i really want is you to learn a useful and technologically up-to-date knowledge which can be used for real-life applications. If i may express myself, i find really sad that there are a lot of talented software hackers and very few hardware ones, and through these tutorials i will try to give you real electrical engineering knowledge (as it is my current major in college); being an amateur is not a fatality 🙂
Summing up: this board is extremely powerful, cheap and easy to find. This board is good for you.

Code environment :

chibiOs logo
The chosen environment is chibiOS, a real time OS. It has been chosen for the following reasons:

  • It is open source, and open source is good.
  • There are a lot of drivers and abstractions, which means easier to use.
  • It is easy to use once you have understood the key principles.
  • There weren’t any tutorial than convinced me, so i choose to write one.
  • It is the one that will be used in my embed system class next year.

Course structure :

This course is driven by a rather simple objective : learning how to build any robot or embedded system from scratch ! To do so we will build a fully functional robot through the course, and we are going to discover and learn all the key concepts needed to build one. Each part of the robot will be used to introduce new concepts (ex: you will discover and learn PWM to drive the motor, ADC to read from the distance sensor, UART to drive the servomotor and so on…) so that you will (hopefully) be perfectly autonomous at the end of this tutorial.
Other concepts and specifics of chibiOS and general coding will also be explained as we go on the tutorial (how to use a basic Makefile, how to configure your board.h file …)

Now let’s go build some robots !

Note : For those of you totally new to the subject, i will try to give you links where to buy all the electronic components used in this tutorial, since when i began electronics it had me lose a lot of time and energy ;).

Next part here

If you have any comments, ideas for improvement or questions write them in the comments.

Felix, looking forward to build stuff.