Delta Robot Open Source Project


This video shows how the robot operates acting  as a  pick and place Machine.

In this tutorial we will be making a pick and place Machine as this is the most common use for a delta Robot in the industry besides 3d printing. This project took me a bit of time to perfect and was very challenging, it involves:

  • Mechanical design and feasibility check
  • Prototyping and making of the mechanical structure
  • Electrical wiring
  • Software and graphical user interface development
  • Implementing of computer vision for an automated robot (still need your help in this part)

The Mechanical Design :

Before I started making the final robot (third version)I designed it on fusion 360 and here’s the 3d Model, Plans and overview:

For the plans it would be more accurate to  get the dimensions from the 3D Model Downloadable Here from my fusion HUB.

you also can download all the needed plans in PDF :

 Mechanical Assembly:

these are the stl file for the End effector and the rod supports downloadable on my thingiverse  : Link

Start by 3d printing the rod connection and the end effector. After that use wood or steel for the base I recommend its CNC cut for the precision as well as you should for the arms I made them from alucobond the material used for store fronts it’s made from rubber sandwiched between two thin aluminum sheet 3mm thick.

Next we have to work on the L shaped steel to mount the steppers, cut to 100mm and holes drilled to mount the steppers(hint: you can make the holes wider to be able to tension the belt )

Then the threaded 6 mm Ø  rods ,for the forearms connection 400mm length should be cut then threaded or hot glued to the ball joint I used this jig to ensure they all have the same length it is crucial for the robot to be parallel.

Finally the 12 mm Ø rods should be cut to about 130mm in length to be used for the pivot point of the robot connecting the 50mm Ø pulley.

Now that all the parts are ready you can start assembling everything which is straightforward as shown in the pictures keep in mind you need some sort of support like the pink one I used to be able to hold everything, better than what I did in the part2 video =D.


from minute 5 i talk about the electronics

The main thing we need to do is set up GRBL by downloading/cloning it from its Github repository I used the 0.9 version but you can update to 1.1 (Link: Add the library to arduino libraries folder and upload it to your arduino.

Now that GRBL is on our arduino connect it, open the serial monitor and change the default values as shown in the picture to match your robot configuration:

I used 50mm and 25mm pulley => 50/25 =1/2 reduction and 1/16th step resolution so 1° angle is 18 steps/°

Now the robot is ready to receive gcode commands:

M3 & M4 ⇒ activate / deactivate Vacuum

X10  ⇒ move stepper X to 10°

X10Y20Z-30.6  ⇒ move stepper X to 10° & Y to 20° and Z to -30.6°

G4P2  ⇒ Wait for two seconds (delay)

At this point with any gcode sender you can make it repeat preconfigured tasks like picking & placing.

download demo gcode demo.txt that you can stream to the robot.

GUI and Image Processing:


To be able to follow me on this you need to watch my video explaining the GUI, going through bits of the code & the interface starting from minute 8:30 :

The GUI is made with Visual Studio 2017 free Community version, I tweaked the code from for the kinematics calculations to determine its position. The EmguCV library for image processing and simple math to move the end effector to the position of bottle caps to pick them and place them is predefined position.

You can download the windows application to test with the robot from my github repository or all of the source code and help me build up on it as it needs more work and debugging. Visit it and try to solve the problems with me or give new ideas recommend it to people that can help. I ask for your contribution on the code and to support me in any way you can.

Now I thank you for checking this awesome project and stay tuned for more.

Follow me on:

WebSite ►

Twitter ►

Facebook ►

Instagram ►


Deltabot Sorting Machine Preparation

Deltabot Sorting Machine

Introductory Research


  1. Background :

Late this year I bought a delta 3d printer. I was fascinated by the design and mechanism, how it moves so dynamically by actuating its three accelerates and decelerates quickly maintaining the accuracy of the printing head position.

It made me think to study it and why not make my own delta robot. The occasion came up in this year’s project, I proposed the idea to my team and they liked it.

So we intend to make a deltabot with a different purpose than 3d printing, a pick and place machine sorting items according to different characteristics (color, weight…..)

2. The Delta Mechanism :

A delta mechanism is composed of three parts:

  1. The BASE:

A triangular shaped platform which houses the actuators in our case we chose stepper motors for their accuracy and repeatability, because all the weight resides in the base the arms of the robot can be very light reducing there inertia so they can accelerate very fast in an accurate way.

  1. The End-Effector:

A smaller triangular shaped platform which translates in the XYZ axis but stays parallel to the base platform, it also houses a suction device or a smell actuated arm to pick and drop the sorted items.

  1. The Arms:

Three symmetrical arms that move independently, Composed of an arm that is actuated from the base, a parallelogram acting as the forearm which is the connected to the end effector all its joints are ball joints. The parallelogram locks the end effector platform parallel to the base which is the difference between a delta bot and a Stewart platform and the ball joints give the end-effector the 3 Degrees of freedom DOF to move in the XYZ planes.

  1. Actuation Type Choice:

There is two types of actuation for these three arms either linear or revolute, common 3D printers use linear actuation, and industrial deltabot used for pick & place use revolute actuation. I chose the revolute actuation because it’s easier to make with minimal mechanical items and also cheaper as linear rods or wheels on aluminum profiles tend to be more expensive to buy than to directly drive the arms from the actuator.

3. Motion Study:

Only by rotating first part of the arms we are able to change the position of the end effector platform as shown in the figure below,


Input 3 rotations è output 3 translations on the X Y and Z axis.


Inverse kinematics was applied to determine the output angle of each servo for a desired position of the effector (xg,yg,zg). Each leg was solved individually. Cylindrical polar coordinates are used to take advantage of the circular symmetry. Each leg is projected into a 2D plane then basic geometry was used to determine the final servo output angle.

4. Design and Parts List

1. Mechanical Parts:
We will be needing a strong frame to support the weight of the motors and the base it needs to rigid and heavy to eliminate all the vibration when the arms are moving quickly so we can either use steel or aluminum profiles to make it.

For the Base and the end effector an acrylic (plastic) or a wooden board can be used

For the upper arm 3d printing the part can be easier as it’ll have many mounting points one side for the motor and the other side to connect the ball joint, if we don’t have access to a 3d printer we will be using acrylic.

For the parallelogram we need small rods need to be very light and 4 ball joints each.

The ball joint problem:
It may be difficult to find small ball joints (embout a rotule) on the market so we are not lucky we can make our own in a very clever way by combining two perpendicular pivot axes on the X and Y using 4 ball bearings.

The end effector will be equipped with an actuator to hold the items were picking preferably it’s a suction module but we can use a servo actuated gripper.

2. Electronics Components:

• As actuators we can use either servo motors or steppers I prefer steppers as they are more accurate in both position and acceleration, we need three in total
• If we are using steppers drivers are needed (DRV8825 or A4988)
• A microcontroller (an arduino Uno or Mega)
• Wires
• A color sensor
• Weight sensor

Essential parts List Proposal:

3 Stepper Motors NEMA17   Arm Actuator
3 A4988 3 Stepper Motor Driver
1 Arduino UNO Microcontroller board
12 Ball Joints  Mechanical joint linkage
1 TCS34725 Color sensor 1 Color sensor

I modeled the design on Fusion 360 and exported these renderings :

TunMaker at SOMEF

First of all i need to thank SOMEF for this opportunity and special thanks to my Supervisor Med Amine Chibani,Also all the members of the development & test team


As a student engineer in Electro-Mechanics I had the opportunity for an internship at SOMEF which is the leader company in its field of business here in Tunisia, with products that varies from simple home switches to home automation and smart house implementation it presented for me a company that I need to visit and a chance to widen my professional experience.
So I applied and they accepted me in the department of development and testing, not going to go in all the details I just want to tell you about my project so here we go.

The Internship

Main task: Design and manufacture of an instantaneous current measurement module, able to visualize the values on the computer in real time

With my supervisor we detailed what the project was and its functionalities :

The module needs to be able to measure the current up to 5 A we chose the IC ACS712 for that,an LCD-1602 to display the values everything will be controlled by an ARDUINO-UNO, using its serial port we will relay the values and print them in real time on an excel-sheet.

My first challenge was to read the Data Sheet of the ACS712 to interpret the output signal according to the passing current, after finding the formula I had to write and test the program on the arduino and display it on LCD.
The Second Challenge was to find a reliable solution to visualize and save these values on Microsoft-Excel in order to draw the curve. For that I found PLX-DAQ which is a software add-in of the Parallax Data Acquisition Tool (PLX-DAQ) for Microsoft Excel Acquires up to 26 channels of data from a microcontroller and places them in the columns as soon as they arrive. PLX-DAQ provides easy analysis of spreadsheets of collected data.

After testing the features separately from reading ,  displaying on an LCD and the real-time acquisition of the values. All that remains was writing the program.

For the circuits he asked me to make a shield housing the LCD screen for the arduino and input for the measuring circuit. The second circuit had one power input and three USB outputs with the ACS712 in the middle of it to measure the passing current.
To make the circuits I used Autodesk EAGLE here’s some pictures:

And I used my CNC to make the PCB’s and I had an acceptable result.


Now that circuits are made I needed a box for them so I made one using Autodesk fusion 360 for modelling and 3D printed them on my KOSSEL DELTA

And here’s the project Done :

DIY Mini Arduino Plotter

 Mini Arduino Plotter


We Made this plotter as a school project and since i learned a lot from my previous one this one came out perfect.

this plotter uses the same circuit as the previous one which you can read about and watch a complete tutorial in this post :

Second the pen holder mechanism is inspired from this video :


the firmware changed  as i used a servo motor this time is from this GitHub repository:

if you want to learn how to make your own gcode i made a tutorial for it :


and if your lazy like me to make your own gcode here’s a link to find some good cartoon pictures .gcode for your plotter :

Arduino IR remote

Simple Arduino Project : IR Remote


Making an arduino based IR remote is fairly simple thanks to the IR enables us to :

  1. Detect and Read IR Signal
  2. Decode It
  3. Send Ir Signal

which is all we need for an infrared remote as we will be sending a coded message to be able to identify each button.

this project has many applications other than duplicating a TV or radio IR remote but can be used to activate or trigger anything with an IR receiver up to 10 meters away.

Principle :

the IR light that an IR led cant be seeing with a human eye ( you can use a camera to see it) but IR receivers can.the arduino using the PWM function will blink the led at a certain frequency which is picked up by the TSOP Ir receiver which can interpret those bursts of IR light into data.


IR Library Download Link :

the first code i used is the IRrecdemo and IRrecvDumpv2 included in the arduino IR can read the IR signal of remotes and decode it .

IR Emitter code :

#include <IRremote.h>

IRsend irsend;

const int switch1 = 4;
 const int switch2 = 5;
 const int switch3 = 6;
 void setup() {
 pinMode(switch1, INPUT_PULLUP);
 pinMode(switch2, INPUT_PULLUP);
 pinMode(switch3, INPUT_PULLUP);


void loop() {

if (digitalRead(switch1) == LOW){
 irsend.sendNEC(0xE0E020DF, 32);}

if (digitalRead(switch2) == LOW){
 irsend.sendNEC(0xE0E0A05F, 32);}

if (digitalRead(switch3) == LOW){
 irsend.sendNEC(0xE0E0609F, 32);}



IR Receiver code :

#include <IRremote.h> // IR library
 const int RECV_PIN = 11; // TSOP IR Receiver Data PIN

const int switch1 = 2; //Switch or led's to be activated OUTPUTS
 const int switch2 = 3;
 const int switch3 = 4;

IRrecv irrecv(RECV_PIN);
 decode_results results;

void setup() {

 pinMode(switch1, OUTPUT);
 pinMode(switch2, OUTPUT);
 pinMode(switch3, OUTPUT);

void loop() {
 if (irrecv.decode(&results)) { // Receiving IR Signal and decoding it


if (results.value == 0xE0E020DF) {
 digitalWrite(switch1, HIGH);
 digitalWrite(switch1, LOW);
 results.value = 0x00000000;

if (results.value == 0xE0E0A05F) {
 digitalWrite(switch2, HIGH);
 digitalWrite(switch2, LOW);
 results.value = 0x00000000;
 if (results.value == 0xE0E0609F) {
 digitalWrite(switch3, HIGH);
 digitalWrite(switch3, LOW);
 results.value = 0x00000000;



DIY Power Supply


Salvaging parts from computers can be very useful especially the ATX power supply as it can be converted to a lab bench power supply giving us +3.3V  +5V   +12V -12V -5V outputs with lots of power ,mine a 300W unit gives up to 30A on the 5V output which can be very handy when powering big DC motors and other stuff so let’s gather the parts and start making our power supply , forgetting about batteries and cellphone chargers to power our circuits :

The video explains it all about the making watch it :

About The Circuit

What we need?

  • 5x Binding posts (red)
  • 1x Binding post (black)
  • 1x Toggle Switch
  • 1x 3mm Green LED
  •  1x 3mm Red LED
  • 2x 220Ω Resistor for the led’s
  • Dummy Load

Hers an image explaining the color code of the wires of a power supply :


We have to put a dummy load on the supply to keep it stable even when we only draw small amounts of current. Old power supply’s use the most amount of power on the 5v rail so we am going to be connecting the dummy load on the 5v if you have a newer power supply you’ll need to put them on the 12v rail

Assuming the dummy load should draw at least 0.5A.

  1. Here is the calculation if you have most of your power on 5V/3,3V rail:



2. Here is the calculation if you have most of your power on 12V rail:



Conclusion :

  • 5v     10Ω  2.5W
  • 12V   24  6W

The Connections image assuming you have an old Power Supply :


If you have most of your power on the 12V rail then you need to connect a 24Ω resistor to 12V instead of 10Ω to 5V.

My Power Supply Finished

Top 10 Single Board Computers SBC 2016

Top 10 Single Board Computers SBC 2016

SBC or Single Board Computers are Becoming very popular around Makers and developers giving them more flexibility and access to complex projects making here’s a list of top 10 SBC for 2016 :


BeagleBone Green

SBC BeagleBoard Green
SBC BeagleBone Green

 What is SeeedStudio BeagleBone Green?

SeeedStudio BeagleBone Green (BBG) is a joint effort by and Seeed Studio. It is based on the open-source hardware design of BeagleBone Black and developed into this differentiated version. The BBG has included two Grove connectors, making it easier to connect to the large family of Grove sensors. The on-board HDMI is removed to make room for these Grove connectors.


Processor: AM335x 1GHz ARM® Cortex-A8

  • 512MB DDR3 RAM
  • 4GB 8-bit eMMC on-board flash storage
  • 3D graphics accelerator
  • NEON floating-point accelerator
  • 2x PRU 32-bit microcontrollers


  • USB client for power & communications
  • USB host
  • Ethernet
  • 2x 46 pin headers
  • 2x Grove connectors (I2C and UART)

Software Compatibility

  • Debian
  • Android
  • Ubuntu
  • Cloud9 IDE on Node.js w/ BoneScript library
  • plus much more


DragonBoard 410c

SBC DragonBoard
SBC DragonBoard


The DragonBoard™ 410c


is the first development board based on a Qualcomm® Snapdragon™ 400 series processor. It features advanced processing power, Wi-Fi, Bluetooth connectivity, and GPS, all packed into a board the size of a credit card. Based on the 64-bit capable Snapdragon 410 processor, the DragonBoard 410c is designed to support rapid software development, education and prototyping, and is compliant with the 96Boards Consumer Edition specification. All this makes it ideal for enabling embedded computing and Internet of Things (IoT) products, including the next generation of robotics, cameras, medical devices, vending machines, smart buildings, digital signage, casino gaming consoles, and much more.

Feature Highlights

  • OS Support:Android 5.1 (Lollipop) on Linux Kernel 3.10, Linux based on Debian 8.0, and Windows 10 IoT Core
  • CPU:Quad-core ARM® Cortex® A53 at up to 1.2 GHz per core with both 32-bit and 64-bit support
  • Memory/storages:1GB LPDDR3 533MHz / 8GB eMMC 4.5 / SD 3.0 (UHS-I)
  • Graphics:Qualcomm Adreno 306 GPU with support for advanced APIs, including OpenGL ES 3.0, OpenCL, DirectX, and content security
  • Video: 1080p@30fps HD video playback and capture with H.264 (AVC), and 720p playback with H.265 (HEVC)
  • Camera Support:Integrated ISP with support for image sensors up to 13MP
  • Connectivity and Location: 
    • Wi-Fi 802.11 b/g/n 2.4GHz, integrated digital core
    • Bluetooth 4.1, integrated digital core
    • Qualcomm® IZat™ location technology Gen8C
    • On-board Wi-Fi, BT and GPS antenna
  • I/O Interfaces:HDMI Full-size Type A connector, one micro USB (device mode only), two USB 2.0 (host mode only), micro SD card slot
    • Note: Micro USB (device mode) and USB 2.0 (host mode) are mutually exclusive and cannot be operated at the same time
  • Expansion:
    • One 40-pin low speed expansion connector: UART, SPI, I2S, I2C x2, GPIO x12, DC power
    • One 60-pin high speed expansion connector: 4L MIPI-DSI, USB, I2C x2, 2L+4L MIPI-CSI
    • Footprint for one optional 16-pin analog expansion connector for stereo headset/line-out, speaker and analog line-in.
    • The board can be made compatible with Arduino using an add-on mezzanine board

Raspberry Pi 3



SBC Raspberry Pi 3 Model B
SBC Raspberry Pi 3 Model B

The Raspberry Pi 3

is the third generation Raspberry Pi. It replaced the Raspberry Pi 2 Model B in February 2016. Compared to the Raspberry Pi 2 it has:

  • A 1.2GHz 64-bit quad-core ARMv8 CPU
  • 802.11n Wireless LAN
  • Bluetooth 4.1
  • Bluetooth Low Energy (BLE)

Like the Pi 2, it also has:

  • 1GB RAM
  • 4 USB ports
  • 40 GPIO pins
  • Full HDMI port
  • Ethernet port
  • Combined 3.5mm audio jack and composite video
  • Camera interface (CSI)
  • Display interface (DSI)
  • Micro SD card slot (now push-pull rather than push-push)
  • VideoCore IV 3D graphics core

The Raspberry Pi 3 has an identical form factor to the previous Pi 2 (and Pi 1 Model B+) and has complete compatibility with Raspberry Pi 1 and 2.

We recommend the Raspberry Pi 3 Model B for use in schools, or for any general use. Those wishing to embed their Pi in a project may prefer the Pi Zero or Model A+, which are more useful for embedded projects, and projects which require very low power.

Banana Pi



SBC Banana Pi M64
SBC Banana Pi M64

What is Banana Pi M64?

Banana Pi BPI-M64 is a 64-bit quad-core mini single board computer. It features 2GB of RAM and 8GB eMMC. It also has onboard WiFi and BT. On the ports side, the BPI-M64 has 2 USB A 2.0 ports, 1 USB OTG port, 1 HDMI port, 1 audio jack, and lastly a DC power port.
Also being a member of the Banana Pi family, the M64 is a big jump from the octa-core BPI-M3. This is because this Banana Pi BPI is named after its 64-bit SoC. BPI-M4 will be reserved for an upcoming board:p
Banana Pi is an open platform device, it is for anyone who wants to play and build with developer technology instead of simply using consumer technology. Backed by our community, starting a project and building servers is fun and rewarding. We welcome all companies, DIYers, and tech loving people within our community! Together, we can make a difference, we can discover our passions, inspire others, and build a practical project.

Key Features

  • 1.2 Ghz Quad-Core ARM Cortex A53 64-Bit Processor.
  • 2GB DDR3 SDRAM with 733MHz.
  • 8 GB eMMC storage (16,32,64 options available).
  • WiFi (AP6212) & Bluetooth onboard.




SBC Pi Zero
SBC Pi Zero

The Raspberry Pi Zero

is half the size of a Model A+, with twice the utility. A tiny Raspberry Pi that’s affordable enough for any project!

  • 1Ghz, Single-core CPU
  • 512MB RAM
  • Mini HDMI and USB On-The-Go ports
  • Micro USB power
  • HAT-compatible 40-pin header
  • Composite video and reset headers

Nano-Pi 2

SBC NanoPi 2
SBC NanoPi 2

The NanoPi2

is a newly released ARM board by FriendlyARM which advances the NanoPi by featuring Samsung’s S5P4418 Quad Core A9@1.4GHz processor, 1G 32bit DDR3 RAM, rich video and display interfaces and two MicroSD slots. Its Quad Core A9@1.4GHz processor and 1G RAM make Linux and Android booted from a TF card fast and smoothly. Its adoption of the Raspberry Pi’s GPIO pin header makes it compatible with both Raspberry Pi’s external GPIO modules and Arduino’s shield boards. Its two MicroSD slots make it support up to two external TF cards’ storage. Its video and display interfaces include a DVP camera interface, an HDMI interface and an LCD interface which make it work with various popular display devices. The NanoPi2’s on-board AP6212 Wireless and Bluetooth chip supports 802.11 b/g/n, AP mode, BLE 4.0 and HS mode.

On the NanoPi2’s wiki FriendlyARM open sources its schematics, PCB, bootloader, kernel and file systems, and provides plenty of tutorials and code samples.


  • SoC: Samsung S5P 4418 Quad Core Cortex-A9, 1.4G Hz
  • System Memory: 1GB 32bit DDR3 RAM
  • Storage: 2 x Micro SD Slot
  • Connectivity: AP6212 Wireless and Bluetooth, 802.11 b/g/n, AP mode, BLE 4.0, HS mode
  • HDMI: 1 x HDMI 1.4A, Type-A
  • LCD: 0.5 mm spacing 45 pin interface
  • Camera: 0.5mm spacing 24 pin DVP interface
  • GPIO: 40 pin GPIO pin header, compatible with Raspberry Pi’s GPIO pin header
  • Debug Serial Port/UART0: 2.5 mm spacing 4pin interface
  • USB: 1 x USB 2.0 host Type-A; 1 x Micro USB for data transmission and power input
  • OS: Android and Debian
  • PCB: Six-layer
  • Dimension: 75 x 40 mm
  • Weight: 22 g





SBC Ordroid
SBC Ordroid


is a new generation of computing device with more powerful, more energy-efficient hardware and a smaller form factor.
Offering open source support, the board can run various flavors of Linux, including the latest Ubuntu 15.04 and Android 4.4 KitKat and 5.0 Lollipop.
By implementing the eMMC 5.0, USB 3.0 and Gigabit Ethernet interfaces, the ODROID-XU4 boasts amazing data transfer speeds, a feature that is increasingly required to support advanced processing power on ARM devices.
This allows users to truly experience an upgrade in computing, especially with faster booting, web browsing, networking, and 3D games.


* Samsung Exynos5422 Cortex™-A15 2Ghz and Cortex™-A7 Octa core CPUs
* Mali-T628 MP6(OpenGL ES 3.0/2.0/1.1 and OpenCL 1.1 Full profile)
* 2Gbyte LPDDR3 RAM PoP stacked
* eMMC5.0 HS400 Flash Storage
* 2 x USB 3.0 Host, 1 x USB 2.0 Host
* Gigabit Ethernet port
* HDMI 1.4a for display
* Size : 82 x 58 x 22 mm approx.(including cooling fan)

SBC OrDroid Included Fan
SBC OrDroid Included Fan


SBC FireFly
SBC FireFly


There are two versions of this SBC. The $159 standard and the plus version, which runs at $259.

Both boards run on a 1.8Ghz quad-core RK3288 Cortex-A17 and feature the usual on-board peripherals, like Bluetooth, Wi-Fi, HDMI, Ethernet and so forth. However, the standard board comes with 2GB of DDR3 RAM and 16GB of eMMC flash. The extra $100 you will pay for the plus model will bump the RAM up to 4GB and the on-board flash up to 32GB. I am not sure if the expense is worth it. I think you would have to have a very specific need for that extra memory. Also, at these prices, I would really expect to see USB 3.0 ports. Also, after skimming through the firefly forums, it seems that anybody looking to get up and running with an SBC immediately might want to go for something with a better developed community.


Orange Pi


SBC OrangePi
SBC OrangePi


It’s an open-source single-board computer. It can run Android 4.4 , Ubuntu, Debian, Rasberry Pi Image, it uses the AllWinner H3 SoC, and has 1GB DDR3 SDRAM

Other Orange Pi’s Specs :



SBC OrangePi family
SBC OrangePi family

Images and Resources :

List :

BeagleBoard Green :

DragonBoard :

Pi 3 Model B :

Banana Pi :

Pi Zero :

Nano Pi :


FireFly :

Orange Pi :








DIY Speed Ball

Hand-Crafting The Speed Bag:

Handmade Speed Ball
Handmade Speed Bag

This was the perfect summer project for me affordable and with much use. I never owned a speed bag or trained with it in the gym but it is fun and awesome.

Anyway materials used:

– Cheap industrial leather if you can afford quality go for it =)

– Glue

– Heavy string for leather

– Normal string

– One shoe string

– Scissors and needles big and small ones


-As the leather wasn’t thick I didn’t need to put holes in it before stitching

-Choose your colors nicely I went with my theme black and red =)

Let’s Start

DIY Speed Ball Template
DIY Speed Bag Template

Use the template or draw one yourself to mark the pieces were going to cut. We will need 6 of them and for the bottom draw a regular hexagon (six equal sides with six equal angles of 120 degrees between each side).and a rectangle of 8*40 cm which will be the attachment.

Now that all our pieces are ready use scissors to cut them leaving us with 8 pieces in total.

Next thing glue the sides by pairs it’s better to use wood glue but you’ll have to wait longer that’s why I used this type but it is messy and hard to clean.

Next we will start sewing the pieces with a typical two needles saddle stitches leaving a bit on less than 1cm free to join the bottom piece and more on the top for tightening string.

Now we glue the 3 pairs together and we start sewing like before with one left half open leaving enough room so we can put the ball later.

Almost done looks complete but we still have to do a little more touches.

Holding the pieces for stitching like that makes it easier and faster and use those laundry things to attach the pieces while they dry works like a charm

Use normal string to make the loops for the string and I added 3 washers on each side of the opening to protect the leather from the string as I couldn’t find proper ones for leather when I find them I ll change them for the looks and professionalism .

The only thing left now is the piece that will attach the ball to the swivel. I made it a little bit far from the swivel so don’t make the gap too big also the rectangular piece is folded in half making it 4*40 and it is sewed with saddle stitches drawing a rectangle for a strong bond from both sides.

We Are DONE put the ball inside pump air and it looks alive. This is not obligatory but I added bits of fabric in the upper gap to shape the looks.

 Have fun boxing this summer and share the knowledge


Resistor Color Code value ?

How To Read A Resistor Value ?

Reading a resistor value is an essential basic for electronics work and a very easy one. first of all the most common used color code is 4 bands as the value of a resistor is in the 4 colors around it.

4 Colors Resistor Type:

the first two bands or colors represent the resistance value in digitsthe third color or band represent the multiplier which means how many zeros after the two digits,at last the fourth represents the tolerance or accuracy of the resistor the most common is gold which means  ±5%.

Resistor Color Code Table

resistor color code

5 Colors Resistor Type:

In addition the 5 bands type its the same except the first three are the digits and the forth is the multiplier leaving the fifth color band of the resistor to be the tolerance and that’s it for understanding the colors. now the color code is this one

Color 1st digit 2nd digit 3rd digit* Multiplier Tolerance Temp. Coef. Fail Rate
Black 0 0 0 ×100
Brown 1 1 1 ×101 ±1% (F) 100 ppm/K 1%
Red 2 2 2 ×102 ±2% (G) 50 ppm/K 0.1%
Orange 3 3 3 ×103 15 ppm/K 0.01%
Yellow 4 4 4 ×104 25 ppm/K 0.001%
Green 5 5 5 ×105 ±0.5% (D)
Blue 6 6 6 ×106 ±0.25%(C)
Violet 7 7 7 ×107 ±0.1% (B)
Gray 8 8 8 ×108 ±0.05% (A)
White 9 9 9 ×109
Gold ×0.1 ±5% (J)
Silver ×0.01 ±10% (K)
None ±20% (M)


Arduino Plotter the easiest way

Making a Mini Arduino Plotter


In this project I will show you how to turn two old DVD-drives into a mini plotter. This project is simple and easy also presents a good cheap practice if one day you want to make your own CNC machine as this plotter works with the same principle just way more lower the cost and using as much scrap parts as we can we will use the CD tray mechanism instead of a servo motor for the z axismini arduino plotter

What you will need?

2 DVD-drives

3 L293 H-bridges IC

1 Arduino UNO

1 Breadboard and some wires

Hot glue or anything that sticks

Scrap pieces of plastic

USB cable (to power the circuit from the PC)

Screw driver

Needed Software Links :


Getting What We need From The Drives

We will begin by disassembling the DVD-drives to get the stepper motors and the moving carriages grab a screwdriver open the metal case. The electronics inside we won’t be using them. I used the metal casing as the main body the front part of the CD tray is our Z axis SO Don’t BRAKE IT watch Part 1 for detailed instructions.


Preparing The Stepper Motors

After salvaging the parts we need it’s time to prepare the you can see in the video below they are connected with a yellow ribbon cable we cannot use that so we will need to wire new ones to be able to connect them THIS Part is TRICKY do it Carefully and don’t remove the ribbon cable solder the new ones on top of it or you’ll end up braking the motor so be careful not to damage it. Each one of the steppers needs 4 wires, Prepare and cut them to the same length put a tip of solder on top then solder them to the stepper motor.

The Electrical Circuit

As our Steppers are ready we will jump to wiring the circuit but first lets assemble the plotter. I mentioned earlier that we will be using the metal casings as our main body I used screws to attach them perpendicularly to each other then hot glued the two carriages one as X axis and one as Y axis.

Now the Z axis is glued with a piece of plastic to its back to the carriage of the Y axis and like that our plotter is 70% done.

Now Let’s Continue our Wiring use these diagrams to wire the steppers with h-bridges and the Arduino but keep in mind THAT YOU NEED TO IDENTIFY THE STEPPER SEPARATE COILS FIRST OR THEY WONT MOVE like in the video with a multi-meter set on the connection test as each coil goes to a side of the IC  L293D. The z axis has a built in DC motor which connects on a side of the third and last IC.

Connection to the Arduino:

X axis 2, 3, 4, 5

Y axis 6, 7, 8, 9

Z axis 10 11

And of course you can change this in the .ino code if you want

Initial Testing

Before trying our plotter let’s do some testing first to identify problems if there is any hopefully not.

To test  the  Z axis use this code upload it to arduino and it will make the pen go up and then go down:

#define I1 10 // Control pin 1 for motor
#define I2 11//  Control pin 2 for motor
void setup() {
Serial.begin( 9600 );
pinMode(I1, OUTPUT);
pinMode(I2, OUTPUT);
void loop() {
digitalWrite(I1 , LOW);
digitalWrite(I2 , HIGH);
digitalWrite(I2 , LOW);
digitalWrite(I1 , LOW);
Serial.println("Pen up!");
digitalWrite(I2 , LOW);
digitalWrite(I1 , HIGH);
digitalWrite(I2 , LOW);
digitalWrite(I1 , LOW);
Serial.println("Pen down.");


— For the X and Y axis it’s the same test code just change the numbers to 6 7 8 9

#include <Stepper.h>
const int stepsPerRevolution = 20;
Stepper myStepper(stepsPerRevolution, 2, 3, 4, 5);
void setup() {
// set the speed at 60 rpm:
// initialize the serial port:
void loop() {
// step one revolution  in one direction:
// step one revolution in the other direction:



Hopefully everything goes as expected and let’s move to making gcode and preparing the software to start plotting this video includes all the steps USE THE links to download the needed software and follow along. It IS Important to use Inkscape version 0.48.5 or the plugin that saves the files as gcode wont work.


-download and install processing:

-download and install inkscape version(0.48.5 important or the g-code plugin won’t work):

-download gcode plugin for inkscape (the installation note is included):

upload the sketch to arduino Tun_Maker_Mini_Arduino_Plotter.ino

now open gctrl.pde with processing change “COM38” with the usb port of your arduino and your good to go

Tunisian Maker: if you have a problem contact me on the forum or :

youtube :

facebook :