I started the project called "M-Blocks" on April 05 and the first phase was completed on Dec 06. Later I started another project and did not have time to continue the development of the M-Blocks.
Here I would like to share the design, construction and coding of M-Blocks. But today is 26.4.2008. I have to recall my memory to fill out the content. I hope to make it as accuracy as possible and the content will be revisited if i found it is incorrect. Sorry for that.
What is M-Blocks? Look at the following notebooks. I think only me can understand what it means?
M-Blocks are modules which can be stacked together to perform a system for mobile robot.
For the first phase. I designed:
1. Controller Module (CM)
2. Motor Module (MM)
3. Servo Module (SM)
4. Radio Module (RM)
5. Bluetooth Module (BM)
All the modules are connected via I2C bus and they all can be debugged through serial port individually (UART).
Each module have a atmega8, atmega168 or atmega32 for the mcu.
| --- BM ( Serial )
| --- RM ( PPM )
|
CM MM SM
| | |
------------------------------------------------- I2C bus
I designed the schematic and boards in Eagle and write C code in gcc-avr.




Schematic and circuit board for Servo Module.

The printed PCB. I use toner transfer method to make the double sided PCB. I use the following type of paper. It called "Glossy Photo Paper".

The steps are as same as that in the following video.
http://www.youtube.com/watch?v=urv6jArKp6M&feature=related
Each PCB have top and bottom print out from the glossy photo paper. And one bottom layer from transparent. Totally three print out. The transparent print out is used for alignment purpose.

Alignment of the top and bottom layers to make double sided PCB.

PCB Etching. I use
Ferric chloride (FeCl). It is very dirty but can be reused.

Then drill holes.

The completed PCB.

Put in components , compete soldering and test the circuit board.
This is the Sensor Module. The mcu is either atmega8 or atmega168.

This is the another Controller Module. I created the first Controller Module with atmega8. But I found out there is not enough space to coding the "Brain" of the robot. Then, I created another Controller Module with atmega32 which provide more space (32 Kbytes) for coding.

M-Blocks Modules completed.

Stacks of M-Blocks


Next. I will show the application of the M-Blocks.
NewBe 2008-10-15 21:26
iRobot 2008-05-01 23:54
The M-Blocks is great ideas and Very good work!!
iRobot 2008-05-01 16:14
Your M-blocks is amazing.
Its just like stacking the lego brick.
Look forward to your detail explanation. ^^)!
M-Blocks2008-05-01 21:13
ayu 2008-04-28 17:20
clcheung 2008-04-27 13:04
Hi H-blocks,
I am afraid my wife will not allow me to keep this tank at home
.
What kind of paper are you using for the toner transfer method ? Is it easy to get in Hong Kong ?
Would you discuss more about the bluetooth modules in the future ?
M-Blocks2008-04-27 20:33
I use Canon GP-401. It called "Glossy Photo Paper" or "影像寫真光澤紙". You can buy it from Wan Chai 298. I amended the photo cover of the paper in this blog. For your reference.
About the bluetooth modules, it is just a wireless serial port. I can control the robot from terminal of my PC without a wire link up. You can buy the module from http://www.sparkfun.com.
clcheung 2008-04-27 08:54
Hi M-Blocks,
Excellent design. Your PCB Etching tank is interesting ! Looking forward to your sharings.
M-Blocks2008-04-27 11:27
Here is th equipment list:
1. 500ml Water Tank from Japan Home
These items were bought from Aquarium shop:
2. Aquarium Heater
3. Air-Stone (氣石)
4. Tubes
5. Fish bubble pump
I am quite satisfy with the Etching tank. It can etch PCB in 10 minutes and etching result is good. But I throw away the tank when I was moving house. It is VERY dirty.
ayu 2008-04-27 08:20
Wow,
Cool,
Can you write or read Chinese,my English is very poor.
Thanks.
M-Blocks2008-04-27 11:30