Lucky students at Indiana University might like to enrol on the [C – H]335 Computer Structures course run by Geoffrey Brown. If they do, they will be treated to a great introduction to the STM32 processor. The lab manual for the course is freely available to download.

The course covers the processor itself and a number of hardware modules including an LCD display, a serial interface, a Wii Nunchuk, an SD card and an audio amplifier. Using these modules will mean looking in some detail at programmed I/O, as well as common protocols such as asynchronous serial, SPI, and I2C; A/D based sensors, interrupts, and DMA.

STM32 development hardware

All this is done using a variety of off-the shelf modules and a STM32 Discovery board for the processor. This means that you are pretty free to mix and match to suit your needs. Much better than being trapped into a complex development board. They often have a bunch of peripherals you don’t want, connected to awkward pins.

STM32 board from Indiana University course C/H335 Computer Structures

The compiler assembler and linker are examined. The manual gives instruction in setting these up and how to configure them to compile and download programs to the processor. Hardware debugging is described with the GDB debugger while code is developed in C.

STM32 Lab manual

After a bit of a browse through the book, I was hooked. I will try out some of the examples as soon as I can get the hardware. This is a very useful guide and reference for anyone wanting to develop their skills in embedded programming, C and the STM32 processor.

Here is a chapter list to whet your appetite:

1 Getting Started 13
2 Introduction to the STM32 F1
3 Skeleton Program
4 STM32 Configuration
5 Asynchronous Serial Communication
7 SPI : LCD Display 97
8 SD Memory Cards
9 I2C – Wii Nunchuk
10 Timers
11 Interrupts
12 DMA: Direct Memory Access
13 DAC : Digital Analog Converter
14 ADC : Analog Digital Converter
15 NewLib
16 Real-Time Operating Systems
17 Next Steps



This Post Has 8 Comments

  1. Green

    So glad for these students because they can learn STM32 systematically with the help of instructor, I wish I had chance learn all of these through a legit course in school :), anyway, good work for sharing this to us, it’s indeed very helpful!

  2. Jan

    I’ve downloaded the book, followed the examples, and the book was indeed very helpful. It was a book designed as a lab manual and an instructor is needed in case students got stuck on some of the examples. I don’t have immediate access to an instructor in my area who is as familiar with STM32 as the author so I’m kinda like so slow in my progress in following the book (halfway through)…the students in Indiana University are indeed lucky. 🙂

  3. M.

    Can’t seem to download the book. It just times out when I click the link. Is there an alternate link or mirror? Thanks

  4. Peter Harrison

    Some kind of temporary issue at Indiana? Seems fine now.

  5. marcelojo2012

    Some time ago I put in my blog how to setup stm32 with open source tools. For anyone who is interested:
    Thank you for sharing

  6. M.

    Thanks @Peter Harrison, finally got it. This is priceless stuff! Thanks for sharing!

  7. Ersan

    Hi, my name is Ersan,
    I started a WIKI just about STM32 Controller. I would be very happy if some more guys would join my wiki project (currently im alone). At the moment everything is in german but I want to integrate a language system for changing to english.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.