Cubemaster 3000

During the recent years, the faculty of electrical engineering and information technology of the Munich Technical University was offering an elective course for the first semester students called AdvEIsor.

The concept is fairly simple:
The students are beging divided in groups of ~10, and each group was assigned to a tutor from a higher semester. The tutors have taken professional softskill seminars before, and during the first semester they teach those softskills to their assigned group. The topics are time management, teamwork, organization, presentation skills and so on.
In parallel, beginning around November, the tutors choose a "challenge" for the groups. It's the same challenge for each group, and the tutors are not allowed to help or give advice. The challenges were to build things like a small robot that balances on two wheels, a creative alarm clock, a graphic plotting robot or a sudoku solving/plotting machine.
The groups have then time until June and a limited budget from the university to complete the task.
In June there is then a big event where the groups present their machines in front of a jury consisting of mostly professors and teaching assistants who elect the winning team.

To cut a long story short: in fall 2010 we were 13 guys who just started their studies. Three of us had some prior electronics experience. We were young and naive. The university gave us and the seven other teams each 500€ to build a robot that solves a Rubik's Cube.

Code and schematics are available on wrtlprnft's git repository

Credits go to wrtlprnft (the mastermind who did most of the code), Simon (who wrote the rest of the code), Max (the craftsman) and Henry (without whose social skills we wouldn't have won this challenge)

Here's the story. And pictures. And movies.


The partially populated PCBs: Mainboard and driver for the stepper motors (DRV8811)
Testing the stepper drivers
Debugging the RAM
We decided to kick the RAM later on and replace the intended Color-TFT-Display by a simple monochrome LCD.
The assembly.
Note the cellphone camera.
The Mainboard.
Mainboard, user interface and AVR JTAG interface
things start getting messy...
We tried to initialize the stepper motors with reed switches and magnets glued to the arms. We replaced them by an optical detection system later.
This was one of my affairs. Original sovjet VFDs.
Homemade PCBs for the VFD-array and the LED drivers.
The VFDs show the running clock when the robot is solving as well as the number of solved cubes.
'nuff said ;)
The PSU. 24V+5V.
we needed more power on the 5V rail for the servo motors, so we build a linear regulator. Turned out that tantalum capacitors do have a polarity.
The LED driver. Should be bright enough.
Actually, no one should see this...
Linear bearing. Sponsored by Precom Europe. Thanks!
The group on the right was the group we were most afraid of, but they fried stuff just a few hours before the presentation.
Close-up of the mechanics. You can see the reed-switches on top of each motor.
The motto.
on stage.
Last-Minute software fix
We made it.
At that point I haven't slept for the last 40h and started to actually slightly hallucinate.
One of our sponsors invited us to the Motek 2011 trade fair in Stuttgart.
Here you can see the improvised heatsinks for our stepper drivers.
Here you can see the new optical reference position sensors on the motor axes.
I don't remember the name of the company that had their booth next to ours, but they had a 3D-Printer and were so kind to print us some new arms! They worked like a charm!
A partner of Precom, Stamhuis, invited us to the Precisiebeurs trade fair to Veldthoven. This was a very awesome trip!
After the Motek we implemented a flowchart, so we can explain the states of the robot more easily.
Can you see the Q-tips we taped to the cover? We used them to keep our camera lens clean.
400 solved cubes so far. Time for a beer.
Nerds on tour.


The mechanics in detail


A nice solve in Veldthoven


Of course, we can also make music with our stepper motors ;)