Down the Rabbit Hole of STM32 Clock Options

Once you venture beyond the tame, comfortable walls of the 8-bit microcontroller world it can feel like you’re stuck in the jungle with a lot of unknown and oft scary hazards jut waiting to pounce. But the truth is that your horizons have expanded exponentially with the acceptable trade-off of increased complexity. That’s a pretty nice problem to have; the limitation becomes how much can you learn.

Here’s a great chance to expand your knowledge of the STM32 by learning more about the system clock options available. We’ve been working with STM32 chips for a few years now and still managed to find some interesting tidbits — like the fact that the High Speed External clock source accepts not just square waves but sine and triangle waves as well, and an interesting ‘gotcha’ about avoiding accidental overclocking. [Shawon M. Shahryiar] even covers one of our favorite subjects: watchdog timers (of which there are two different varieties on this chip). Even if this is not your go-to 32-bit chip family, most chips have similar clock source features so this reading will help give you a foothold when reading other datasheets.

There is a clock diagram at the top of that post which is small enough to be unreadable. You can get a better look at the diagram on page 12 of this datasheet. Oh, and just to save you the hassle of commenting on it, the chip shown above is not an f103… but it just happened to be sitting on our desk when we started writing.

Internet-Connected TI-84

Just before the days where every high school student had a cell phone, everyone in class had a TI graphing calculator. In some ways this was better than a cell phone: If you wanted to play BlockDude instead of doing trig identities, this was much more discrete. The only downside is that the TI calculators can’t easily communicate to each other like cell phones can. [Christopher] has solved this problem with his latest project which provides Wi-Fi functionality to a TI graphing calculator, and has much greater aspirations than helping teenagers waste time in pre-calculus classes.

The boards are based around a Spark Core Wi-Fi development board which is (appropriately) built around a TI CC3000 chip and a STM32F103 microcontroller. The goal of the project is to connect the calculators directly to the Global CALCnet network without needing a separate computer as a go-between. These boards made it easy to get the original Arduino-based code modified and running on the new hardware.

After a TI-BASIC program is loaded on the graphing calculator, it is able to input the credentials for the LAN and access the internet where all kinds of great calculator resources are available through the Global CALCnet. This is a great project to make the math workhorse of the classroom even more useful to students. Or, if you’re bored with trig identities again, you can also run a port of DOOM.