Resource: Tutorial how to get into embedded software development

If you want to get into embedded development beyond Arduino I will point you to a series of articles on the blog. In the series EMBEDDED WEDNESDAYS: GETTING STARTED IN EMBEDDED SYSTEMS you will find a very good introduction into developing embedded software using C on a STM32 MCU containing an ARM Cortex-M4F core. The series starts by getting an introduction into the C programming language. Without getting too deep into the language you will learn enough to get started and implement your first projects that go well beyond the usual blinking LED (also this example is also included as an article).
Read more

[100 Days of Code] Day 065: June 24, 2017

I haven’t published my progress in the last few days also I’ve been working on my Project. This is due to the fact that I have been working on getting I2C working on my STM32 and just didn’t get it. Today I started a last try and finally was able to talk to let my STM32 talk to my BME280 environment sensor. I will post my findings in a separate post.
Read more

[100 Days of Code] Day 064: June 20, 2017

Today’s Progress: Setup the project on a new board and rewired everything. This allows me to move the project around more easily. I’ve also been looking into more I2C code. Things I’ve learned: I’ve seen the interior of a breadboard :) Finally… Things I’ve planned for tomorrow: Continue on I2C code. Link(s) to work:

[100 Days of Code] Day 063: June 19, 2017

Today’s Progress: Started to write I2C code. Unfortunately it’s not running yet. Although the examples are working well, using these for an own project is not that easy. Things I’ve learned: How to configure I2C on an STM32. Specially when it comes to more modern STM32 like the L4 family some things are different compared to the more mature families like the F1 or F4. Things I’ve planned for tomorrow: Continue with I2C code.
Read more

[100 Days of Code] Day 062: June 18, 2017

After struggling with the security server integration tests the last days (or weeks?) and being sick for the last days I decided to continue on my second project wich aims at reading and processing environmental data with a STM32 MCU. Today I setup the circuit and got into the Digilent Analog Discovery 2. Today’s Progress: Setting up the circuit and testing an I2C display with an Arduino which I will use as a Hello World tool.
Read more

[100 Days of Code] Day 032: May 11, 2017

Today’s Progress: I wanted to base my STM32 project on a different example that uses LL (low level) drivers and better demonstrates the Usage of I2C on the STM32 for my purpose. Unfortunately I haven’t been able to get the example to compile (yet). Things I’ve learned: I learned that I either do not know enough about the stm32-cmake toolchain I’ve been using so far or that it’s not easy to switch between HAL and LL drivers on a per project base.
Read more

[100 Days of Code] Day 032: May 10, 2017

Today’s Progress: Finally setup the second “bigger” project I want to proceed. The aim is to learn about the STM32 by creating a small device based on a STM32 MCU that senses environmental information and finally transmits it over a (long range) wireless technology like LoRa or Zigbee. Today I setup the basic project structure by copying an I2C project from the CubeMX framework into my project structure utilizing the stm32-cmake build chain I’ve updated in the last days.
Read more

[100 Days of Code] Day 031: May 9, 2017

Today’s Progress: Migrated my stm32-blinky project to the stm32-cmake toolchain. Things I’ve learned: More understanding of CMake and the development process. Things I’ve planned for tomorrow: Setting up a small project to access a BME 280 sensor. Link(s) to work: stm32-blinky

[100 Days of Code] Day 030: May 8, 2017

Today’s Progress: Added basic support for STM32L4 family to the build system. Got a simple blinky test application working on a Nucleo-L476RG. Things I’ve learned: The L4 family has two separate types of RAM which has to be factored in when generating the linker script. Things I’ve planned for tomorrow: Either continue on the build-system or get back to the Spring application. Link(s) to work: stm32-cmake