Skip to content
Menu
Klein Embedded
  • About
Klein Embedded

Category: Python

January 31, 2023

Calling C code from Python

The majority of all firmware is written in C (or C++), but for writing small utility and automation scripts on the host machine, Python is usually the go-to language. I was recently presented with the problem of running some of our firmware algorithms on a set of pre-recorded data, as part of our suite of automation scripts written in Python. Instead of translating the C code to Python – which could quickly become a maintenance nightmare – I opted for creating an interface so the C code could be called directly from a Python script. Luckily, Python has plenty of support for this.

Read More
November 29, 2022

Creating a Python command line tool

In my daily work I occasionally find myself doing a manual task that could be easily handled with a simple script. This could be things like logging data from a device (e.g. over UART) and saving it to a file, setting or getting configuration values from a device and plotting data from a file are…

Read More
August 31, 2022

Project Smart Greenhouse (Part 2): Data collection with ESP32

In part 1 I presented the general idea for the Smart Greenhouse. In this part I am going to get my ESP32 development board up and running and start logging some data to an online database.

Read More
May 31, 2022August 28, 2022

Developing and publishing a full-fledged Python package

I have recently been working on some Python code for interacting with an embedded device from a PC, e.g. setting and reading configuration parameters, reading measurements and doing firmware upgrades. The device uses our own communication protocol, for which we have already accumulated quite a few Python scripts. However, this protocol is used both for our main product as well as several customer projects, so we are looking to make the code a bit more “release-ready”.

Read More

Subscribe to the newsletter

Get notified by email when a new blog post is published.

Check your inbox or spam folder to confirm your subscription.

Recent Posts

  • STM32 without CubeIDE (Part 4): CMake, FPU and STM32 libraries
  • Adding right-click context menu items in Windows 10
  • CI/CD with Jenkins and Docker
  • STM32 without CubeIDE (Part 3): The C Standard Library and printf()
  • Understanding the (Embedded) Linux boot process

Recent Comments

  1. Kristian Klein-Wengel on Developing and publishing a full-fledged Python package
  2. url on Developing and publishing a full-fledged Python package
  3. url on Developing and publishing a full-fledged Python package
  4. Fernando on STM32 without CubeIDE (Part 4): CMake, FPU and STM32 libraries
  5. john on STM32 without CubeIDE (Part 4): CMake, FPU and STM32 libraries

Archives

  • October 2025
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021

Categories

  • C++
  • DevOps
  • DSP
  • Electronics
  • Embedded C
  • Embedded Linux
  • Firmware
  • Project
  • Python
  • Software Design
  • Testing
  • Tutorial
  • Uncategorized
©2026 Klein Embedded