Tag Archives: DIY

IoT Projects Is Now Easier With Bolt IoT Platform

Internet of Things (IoT) is one of the most important technologies these days. It became an essential component of many hardware projects core. And in order to make it easier for developers, Bolt IoT platform appeared as a complete solution for IoT projects.

Bolt is a combination of hardware and cloud service that allow users control their devices and collect data in safe and secure methods. It also can give actionable insights using machine learning algorithms with just some few clicks.

The platform consists of three main components, Bolt hardware module, Bolt cloud, and analytics. The hardware module is a WiFi chip with a built-in 80 MHz 32-bit RISC CPU that operates at 3.3v. It also works as an interface for a set of sensors and actuators through GPIO and UART pins to collect data and react with it.

Bolt Hardware

The next part is Bolt cloud which used mainly for configuring, monitoring, and controlling connected devices. It is a visual interface enables users to setup hardware and prepare the system easily and quickly. In addition, there is a code editor to write and edit codes for the hardware. The special feature is that you can reprogram the system remotely!

Finally, the analysis and monitoring unit provide visualized insights based on machine learning algorithms. The collected data are stored securely on the cloud, and the reports are presented as graphs, charts, or any customized visualization.

Bolt IoT Platform Features

  • A Wifi or a GSM chip
    An easy interface to quickly connect your hardware to cloud over GPIO, UART, and ADC. Also, connects to MODBUS, I2C, and SPI with an additional converter.
  • Robust Communication
    Bolt is equipped with industry standard protocols to ensure a Secure and fast communication of your device data with cloud.
  • Security
    Bolt has built-in safeguards to secure all user data from unwanted third party intrusions and hacks.
  • Machine Learning
    Deploy machine learning algorithms with just a few clicks to detect anomalies as well as predict sensor values.
  • Alerts
    Utilize Bolt’s quick alert system providing invaluable information sent directly to your phone or Email. You can config the contact details and set the threshold.
  • Mobile App Ready
    Customize and control your devices through Mobile apps. Bolt gives you full freedom to design your own mobile app centered around your requirements to monitor and control.
  • Global Infrastructure and Easy Scalability
    Bolt lets you scale from prototype to millions of devices in just a few weeks time.
  • Over the air updates
    Simultaneously program or update all your Bolt powered IoT devices wherever they are. Bolt offers you unparalleled scalability and elasticity to help your business grow.

The scope of applications that may benefit from using Bolt is very wide, including environmental applications, smart cities, electricity management, and much more. Bolt is available for ordering in two packages, the first is for developers and the other is for enterprises. Developers option contains one Bolt unit with three free months of cloud services, and its cost is about $75.

At last, Bolt makers are launching a Kickstarter campaign on the 3rd of November 2017. If you are interested and want to know more about this platform, take a look at the official website and read this detailed features document. Update 6-11-2017 – They achieved the goal of $10,000 USD funding in just 5 hours from launch!

Get Sensor Data From Arduino To Smartphone Via Bluetooth

Hariharan Mathavan at allaboutcircuits.com designed a project on using Bluetooth to communicate with an Arduino. Bluetooth is one of the most popular wireless communication technologies because of its low power consumption, low cost and a light stack but provides a good range. In this project, data from a DHT-11 sensor is collected by an Arduino and then transmitted to a smartphone via Bluetooth.

Required Parts

  • An Arduino. Any model can be used, but all code and schematics in this article will be for the Uno.
  • An Android Smartphone that has Bluetooth.
  • HC-05 Bluetooth Module
  • Android Studio (To develop the required Android app)
  • USB cable for programming and powering the Arduino
  • DHT-11 temperature and humidity sensor

Connecting The Bluetooth Module

To use the HC-05 Bluetooth module, simply connect the VCC to the 5V output on the Arduino, GND to Ground, RX to TX pin of the Arduino, and TX to RX pin of the Arduino. If the module is being used for the first time, you’ll want to change the name, passcode etc. To do this the module should be set to command mode. Connect the Key pin to any pin on the Arduino and set it to high to allow the module to be programmed.

Circuit to connect HC-05 with Arduino
Circuit to connect HC-05 with Arduino

To program the module, a set of commands known as AT commands are used. Here are some of them:

AT Check connection status.
AT+NAME =”ModuleName” Set a name for the device
AT+ADDR Check MAC Address
AT+UART Check Baudrate
AT+UART=”9600″ Sets Baudrate to 9600
AT+PSWD Check Default Passcode
AT+PSWD=”1234″ Sets Passcode to 1234

The Arduino code to send data using Bluetooth module:

//If youre not using a BTBee connect set the pin connected to the KEY pin high
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(4,5); 
void setup() {
 String setName = String("AT+NAME=MyBTBee\r\n"); //Setting name as 'MyBTBee'
 Serial.begin(9600);
 BTSerial.begin(38400);
 BTSerial.print("AT\r\n"); //Check Status
 delay(500);
 while (BTSerial.available()) {
 Serial.write(BTSerial.read());
 }
 BTSerial.print(setName); //Send Command to change the name
 delay(500);
 while (BTSerial.available()) {
 Serial.write(BTSerial.read());
 }}
void loop() {}

Connecting The DHT-11 Sensor

To use the DHT-11, the DHT library by Adafruit is used. Go here to download the library. When the letter “t” is received, the temperature, humidity, and heat index will be transmitted back via Bluetooth.

circuit to connect DHT-11 with Arduino
circuit to connect DHT-11 with Arduino

The code used to read data from the DHT sensor, process it and send it via Bluetooth:

#include "DHT.h"
#define DHTPIN 2 
#define DHTTYPE DHT11 
DHT dht(DHTPIN, DHTTYPE);
void setup() {
 Serial.begin(9600);
 dht.begin();}

void loop()
{ char c; 
if(Serial.available()) 
 { 
 c = Serial.read(); 
 if(c=='t')
 readSensor();
 }}
void readSensor() {
 float h = dht.readHumidity();
 float t = dht.readTemperature();
 if (isnan(h) || isnan(t)) {
 Serial.println("Failed to read from DHT sensor!");
 return;
 }
 float hic = dht.computeHeatIndex(t, h, false);
 Serial.print("Humidity: ");
 Serial.print(h);
 Serial.print(" %\t");
 Serial.print("Temperature: ");
 Serial.print(t);
 Serial.print(" *C ");
 Serial.print("Heat index: ");
 Serial.print(hic);
 Serial.print(" *C ");
}

Developing The Android App

The flow diagram of the Android app is illustrated below,

Flow diagram of the Android app
Flow diagram of the Android app

As this app will be using the onboard Bluetooth adapter, it will have to be mentioned in the Manifest.

uses-permission android:name="android.permission.BLUETOOTH"

Use the following code to test if Bluetooth adapter is present or not,

BluetoothAdapter bluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null) {
Toast.makeText(getApplicationContext(),"Device doesnt Support Bluetooth",Toast.LENGTH_SHORT).show();
}

The following part of the code deals with reading the data,

int byteCount = inputStream.available();
 if(byteCount > 0)
 {
 byte[] rawBytes = new byte[byteCount];
 inputStream.read(rawBytes);
 final String string=new String(rawBytes,"UTF-8");
 handler.post(new Runnable() {
 public void run()
 {
 textView.append(string);
 }
 });
 }

To send data, pass the String to the OutputStream.

outputStream.write(string.getBytes());

The complete source code of the Android application can be downloaded from here.

Testing

Power up the Arduino and turn on the Bluetooth from your mobile. Pair with the HC-05 module by providing the correct passcode – 0000 is the default one. Now, when “t” is sent to the Arduino, it replies with the Temperature, Humidity, and Heat Index.

the application screen
the application screen

Learn Arduino Easily with The Arduino Inventor’s Guide

Are you looking for Arduino tutorials? Already over-whelmed by the guides and videos available on the internet? Sparkfun is making Arduino and electronics easier for you with its new book ” The Arduino Inventor’s Guide”!

First of all, the authors of this book , Brian Huang and Derek Runberg, are both working in the department of Education at SparkFun Electronics. Since they are experienced in electronics and educating engineering in schools, they are working towards making electronics easy and fun.

In fact, this 10-project guide is a project-packed introduction to building and coding with Arduino microcontroller. With each hands-on project, total beginners learn useful electronics and coding skills while building an interactive gadgets. Accordingly, this guide is within the introductory-level educational series introduced by No Starch Press and Sparkfun.

“We wanted to share the magic that happens when you build something interactive with electronics,” says Huang. “The goal is to teach real, valuable hardware skills, one project at a time,” adds Runberg.

Content of the book

  • Introduction
  • Electronics Primer
    101 electronics
  • Project 1: Getting Started with Arduino
    Blinking an LED
  • Project 2: A Stoplight for Your House
    A miniature traffic light
  • Project 3: The Nine-Pixel Animation Machine
    An LED screen that displays animated patterns and shapes
  • Project 4: Reaction Timer
    A fast-paced button-smashing game to test your reflexes
  • Project 5: A Color-Mixing Night-Light
    A light-sensitive, color-changing night-light
  • Project 6: Balance Beam
    A challenging ball-balancing game
  • Project 7: Tiny Desktop Greenhouse
    A temperature-sensing mini greenhouse with an automated fan and vent
  • Project 8: Drawbot, the Robotic Artist
    A motorized robot that you can control
  • Project 9: Drag Race Timer
    A racing timer for toy cars
  • Project 10: Tiny Electric Piano
    A tiny electric piano that you can actually play!
  • Appendix: More Electronics Know-How

Reviews

The Arduino Inventor’s Guide will appeal to the gadget freak as well as those who like to put their own spin on things.” —Microcontroller Tips

“This is probably the best Arduino starter book out there! I highly recommend it for every library and classroom.” —Sequential Tart

To sum up, the book is available for $30 on No Starch Press as a printed book and for $25 as an Ebook. In addition, you can check this page for more insights. Also download Project 2: A Stoplight for Your House, and the sketches, templates, and diagrams used in this book.

Turn Your Fidget Spinner Into A Vision Display

Fidget spinner became a popular toy earlier in 2017. Most of us have one or at least have tried it. Consists of a bearing surrounded by a three-lobed flat structure, it can spin along its axis with a little effort.

Makers and hardware hackers always try to employ different tools to make innovative ideas. Some of those makers hacked a fidget spinner to display custom text while it is rotating. The concept is using a vector of LEDs and turn them on and off at each degree according to the required text. Then, when it rotates very fast our eyes will see the full text as it is displayed together.

At this project on HackadaySean Hodgins created a fidget-shape PCB that fits into the spinner. It consists of an 8-LED vector, a 32-bit microcontroller, an 8-bit shift register, and other electronics parts. It is powered by three 3.6 LiPo cell batteries and can be connected with PC through a micro USB connector.

Component needed for this project:

The total cost is about $20 for all parts, and here is the bill of materials. Also the design of the fidget is available for 3D printing for both the body and the caps. In addition, the microcontroller can be programmed simply with Arduino IDE.

Since this project is fully open source, all resources and files are available for download. The github repository includes the CAD files, firmware code and libraries, PCB design, and some pictures.

Although it is a brilliant project, similar projects had been developed before and had started  funding campaigns. But unfortunately, they weren’t successful and didn’t reach their fund goal.

Finally, if you like this idea you can make it by yourself with the help of this video, which describes how to make it and how it works:

A Compact Camera Using Raspberry Pi A+ And Adafruit TFT Display

PiJuice at instructables.com designed an interesting compact camera project with raspberry pi. Raspberry Pi A+ is used in this project as it is the cheapest and smallest available Raspberry Pi. The real challenge in this kind of portable Pi projects is powering the Raspberry Pi. This issue is solved using PiJuice—an all in one battery module for the Raspberry Pi.

Required Parts

Required parts to make Raspberry Pi compact camera
Required parts to make Raspberry Pi compact camera

Set Up The Raspberry Pi

Download the latest version of the Raspbian image from the Raspberry Pi Website and burn it on your blank SD card. You can use win32DiskImager or your favorite software to get the job done. Now, you need to install the drivers for the TFT screen by running the DIY installer script, explained on the Adafruit page. Connect the TFT to the Raspberry Pi, attach the PiJuice with a charged battery, and switch it on. Your screen now should display boot up messages.

Connect The Camera

Insert the ribbon cable of your camera module properly ensuring that the blue side of the ribbon is facing away from the HDMI port. Now, go to the terminal and type the following command,

sudo raspi-config

Enable the camera in the menu and then reboot the Pi. The camera should work properly after a successful reboot. To test the camera, enter the following command:

raspistill -o pic.jpg

This will take a snap and save it in the /home/pi directory.

Connect A Push Button

You need a push button to simulate a shutter action. Locate the pin 17 on the GPIO breakout on the top of the TFT screen. Now, solder two wires to the terminals of the push button. You can either solder a right angle header to the pin 17 or you can directly solder one wire from push button to that pin. There is a pad labeled WP on the board. It is actually connected to the ground. Solder another wire from the push button to this pad.

Install And Test The PiCam Software

To install the software, the Raspberry Pi must be connected to the internet. Enter the commands given below to download and install PiCam.

sudo apt-get install git-core
sudo mkdir PiCam
cd /PiCam
git clone git://github.com/pijuice/PiCam.git

Once the software has been downloaded, navigate to the PiCam directory using the command:

cd /picam

You can run it by typing the command:

sudo python picam.py

Now, you can take pictures by simply pressing the push button. Once the button is pressed the picture will be taken. Once the captured image gets loaded, your photograph will be displayed.

Taking photograph with Raspberry Pi compact camera
Taking photograph with Raspberry Pi compact camera

Conclusion

Your Raspberry Pi camera is ready now. If you want to make it even more compact as well as portable, grab the official laser-cut compact camera case from the Kickstarter page by pre-ordering a Maker Kit. You can also build your own simple chassis for housing the camera.

ZeroPhone, A Raspberry Pi-Based Open Source Smartphone

Raspberry Pi is one of the most helpful innovations in the hardware industry. It has helped beginners and children learn programming and allowed the makers to develop powerful and cheap DIY projects. “ZeroPhone” is a new DIY smartphone that is built based on Raspberry Pi and cost about only $50.

ZeroPhone is an open source, Linux-powered smartphone, that has no carrier locks, bloated apps, or data mining. It is user-friendly and will have the typical features of a phone, but with more advanced features. It also can be modified and repaired easily.

The phone is built using widely available components, and its open source hardware and software  will give you as much control over your phone as possible.

ZeroPhone can be used for calling and SMS, SSH, pen testing, and experimenting in addition to all basic functions like calendar, phonebook, music player, and web browser. As it is a linux-based phone, you can run ARM compatible programs. SDK will be provided so you can then develop your own apps.

Features & Specifications

  • Based on Raspberry Pi Zero, ESP8266 and Arduino
  • Has Wi-Fi, HDMI, full-size USB and a 3.5 mm jack (Bluetooth as an option)
  • 2G GSM connectivity (3G coming soon)
  • 128 x 64 1.3” OLED screen
  • GSM/Wi-Fi/microphone hardware switch option
  • RGB LED and vibromotor
  • Uses of Extension Ports:
    • IR receiver/transmitter
    • Additional displays and buttons
    • 5 MP / 8 MP Pi Camera
    • Extended batteries
    • Various sensors, both analog and digital
    • Wireless radios for IoT
    • GPS, Ethernet and MicroSD expansion
    • …and much more.

The OS of ZerPhone is Raspbian Linux, which is currently based on Debian Jessie. This is because it is suitable for all functions, and will still be upgradable in the future. The user interface (controlling screen and buttons) is written in Python.

Compared with other open-source phones, ZeroPhone, as the maker said, is the only one uses affordable parts which are available on eBay, and its software will be always updated if the phone’s development will stop.

To make your ZeroPhone you will need:

  • Pi Zero
  • SIM800 modules
  • ESP8266-12E
  • Two-layer PCBs (two 4x10cm boards, one 4x6cm board)
  • ATMega328P
  • LCD screen
  • Battery
  • TP4056 battery charger
  • Buttons for keypad
  • 2.54 headers

More details about this project is available on its hackaday page, in addition to the project description and frequently asked questions.

Master Your Arduino Skills With Arduino Playground Book

Are you an experienced maker who are looking for more advanced Arduino skills to get?

Warren Andrews, an experienced engineer and journalist, wrote a new book that walks makers through building 10 outside-the-box projects, helping them advance their engineering and electronics know-how. With this book, makers will delve more deeply into hardware design, electronics, and programming.

The “Arduino Playground: Geeky Projects for the Curious Maker” book is published by the Geek book publisher, No Starch Press. Projects inside the book provide a way to build new things that vary between practical and fun.

Content of the book

The book has 11 chapters, the first one is a warm up, it contains a quick guide to get the Arduino ready, prepare the IDE and try some sketches, making DIY PCBs, and using SOICs. Each chapter of the other 10 chapters is a project chapter that starts with listing the required tools, components, and software, followed by detailed instructions of the build containing all sketches and board templates. There are also author’s design notes, which are sure to provide inspiration for your own inventions.

  • Chapter 0: Setting Up and Useful Skills
  • Chapter 1: The Reaction-Time Machine
    A reaction-time game that leverages the Arduino’s real-time capabilities
  • Chapter 2: An Automated Agitator for PCB Etching
    A tool for etching your own printed circuit boards
  • Chapter 3: The Regulated Power Supply
    A regulated, variable-voltage power supply
  • Chapter 4: A Watch Winder
    A kinetic wristwatch winder decked out with LEDs
  • Chapter 5: The Garage Sentry Parking Assistant
    A garage parking assistant that blinks when your vehicle is perfectly parked
  • Chapter 6: The Battery Saver
    A battery saver that prevents accidental discharge
  • Chapter 7: A Custom pH Meter
  • A practical and colorful pH meter
  • Chapter 8: Two Ballistic Chronographs
    A ballistic chronograph that can measure the muzzle velocity of BB, Airsoft, and pellet guns
  • Chapter 9: The Square-Wave Generator
    A square-wave generator
  • Chapter 10: The Chromatic Thermometer
    A thermometer that tells the temperature using a sequence of colored LEDs

Reviews

“Arduino Playground is not for the faint of heart. Unless the faint of heart person plans to build a pacemaker with Arduino!” —ScienceBlogs

“This is a book designed for Arduino enthusiasts who’ve mastered the basics, conquered the soldering iron, and programmed a robot or two. Warren Andrews shows you how to keep your hardware hands busy.” —I Programmer

The book is available for $30 on No Starch Press and Amazon. You can view the detailed table of contents and the index, and also you can download Chapter 4: A Watch Winder, and the sketches, templates, and PCB files used in this book.

How to Make Your Own ARDUINO UNO Board

Being Engineers @ instructables.com writes:

Hello guyz, Welcome to Being Engineers. Hope you all are doing good. In this tutorial we will learn how to make your own Arduino Uno. We will gather the components, test the circuit in breadboard, then we will make the board itself. When it is done we will know how to program the Arduino IC AKA Atmega328p on board.

How to Make Your Own ARDUINO UNO Board – [Link]

Make Your Own Arduino Nano In The Simplest Way (DIY – Arduino Nano)

In today’s post, we are going to learn how to make an Arduino nano at home. Electronics enthusiast Pratik Makwana designed this project in instructables.com. Every step in this project is well-explained. If you already don’t know what Arduino Nano is then here is a brief introduction: Arduino Nano is a tiny yet strong member of the Arduino family. It’s powered by an ATMega328P microcontroller running on 16MHz. But, the main strength is its very small form factor.

Arduino Nnao
Arduino Nano

Now, let’s get started and make your own Arduino Nano in no time.

Requirements:

  • Copper clad board (Double-sided)
  • Ferric Chloride (FeCl3)
  • Acetone (Nail polish remover)
  • Glossy Paper
  • LASER Printer
  • Marker Pen
  • Scissors
  • Plastic container
  • Sandpaper
  • Safety gloves (Optional)
  • Latex gloves
  • Saw – For copper board cutting
  • Laminator or iron
  • Components of Arduino Nano (Given later)

PCB Designing:

This is a very important step of this tutorial. You need to draw the circuit of Arduino Nano first. Then you’ll design the PCB using the schematic. Design the schematic diagram in an EDA tool (Electronic design automation Software).
Here is a list of EDA Tools:

EAGLE is the most widely used PCB and schematic design software. Though my personal favorite is Proteus. You can use any software from the list.

Importing the Schematic File to PCB Editor
Importing the Schematic File to PCB Editor

To make the schematic, use the Arduino Nano Circuit Diagram and Arduino Nano Components List. Once it’s drawn completely, open the PCB designing part of the software and you’ll see that schematic is imported there. Now place the components in correct places and connect them using traces. If you are using EAGLE then you can simply download the Arduino Nano Schematic File for EAGLE and Arduino Nano PCB File for EAGLE. Open the .brd file (PCB file) to print the PCB. You can also modify it if you wish.

Place the parts in correct position
Place the parts in correct position
Connect the components and the PCB is ready
Connect the components and the PCB is ready

Note:

  • Use Only Laser printer only.
  • Use glossy papers to print.
  • Set scale factor to 1.
  • Before top layer printing, you need to mirror the image of the top layer layout.

Cut The Copper Clad Board:

Now, cut the copper clad board according to the dimensions of the PCB. You can use a hacksaw to cut it off. Be precise about the dimensions. If it’s smaller than the actual PCB then you have to do it again. Also, cut the printed glossy paper as per the size of PCB.

Cut the copper clad board using a hacksaw
Cut the copper clad board using a hacksaw

Toner Transfer and Etching Process:

In this step, the PCB design from glossy paper will be transferred to the copper board. All you need to do is place the printed side of the glossy paper on the copper board and apply both pressure and heat. You can use a modified laminator machine or an iron for this purpose. Why “modified”? Because toner transfer method requires a temperature of 210°C, where a laminator can provide 150°C maximum.

Put the board in FeCl3 solution for a while
Put the board in FeCl3 solution for a while

Make your copper clad board as clean as possible beforehand. You can use sandpaper and alcohol to do this. When the toner is transferred successfully, prepare the ferric chloride (FeCl3) solution. Before putting the board into the solution check carefully for any broken path. If found, draw it with a marker. After the etching process, use the acetone to clean the board.

After washing the PCB with Acetone
After washing the PCB with Acetone

Drilling & Soldering:

Drill the PCB using PCB drill machine. Choose the drill bit wisely else components may not fit. Now, place the components on the PCB and solder them. You can use a helping hand device to get it done nicely.

Upper layer of PCB
Upper layer of PCB
Lower layer of PCB
Lower layer of PCB

Burning The Arduino Bootloader:

In this step, you’ll need another Arduino board (e.g. Arduino UNO) to burn the bootloader to your newly made Arduino Nano for the first time. Open Arduino IDE and upload the ArduinoISP sketch to the Arduino UNO from examples option. Now, connect your Arduino Nano with Arduino UNO over SPI bus following the given instructions:

  • Arduino UNO     >>    Arduino Nano
  • ——————————————-
  • SS (Pin 10)         >>     RESET (Pin 29)
  • MISO (Pin 11)    >>     MISO (Pin 16)
  • MOSI (Pin 12)    >>    MOSI (Pin 15)
  • SCK (Pin 13)       >>    SCK (Pin 17)
  • 5V                         >>    VCC
  • GND                    >>    GND
Follow this instruction to burn bootloader
Follow this instruction to burn bootloader

After making the connections, go to Arduino IDE and follow the given instructions:

  1. Select Tool  >>  Board  >>  Arduino Nano
  2. Select Tool  >>  Port  >>  Select your Arduino UNO COM Port
  3. Select Tool  >>  Programmer  >>  Arduino as ISP
  4. Select Tool  >>  Burn Bootloader

Wait for the “Done burning bootloader” message to appear.

Testing:

Well, your Arduino Nano is now ready for a test run. This time you won’t need another Arduino to upload codes. Follow the instructions and connect a USB to TTL converter (a.k.a USB to UART converter) with the Arduino nano to upload sketches.

  • USB to TTL Converter (CP2102)  >>  Arduino Nano
  • —————————————————————-
  • VCC        >>     VCC
  • TX          >>    RX (Pin 30)
  • RX         >>    TX (Pin 31)
  • DTR      >>    RESET (Pin 29)
  • GND     >>    GND
  1. After making the connections, go to Arduino IDE and perform the following tasks:
  2. Select File  >>  Examples  >>  01.Basics  >>  Blink
  3. Select Tool  >>  Board  >>  Arduino Nano
  4. Select Tool  >>  Port  >>  Select your Arduino UNO COM Port
  5. Select Tool  >>  Programmer  >>  AVRISP MKII

After that, upload Blink Sketch to Arduino Nano and wait for the “Done Uploading” message. LED connected to pin 13 should blink if everything is OK. Now you can upload any sketch you wish to your home made Arduino Nano.

Conclusion:

So, this is how you can make your Arduino Nano. All you need for this project is PCB designing skill and a pretty good soldering skill as you have to deal with SMD components. This way you can make custom Arduino Nano that will fit your project perfectly. Watch the video to have a more clear idea:

DIY Arduino-Based Desktop CNC Router

Inspired by machines like the Nomad 883 from Carbide3D, Carvey from Inventables and more, Thimo Voorwinden had come up with a new tutorial for building a desktop CNC router powered by Arduino.

This CNC budget is around €200 and you don’t need a workshop to build it up, basic tools will do. It is designed to be modular, Arduino powered, and with a tolerance of (±0,1 mm). It has Ø8 mm linear rods, M8 thread lead screw and uses NEMA 17 stepper motors and drv8825 drivers. Plus, 250 watt flexible shaft is needed to drive the spindle and it has a work area of 200 x 250 x 100 mm (x,y,z).

Here you are the Bill of Materials that Thimo made based on his research in German and Chinese web-shops:

The tools Thimo used to build this CNC are listed here:

  • Homemade router table
  • Old ‘cordless’ drill
  • Ø22 mm wood spade drill
  • A rusty collection of old metal drill bits
  • Hammer
  • Metal saw
  • File
  • Screw drivers
  • Clamps
  • Try square
  • A soldering iron

Thimo shared this experience as a 5 HD video tutorials on Youtube to explain all the steps he went through: setting X and Y axis, the frame, Z axis and spindle, electronics and a video where the CNC is in action while milling a jigsaw piece. He added two extra videos for foam milling and testing the plotting function. Check them out here:

“For about €200 I’m now capable to CNC machine wooden parts. Not at a high speed, or without any bumps along the way, but having this option is still great. I will definitely try to machine some gears, specific parts for projects and engrave signs with this in the future.”

For more information, a detailed guide, and some notes check the project’s page at Thimo website.