Introduction: My FAN ARM (control Servo With WiFi)

Hello everyone!

Today, I did it my own FAN ARM.

I can control the eagle freely and can turn on and off the FAN. (actually I need to add Fan on the DC motor)

It is controlled by joystick and push button with WiFi.

So, above all, I can control the FAN ARM wherever I am and wherever I want!

Now, I start to talk about the details.

Step 1: Components

The components all come form !

1. WIZwiki-W7500 : as MCU. It is mbed platform

2. Two WizFi250 shield : as communication

3. Motor shield : for DC motor voltage and It needs 5V supply.

4. Joystick shield : It is totally optional. I regret to buy it.. you will know next why I did..

5. Two AX-12A : for the arm. It is serial motor. You need to learn to use it.

I add Link to learn more about the components.



DC motor


AX-12A : You need to install software to set the servo. Please visit Download "Dynamixel Wizard"

Step 2: Concept

This is all about the concept of the instructable.

---------------------------------- Client -------------------------------------------------------------

I use a WiFi(left one in the picture) as UDP Client with joystick & push button.

First, it connects AT.

Then Get the analog and digital data from joystick and push button and send it to UDP Server.


------------------------------------- Server -----------------------------------------------------------

I use a WiFi as AT mode and UDP Server with Servo & DC motor.

It always opens and wait for the data from Client.

Right after receiving data, Servo and DC controlled with UART and PWM.


Step 3: FAN ARM

FAN ARM has two serial Servo motor and one DC motor.

Two servo make angle and DC turn on/off fan. (As I did before, I didn't put a fan)

Controller can control it with WiFi and the communication protocol is UDP.

Step 4: Hardwired

These are hardwired I did.

I know it is so confusing and look hard..

But I know, It is pretty simple If you will find how to wire between WIZwiki-W7500, mbed platform, and WizFi250.

"Controller" is UDP Client and it sends analog data from joystick and digital data from push buttom to UDP Server.

"FAN ARM" , UDP Server, receives the data from "Controller" and control the Servo and DC motor as I want.


I add Link to learn more about WizFi250.


Last Picture is the back of Joystick shield. And I has the reason why I regret it.

I tried to use joystick with 5V with the PCB.

But it did not give me the data I want.

After I wired with 3.3V, I got the right data.

And.. one more thing, you can not use the push button right away. Caz, the PCB doesn't wired with 3.3V

So, I did it by myself.

Step 5: Why UDP ?

I choose UDP, not TCP. TCP has many rules to send data to Server like sync, ack..

But UDP is simple.

Client just send packet. It doesn't matter to check It is going well or Server can receive.

So, usually, It used that does not want buffering but streaming.

I also do not care about losing the data packet. It is not important data.

If it is missed, I can send once again. So, Server can receive it next time.

Picture shows UDP Server and Client.

UDP server opened with as AT mode; WizFi250_AP_Test.

UDP client opened with and endpoint is

Step 6: DEMO Video

Step 7: Open Source

I uploaded two projects, FAN ARM; UDP Server and Controller; UDP Client

You need to download then to each mbed platform

You can understand what mbed is from here