
Learning A New Microcontroller
Contents: Introduction Background For The Beginner The Peripherals System Complexity Support Software Do It Like Phil The Programs GPIO And Timers UART And Timers I2C/SPI PWM ADC Go Crazy And Combine Them All WET And DRY...

Development of the MOS Technology 6502: A Historical Perspective
One ubiquitous microprocessor of the late 1970s and 1980s was the MOS Technology MCS 6502. I included a section on the development of the 6502 in Part 2 of Supply Chain Games, and have posted it as an excerpt here, as I believe it is deserving...

Supply Chain Games: What Have We Learned From the Great Semiconductor Shortage of 2021? (Part 2)
Welcome back! Today we’re going to zoom around again in some odd directions, and give a roundabout introduction to the semiconductor industry, touching on some of the following questions: How do semiconductors get designed and...

Patterns of Thinking: Metaphors in Programming
Several years ago, I once attended an “Object-Oriented Analysis and Design” training. As most such courses go, the instructor began with brushing up on the fundamental OO concepts. When explaining inheritance, the instructor spontaneously...

Reading and Understanding Profitability Metrics from Financial Statements
Whoa! That has got to be the most serious-minded title I’ve ever written. Profitability Metrics from Financial Statements, indeed. I’m still writing Part 2 of my Supply Chain Games article, and I was about to mention something about...

A Second Look at Slew Rate Limiters
I recently had to pick a slew rate for a current waveform, and I got this feeling of déjà vu… hadn’t I gone through this effort already? So I looked, and lo and behold, way back in 2014 I wrote an article titled Slew Rate...

Supply Chain Games: What Have We Learned From the Great Semiconductor Shortage of 2021? (Part 1)
So by now I’m sure you’ve heard about the semiconductor shortage of 2021. For a few complicated reasons, demand is greater than supply, and not everybody who wants to buy integrated circuits can do so. Today we’re going to try...

Review: Modern Software Engineering
This is actually a review of 3 books by Dave Farley, because they really form a set: Modern Software Engineering: Doing What Works to Build Better Software Faster (just released for 2022, 224 pages) Continuous Delivery: Reliable...

VolksEEG: Rust Development On Adafruit nRF52840 Feather Express
Contents: Introduction Setup Hardware Workstation Software Checks USB Device Minicom JLinkExe FTHR840BOOT Contents OpenOCD VolksEEG/eeg-device-firmware PR "Merging initial implementation of the PC communications...

Working With ESP-C3-32S-Kit Dev Board
Introduction The ESP-C3-32S-Kit is a small dev board made by Ai.Thinker, containing an ESP-C3-32S SoC module, supporting WiFi and BLE: Development for the board uses the Espressif IoT Development Framework...

How to Read a Power MOSFET Datasheet
●6 commentsOne of my pet peeves is when my fellow engineers misinterpret component datasheets. This happened a few times recently in separate instances, all involving power MOSFETs. So it’s time for me to get on my soapbox. Listen up! I was going to post...

Learning A New Microcontroller
Contents: Introduction Background For The Beginner The Peripherals System Complexity Support Software Do It Like Phil The Programs GPIO And Timers UART And Timers I2C/SPI PWM ADC Go Crazy And Combine Them All WET And DRY...

Introduction to Microcontrollers - Beginnings
●14 commentsWelcome to this Introduction to Microcontroller Programming tutorial series. If you are looking to learn the basics of embedded programming for microcontrollers (and a bit of embedded hardware design as well), I hope these tutorials will help you...

MSP430 Launchpad Tutorial - Part 1 - Basics
●4 commentsTI's LaunchPad is a complete MSP430 development environment: all you have to do is download and install CCS IDE (login required), connect your G2231-ready LaunchPad to your computer with the included mini-usb cable, and you are ready to...

Thermistor signal conditioning: Dos and Don'ts, Tips and Tricks
●4 commentsIn an earlier blog entry, I mentioned this circuit for thermistor signal conditioning: It is worth a little more explanation on thermistor signal conditioning; it's something that's often done poorly, whereas it's among the easiest...

Boot sequence for an ARM based embedded system -2
●3 commentsIn the last post, we discussed about the startup execution sequence on an ARM based embedded system in broader terms. In this post, we are going to cover the details of a startup code.These details are also available through various ARM resources...

Analyzing the Linker Map file with a little help from the ELF and the DWARF
●4 commentsWhen you're writing firmware, there always comes a time when you need to check the resources consumed by your efforts - perhaps because you're running out of RAM or Flash or you want to optimize something. The map file generated by your linker is...

Chebyshev Approximation and How It Can Help You Save Money, Win Friends, and Influence People
●1 commentWell... maybe that's a stretch. I don't think I can recommend anything to help you win friends. Not my forte. But I am going to try to convince you why you should know about Chebyshev approximation, which is a technique for figuring out how...

Supply Chain Games: What Have We Learned From the Great Semiconductor Shortage of 2021? (Part 2)
Welcome back! Today we’re going to zoom around again in some odd directions, and give a roundabout introduction to the semiconductor industry, touching on some of the following questions: How do semiconductors get designed and...

Working With ESP-C3-32S-Kit Dev Board
Introduction The ESP-C3-32S-Kit is a small dev board made by Ai.Thinker, containing an ESP-C3-32S SoC module, supporting WiFi and BLE: Development for the board uses the Espressif IoT Development Framework...