A simple How-to to work on the CNC

Gautam PrakashGautam
Embedded Programming


Hexadecimal to Binary convertor

Datasheets Read

This section covers the different datasheets read. I chose to have a wide coverage of datasheets as my final project is heavily electronics based. I chose to go into different architectures as well to understand them better. However, all these are MicroControllers - they don't have the power to load Operating Systems (Android/Linux etc) on them, they allow themselves to be programmed and will execute the program well. They tend to draw significantly lesser power and in cases of pure operation, might prove to be faster than Microprocessors per clock.


  • Reading the datasheet without a good grasp over electronics/chip design or a plan is dangerous to motivation and mental health.(WINK WINK) click here to read a great tutorial on how to speed-read a datasheet.
  • Reading Table of Contents is useful, but its on page 231. Why would anyone do that??
  • Things to read in the document in sequence of importance: Features talks about the overview of the chip, giving an idea of what can be done. Focus on Peripherals, I/O, Operating Voltage and Memory to understand the limitations.Pin Configuration enables you to understand how the 14 pins on the ATTINY44 is laid out and hwat functions each pin can perform. Power Mode and sleep configuration and Electrical characteristics
  • Each chip - however small, is COMPLEX. It has multiple components interacting within the object
  • Time - timing of each function is extremely critical - it can lead to corruption or even data loss.
  • Types of Memory - while I knew the concepts of EEPROM and Non Volatile Memory (NVM), I clearly understood how they work and the impact of clocks on them. For ex, Reading EEPROM halts instructions for 4 cycles etc


I'm preparing an excel sheet allows you to compare quickly the different features of the 3 Microcontrollers.


Some basic terminology we need to understand to help understand the datasheet better

  • Clock - typically refers to the frequency at which a chip like a central processing unit (CPU), one core of a multi-core processor, is running and is used as an indicator of the processor's speed.
  • Operand - an input for an operation
  • Processor Register - is a quickly accessible location available to a computer's central processing unit (CPU). Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only.
  • Pipeline - pipeline is a set of data processing elements connected in series, where the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion; in that case, some amount of buffer storage is often inserted between elements.

What questions do you have? What would you like to learn more about?

There are questions on how to start using the information learnt when going through the datasheet. There are many question on the concepts themselves, as I am reading them for the first time. This is something I'd want to learn more about.

Board Programming

Issues faced:
Windows couldn't recognise the AVR ISP MK2.

Uploading code on Linux gave the error that the device signature was wrong. This was after ensuring that the files referred to ATTINY44.
We had issues getting Arduino to become the programmer - we finally got it to work yesterday night. I had made mistake in wiring it correctly.