mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead (8192) /home/usercont/public_html/ (21)
preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead (8192) /home/usercont/public_html/ (96)
Michal Tomczyk's homepage

Do awesome things.

Connect the dots between creativity, work and imagination

Hello everyone!

Posted on October 22, 2012 by Michał Tomczyk

   My homepage v5 was launched. It is truly an amazing fact if I take into account that I paid for the domain name three times without any effect in coding new web page. Furthermore, this is an experimental project for my new Aquila CMS 3.0 which is based on my new Aquila MVC Framework 2.0 (by the way, it sounds quite funny: my new homepage 5.0 based on my new CMS 3.0 based on my new MVC Framework 2.0). Everything is brand new.



Latest posts

Hello everyone!



about me

who am I and what I'm eating for breakfast

About me

Last updated on October 22, 2012 by Michał Tomczyk

Hello, my name is Michał Tomczyk, i am creative software developer and designer from Poznan, Poland. I am Computer Science student at Poznan University of Technology. I started my programming passion at the age of 12 and continue enjoying for now.

Interests and hobbies

  • Programming, solving algorithmic problems
  • Playing guitar, listening to rock, jazz and classical music
  • Microcontrollers programming and embedded systems
  • Extreme mountain biking and unicycle riding
  • Digital photography
  • Web design

Feel free to leave a message


projects and other cool stuff

mtt's Awesome Commander

Last updated on October 22, 2012 by Michal Tomczyk

mttAC is a line follower robot having many features that go beyond the typical line follower. The main objective of the design was to develop interesting functionalities to enrich the software and adding a large number of additional pins to allow for attaching additional peripherals (such as GPS, sensors for obstacles).


The entire structure is based on steel elements. It is rigid and sturdy, but weighs quite a lot - the robot weight is about 600g. Drive a pair of identical motors with 10:1 gearbox, which control the robot's direction of travel. The wheels are coated with plastic foam, which significantly robot slides along the route. Soon will be converted into rubber to increase grip.


The electronic components are arranged on three separate boards: the main board with microcontroller, sensors and control panel that contains the display, four buttons and the Infrared receiver. ATmega162 microcontroller clocked at 16MHz in TQFP44 case is the heart of the project. Main board also contains a 7805 stabilizer, L298N motor driver and a lot of extra pins allow the robot to include other elements, such as a GPS receiver. For the detection route an 8 CNY70 transoptors are used. Whole thing is powered by LiPoly 11.1V 2200mAh 3C battery. The total cost of mechanical and electronic components is about $50


Software was the most interesting part of the development work, the icing on the cake. It was made in C language using AVR Studio 4 environment. With a large amount of computing power I was able to implement a lot of interesting features. Steering algorithm is based on the PID controller. The problem however was the RAM, which sometimes definitely lacking, which is why the code is optimized for maximum RAM saving.
One of the most important functions is convenient menu displayed on the LCD and controlled by four buttons. It has been divided into two parts:

  1. Robot programming menu that allows you to set 13 different parameters without connecting to a PC. These include, for example:
    • Proportional factor Kp
    • Derivative factor Kd
    • Integrating factor Ki
    • The sensitivity of each sensor pair
    • The base speed of the robot
    • The speed of the robot on straight lines
    • The dynamics of steering
    • The dynamics of turning
  2. Menu for testing motors, sensors, buttons, display and Infrared sensor.

Is has also useful debugging mode, in which the robot does not move, and only displays on the LCD engine speed, which would be applied to the current position of the robot on the road.