Gyanix: Part 2

Connecting the dots…

Akash Suresh
5 min readOct 28, 2018

Hi there!

Hope the first article in the ‘Gyanix’ series ignited some curiosity to venture into understanding what you learn in your undergraduate electronics course in depth. As a quick recap, we had started with the question “Why read this article at all?”, followed by a step by step guide beginning at trying out hobby projects, making it classy with a PCB, enjoying the maze of Embedded C and finally, completing your hobby project with a wireless interface and your head brimming with a lot of “gyan”. Undoubtedly, the journey would be a roller-coaster ride.

Now, ready for the next lap? All that we have done in Part-1 is applying primer; though very important to retain the richness and texture of the paint above, it’s nowhere near the finish line.

Going above the foundation..

The questions we will try to answer in this article are:

  • How can we make our hardware coursework more interesting?
  • What are the portals available to get our hands dirty and do some practical stuff?
  • How do we connect the dots?

How can we make our hardware coursework more interesting? What are the portals available to get our hands dirty and do some practical stuff? How do we connect the dots?

Further down the trench..

Embedded C brought us close to how things work inside an MCU. But, how is an MCU made in the first place? What are the various efforts that go into making all kinds of electronics gadgets in and around us? The first digital and analog electronics courses are the stepping stones to answer the above questions.

The course “Nand to Tetris: Part-1” (https://www.coursera.org/learn/build-a-computer) is a good place to start. The course is an integrated approach to understanding digital hardware-making right from scratch. The course is abundant with lab assignments that would help you practice what you learn.

Also, the course “Analog Circuits” by Prof Nagendra Krishnapura in NPTEL (https://onlinecourses.nptel.ac.in/noc18_ee19/preview) is a good source to understand semiconductors from a mathematical point of view. (Analog stuff happen to be a disaster to many, including me :P; but this course was lucid to make the funda clear)

In addition to these if you would like to create/tweak stuff on your own, I recommend the following tools:

  • EDA Playground (https://www.edaplayground.com/) : This is an online portal to practice, create and collaborate on projects in Electronics Design Automation (EDA) related languages like Verilog, SystemVerilog, Perl, SystemC etc. The portal allows one to design hardware and simulate it. Also, you can debug your work by generating waves.
  • Pspice Lite (https://www.orcad.com/resources/download-orcad-lite) : is a free tool from Cadence that can be used to understand basic analog circuits. The tool has a GUI as well as a programming interface. Pspice programming guide is quite elaborate on how to use the software. You can also refer to: http://www.uta.edu/ee/hw/pspice/ .

These tools would help you to implement all that you are told about in your class. Fiddle with them as much as possible! While practicing, keep questioning on the what, how and why of things.

While practicing, keep questioning on the what, how and why of things.

Bottom to Top

A person climbing from the foothills to the peak can appreciate the panorama much better compared to someone climbing from somewhere in between. Now, quite conversant with the foothills, we are all set to climb to the summit to understand how the hardware we have talked so much about connects with software. What are the various hierarchies in the interaction? What is the complete picture? How are the dots connected?

Check out the course “Nand to Tetris: Part 2” (https://www.coursera.org/learn/nand2tetris2) . This course, along with the previous one introduces us to the basics of software and it’s interaction with hardware in a bottom to top approach. Again, the course is project centric and has a lot of lab exercises. Actually, even I’ve started this course quite recently. We can take it together as well!

Going Beyond…

After all of this, if you still find time, here you go!

Let’s learn something about Real Time Operating Systems (RTOS). These are widely used in embedded systems and IoT and is a good place to apply a lot of what we have learnt till now.

Various RTOSs one can check out are: TinyOS (http://tinyos.stanford.edu/tinyos-wiki/index.php/TinyOS_Tutorials) , Contiki OS, TI RTOS (http://www.ti.com/lit/ug/spruhd4m/spruhd4m.pdf)

TinyOS has a simulator and does not even require a hardware device. However basic Linux is needed to work with TinyOS.

Looking back…

Tada! We are at the end of this article. Phew! I’m sure there’s plenty on your plate now.

There’s all the time in the world. Go at your own pace.

Looking back, we started as an amateur enthusiast with small projects to get a feel of working with hardware. Now, we talk of concepts as advanced as RTOS. It’s fantastic progress if you’ve made it till here! Kudos :) By now, I’m sure you’ll be independent enough to explore stuff on your own. The stage is all yours! Make the most of it.

It’s fantastic progress if you’ve made it till here! Kudos :)

What next?

The rock, pebble and sand theory is well known. If you’ve not heard about it, how can one fill an empty jar with rocks, pebbles and sand in the most efficient manner? Yes, we go with rocks first, followed by pebbles and fill the empty spaces between rocks and pebbles with sand. That’s what the next and the final article in the series will talk about. Filling up the voids.

Not cool!

In the next article, we will talk about the miscellaneous tools and skills that might not be directly related to your college stuff, but would definitely help you to be efficient. These things turned out to be important when I started working and thought of sharing with you.

In case you had missed the first article, here it is.

The next article can be found here.

Again, questions, feedback and suggestions are most welcome and I look forward to them. :)

--

--