Arduino Mini CNC Machine

010_Title

To be honest: in the beginning I had no idea that there is such a thing like CNC machines. CNC stands for “Computer Numerical Control” and there are a ton of different machines out there ranging from 3 up to 5 axis types. But at the moment I realized that I could plan and build things virtually and let the machine do the ultra tiny Continue Reading →

24. May 2016 by Marius
Categories: Arduino, Projects | Tags: , , , | Leave a comment

Interface a cheap OLED (SSD1306) from eBay with an Arduino

ssd1306_01

There are a couple of cheap OLED displays available on eBay and I really struggled to get them to work with the Arduino. Some of them have the manufacturer “Heltec” printed on the circuitboard and most of them Continue Reading →

25. December 2015 by Marius
Categories: Arduino, Tutorials | Tags: , , , , | Leave a comment

C++ Template Arduino investigation

I tried to simplify and refactor some of my code for a new Arduino project lastly and came up with some interessting programming concepts in C/C++ I never heard of before my Arduino adventures.

The Problem

At first I wanted to get rid of my String class coding. Its evil. As far as I know its not very efficient to work with in the Arduino (C/C++) programming environment especially in embedded systems like the small ATMegas and ATTinies. Its slow and allocates dynamic memory which could lead to memory heap fragmentation etc.. Short: they suck! 😉 Better use Chars but unfortunately they arent like the fluffy little Strings, they are spikey hedgehogs… Since Chars arent that friendly like Strings with all theire nice methods I needed to write some convenience methods by my own.

After a very nerdy weekend in my nerd cave, some experimentation and asking questions in the Arduino forum (best forum and community _ever_ :) ) I learned Continue Reading →

26. November 2014 by Marius
Categories: Arduino, Programming | Tags: , | Leave a comment

CNC speed calculation

This formula is nothing very special but I had to think some time about it. 😉 For my CNC I need to calculate the speed of the machine in mm/min (seems this is the standart measuring unit at least in metric systems). Here it is:

An example:
– Threadpitch: 0.8mm
– Steps/Revolution: 200 Steps
– Microseconds/Revolution: 1.000 micros

Hope this is correct! 😉

04. August 2013 by Marius
Categories: Programming | Tags: , , | Leave a comment

Linear interpolation

As I researched about my own custom G-Code interpreter on the Arduino I realised that it was neccesary to interpolate between two points in space. Thats because when both stepper motors step at the same time at the exact same speed a target value is reached too soon when one coordinate is not equal to the other ( x != y).

To avoid that problem one has to interpolate between the points and check if the interpolated value has to in- or decrement. I came up with this function to return an interpolated coordinate on the vector between the points:

Some reference and further reading on that topic here!

15. July 2013 by Marius
Categories: Programming | Tags: , , | Leave a comment

The TurnMachine

c040_prj0007_TurnMachine_00I thought its time to learn something new in my sparetime so the TurnMachine is my first attemp in building usefull machines with the help of the Arduino development plattform. Arduino is an electronics plattform made especially for artists and people who want to learn microcontroller programming the first time without the hassle of studying electronics in depth. I build this as a finger exercise for Continue Reading →

15. July 2013 by Marius
Categories: Projects | Tags: , , | Leave a comment