Electrical engineering & Arduino resources for makers

# Electronics engineering for digital logic

## Preface

Electronics are everywhere. Now, they’re even in your fridge and having your toaster connected to the internet through a small chip is only a matter of time, if not done already. What’s more: electronics of today are different than what we had in the late XXth century. Nowadays everything is digital. Analog radio decoders, floppy disks and other analog peripherals are all a thing of the past; with some even starting to appear in museums. But it doesn’t stop here! Even sound, which is fundamentally an analog signal, is processed by electronics of today as a digital signal all the way to your speaker thanks to class D amplifiers!

With that in mind; I wanted to compile lessons, references and tips & tricks to designing digital systems. When I started learning electronics at the university in 2006 or so; I remember vividly we started by cramming complex math involving lots of differential equations down our throats to calculate RC filters. I can say with confidence over 10 years later this is useless to most of us. What picked my interested though, is when we started implementing a clock inside a FPGA without a micro-controller: pure logic only. That was fun, but no one would do this today. A sane design would involve a micro-controller with probably an embedded real time clock circuitry. Job’s done, and for \$1 worth of components! This “modern design” approach is what ultimately pushed me to write these “tutorials” or “lessons”.

The body of knowledge below is dedicated to electronics students, hobbyists and people looking to further their knowledge; with the prospects of designing digital logic in mind. It can be used as a reference and it can be used as a book of tricks. The goal is to voluntarily skip knowledge which is practically irrelevant in the electronics of today to focus on what really matters.

## Content

### The transistor

• Bipolar Transistor
• Field Effect Transistor: the MOSFET
• Other types of transistors

### Microcontrollers

• Introduction
• “Arduino” and microcontroller families
• Programming a microcontroller

### Logic interfacing

• Logic families: from TTL to today
• Connectivity to other systems: I2C, SPI and others
• Button debouncing
• Controlling load with logic signals