What is Arduino ?

The Arduino is an open-source embedded development platform that consists of both hardware and software. The hardware part consists of a microcontroller chip and its operating circuit. It has analog and digital inputs and outputs that connect the Arduino to the physical world.

Arduino Uno. Source: arduino.cc

Arduino Software

The software part consists of an Integrated Development Environment (IDE), bootloader, and a huge set of libraries, an executable program that runs on the PC to create the code and upload to the Arduino, which is then executed by the hardware part. The Arduino’s programming language is based on C++ and is designed so that one can create programs without too deep programming knowledge.

Arduino Sketch

The created program is called “Sketch”. The IDE uploads the sketch via USB port from the development environment into the flash memory of the Arduino’s microcontroller. This USB connection to the hardware part must always be present during the development and testing phase. The data transfer is done as a serial data transfer. At the same time, the connection also serves as an aid for debugging. With the help of a “serial monitor”, the states of the inputs and outputs ports can be monitored. After development, the connection to the development environment can be disconnected and the Arduino can communicate with the real world independently as long as it is connected to the power.

What is Arduino Board ?

The “board” refers to the various versions of the Arduino’s printed circuit boards equipped with components. Different Arduino boards can be selected based on the application. Each board contains different microcontroller, connectors, and interfaces. One of the most popular boards is called Arduino Uno.

Power is supplied either by a separate, external power supply unit or via the connected USB interface. The USB interface can deliver a maximum of 500 mA at 5 Volt voltage. For smaller own developments this kind of power supply is usually sufficient. Besides the power supply just described, the USB interface is also used for communication with the development environment, i.e. for uploading programs (sketches) and reading/sending data via serial monitor.

Read More

Introduction to CNC Machining

CNC stands for “Computer Numerical Control”, a computer-controlled cutting machine which mounts a spindle which is used to cut out different materials. The tool path is automated by means of software containing numerical data.

CNC machine Classification

CNC machines can be classified according to the functionality, number of axes, and control loop:


CNC machines can be classified according to its functionality parts into types: milling, lathes, drilling, plasma cutters, and grinders. CNC milling machines use rotary tool to remove material from the surface of a stationary work piece in order to create slots, shapes, notches, pockets, and grooves,

Number of Axis:

CNC machines can be classified according to the number of control axes into: 2-axis, 2.5-axis, 3-axis, 4-axis, and 5-axis CNC machines. An axis is what the machine operates along/around. A 3-axis CNC machine moves in 3 dimensions (X, Y and Z). It is the most used and cheaper than other which made it typical for hobbyist use. It is used for milling, drilling, cutting, and engraving. It mounts typically a cutting tool or leaser head. Typical applications are Printed Circuit Board (PCB) prototyping, engraving on materials such as woods, acrylics, leathers, and laser-cutting acrylic or woods.

Control loop:

CNC machines can be classified according to the control loop into closed-loop and open-loop.

In closed-loop, the controller sends the motor direction, velocity, and acceleration signal and gets back information about the actual movements, calculate the error (difference between desired and actual) and changes the signal accordingly. Typically, servomotors are used in such high-end machines. Its advantage is precision control, while the disadvantage is the cost.

On the other hand, in open-loop CNC machines, the controller determines the desired motor step and direction signals and sends them to the motor (typically a stepper motor) and no signals are fed-back to the controller about the actual motor step. It’s much cheaper than the closed-loop but less precise.

Read More
error: Content is protected !!