eecs6002x_608x211_0During the 2014 autumn I was enrolled in the 6.002x Circuits and Electronics course provided by MITx in edx.

The course is an introduction to electronics engineering in the context of lumped circuits abstraction. It goes from simple resistor circuits to more complicated second-order circuits, teaching you several circuit analysis techniques to understand with great detail the behaviour of such circuits.

Topics covered include: resistive elements and networks; independent and dependent sources; switches and MOS transistors; digital abstraction; amplifiers; energy storage elements; dynamics of first- and second-order networks; design in the time and frequency domains; and analog and digital circuits and applications.

Although to take this course is recommended to have a strong mathematical background in algebra, calculus and differential equations, and also a physics background in electricity and magnetism, in the end you always have an intuitive explanation about what is happening and why. I thin this intuitive sense in analysing electronic circuits is very useful in real life.

The course lasts 14 weeks and includes video lectures, readings from a textbook, online laboratories, some tutorials, weekly homework and two exams.

In my opinion, it is a very challenging course, even if you have already taken a similar course at university. For me was a great review of many concepts and it gave me a new point of view in several topics.

The video lectures are very clear and well structured. The concepts are explained from the basic to the high level in a very straightforward way.

The weekly homework helps you to know if you really understood the topics you studied in the lecture, and for those things you misunderstood you can use the tips given in the forum.

Laboratories use a virtual simulation environment where you can simulate different circuits that you build  and they complete the whole understanding about what is going on in a specific concept.

On the other hand, what I didn’t really enjoy very much were the optional tutorials. They didn’t bring me anything new.

Finally, I missed some hands-on activities. I think there are some easy circuits to build and test on a solder-less breadboard that could enhance the learning.

My truly recommendation is to take this course if you really want to know what is going on in the circuits that you build and to have a better understanding about the stuff that we design.



STM32F4DiscoverySome time ago I bought the STM32F4Discovery starter kit from STMicroelectronics, but until now I haven’t done much about it. Therefore, I think it’s time to put hands on it.

This starter kit has a STM32F407VGT6 microcontroller which is based on an ARM Cortex M4 32 bits architecture, it can reach up to a frequency of 168 MHz and it has a 1 Mbyte Flash memory. This microcontroller has a floating point unit, a real time clock and DSP instructions. It has plenty of useful peripherals: up to 140 GPIOs, 3 12-bit A/D converters that can be related up to 24 channels, 2 12-bit D/A converters, 16 12-bit timers and 2 32-bit timers that can generate PWMs or count pulses. It also has up to 3 I2C ports, 4 USART ports, 3 SPI ports, 2 CAN ports, 2 USB 2.0 ports, an Ethernet port, an LCD interface and a camera port.

Moreover, the starter kit has a debugging tool based on the ST-LINK/V2, a digital accelerometer, a digital microphone, an analogue to digital audio converter, 4 coloured LEDs and a user push-button.

The STM32F4Discovery starter kit has a demo program installed: when the CN1 USB connector is plugged to a PC, the 4 coloured LEDs begin to blink in a predefined pattern. If the B1 button is pressed the digital accelerometer is activated and the 4 coloured LEDs blink depending on the direction that the starter kit is moved.  Lastly, if the CN5 USB connector is plugged to the PC, the STM32F4Discovery behaves like a mouse, and the pointer can be moved through the display as the starter kit is moved.

To end this post, next you can see the demo program running:


Getting To Blinky PCBAlthough I’ve got some experience designing PCBs I would like to master this skill, therefore I’ve decided to learn about it using KiCAD, an open source EDA (Electronic Design Automation).

My first little project is about blinking a LED as if it were a “Hello world” program.

The circuit is based on the 555 timer IC working in an astable operation mode which turns the LED on and off. The blinking speed is set by the VR1 (Variable Resistor) and R1. As a VR I’m using an LDR (Light Dependent Resistor), thence the blinking depends on the light.

 Getting To Blinky SchematicThe components used in this project are mainly SMD (Surface Mount Devices), except the LDR and the battery holder, which are through hole components.

The 555 timer IC used is an 7555, which uses the CMOS technology, so it can work with a 3 V battery.

To do this I’ve followed the Getting to blinky Contextual Electronics tutorial. With this tutorial I’ve learned to draw a schematic, to create new components, to generate a netlist, to associate components with footprints, to create new footprints, to place route components on a PCB and to generate gerber files.

The only drawback I’ve found using KiCAD is that you can’t associate permanently a footprint to a component when you are creating it, therefore you have to associate manually each component from a schematic to a footprint whenever you are designing a new PCB, instead of doing this process automatically. If anyone knows how to do this, please leave a comment with an explanation.

I’ve already sent the gerber files to produce, so in the second part I will show the assembling, the final product and how it works


LearnElectronicsIf you are interested in learning electronics, nowadays the internet can make it really easy.

It is a great resource where you can find info about any topic in many different formats: websites, blogs, tutorials, videos… But this, sometimes, can be quite discouraging and tough.

Since some time ago, there is a new way specially designed for e-learning: MOOC (Massive Online Open Course). These are courses about an specific topic with different useful resources like videos, books, quizzes, labs, etc. that they guide you through and they help you to master the subject.  Some of them are self-paced and others have weekly coursework with deadlines to do some homework or exams.

Here there is a list of some of the most interesting MOOC that I found to learn electronics:


  • 6.002x Circuit Electronics This teaches the fundamentals of circuit and electronics analysis. Weekly coursework includes interactive video sequences, readings from the textbook, homework, online laboratories, and optional tutorials. This course is part of the EECS curriculum at MIT. You can enrol in it once a year, but some of the resources are open to consult whenever you want. I think this course is good for you if you want to go into great detail in circuit analysis and you really want to understand what’s going on in your circuits. Nowadays I’m enrolled in it and when I finish it I will write a review.
  • Real Analog It is a comprehensive collection of free educational materials that seamlessly blend hands-on design projects with theoretical concepts and circuit analysis techniques. It is taught by Digilent and it is self-paced. You can do it whenever you want. From this one I’ve seen some videos and I’ve done some labs. I like it because it’s a hands-on course and I think it is very useful for hobbyist who wants to gain a basic understanding of electrical circuits.
  • Fundamentals of Electrical Engineering This course probes fundamental ideas in electrical engineering, seeking to understand how electrical signals convey information, how bits can represent smooth signals like music and how modern communication systems work. Weekly coursework with videos, quizzes and deadline homework. It is part of the EE curriculum at Rice University. You can enrol in it once a year, but some of the resources are open to consult whenever you want. I think this course is good for you if you are really interested in signal processing and communications.


  • Contextual Electronics This course brings you to the next level once you have the fundamentals, teaching you how to build an electronic circuit on a PCB from scratch. It is divided in two parts: the first part is related to design a circuit and to choose the right component and the second part to build it and to troubleshooting. Now is a work in progress, but as long as I read about it you will have two options: to do it on a weekly coursework with other peers or to do it self-paced. This one is in my to-do list.

Specific topics

  • Introduction to Power Electronics The course is an introduction to switched-mode power converters. It teaches you how to model a switched-mode power converter and how to design a basic regulator.  Weekly coursework with videos, quizzes and deadline homework. It is part of the Professional Certificate in Power Electronics curriculum at Boulder University of Colorado. You can enrol in it once a year. I was enrolled in this course and I enjoyed it very much. I really learned a lot of new things and I reinforced some concepts that I hardly understood before I did the course. It is a must do if you want to go on power electronics. I have to write a review about it.
  • Embedded Systems – Shape The World This is a really hands-on-course that brings you into the embedded world from the basics to the high-top applications using a modern micro-controller based on the state-of-the-art ARM architecture.  Weekly coursework with videos, readings and deadline labs. This course corresponds to the Electrical and Computer Engineering course EE319K Introduction to Embedded Systems, which is a required course offered in the freshman year to all ECE students and some BME students. You can enrol in it once a year, but some of the resources are open to consult whenever you want. I’ve enrolled in this course to do it in the next session. When I finish it I will write a review.
  • Digital Systems: From the logic gate to the processor This course teaches you how to design digital circuits, learning the basic electronic devices necessary for the construction of digital systems, but mainly focusing on the system rather than in the electronics. Weekly coursework with videos, quizzes and deadline homework. You can enrol in it once a year. This one is in my to-do list.

I know that there are so many others MOOC, but this is my list and it’s an open list that I will review every now and then. Therefore I encourage you to add your favourite ones and to comment them.

My journey into embedded systems and electronics