Building a simple 3D printer (and what turned out to be not so simple)

14 Apr 2019 - tsp

This article describes some of the ideas and thoughts during building my first FDM printer a few years ago and which lessions have been learned from that project.

Building an I2C controllable stepper driver board with DRV8825 breakout boards and ATMega328p

23 May 2019 - tsp

This is the description of a small carrier board for two DRV8825 breakout boards (or compatible) that are controlled by an AVR (ATMega328p) which runs a small (linear) motion processor that gets it's commands via I2C.

Using piezo disks for automatic bed leveling on 3D printers

11 Sep 2019 - tsp

Description of an easy way of using piezo disks as touch sensors to perform bed leveling with 3D printers or other CNC machines. This blog entry describes the most basic possible way without much external circuits (only an ATtiny13A and two resistors are used)

Public GitHub repositories


Languages: JavaScript

A small collection of some OpenJSCAD models I've created


Languages: C99

Motion controller code for an AVR based dual stepper controller board


Languages: C99

C JSON parser and serializer


Languages: C99

Compression library


Languages: C99

Simple library supporting reading and writing STL (stereolithography) files from ANSI C99


Languages: C

A local fork of Marlin 3D printer firmware including some modifications


Languages: C99

A small tool to convert EIT (Event Information Table) files to Kodi compatible NFO files


Languages: C99

Simple C99 Base16, Base32 and Base64 encode and decode library


Languages: C++

Simple sensor node with DH22 temperature and humidity sensor based on the feather 32u4II-LoRA board


Languages: C++

Basic OTAA code for feather 32u4


Languages: C++

A simple alternative ESP8266 or ESP8265 firmware for Sonoff basic switches using the Arduino framework


Languages: C++

Simple (non Assembly) 1-Wire Master implementation for Arduino


Languages: Shellscript

Really simple scripts to produce periodic snapshots of ZFS filesystems on a FreeBSD system on daily, weekly and/or monthly basis


Languages: C#

Small C# windows forms utility that generates UUIDs and C header inclusion guards into the clipboard from a tray icon


Languages: Java

Simple Java command line argument parser


Languages: Java

Simple JSON serializer and deserializer in Java


Languages: Java

Simple client to get data feed from thethingsnetwork (TTN) inside an JavaEE application - uses the Eclipse Paho MQTT and RabbitMQ AMQP libraries


Languages: Java

Java EBNF compiler (Recursive descent)


Languages: PHP

A simple JSON based token implementation (JWT with HMAC and RSA signatures)

Dipl.-Ing. Thomas Spielauer, Wien (

This webpage is also available via TOR at http://jugujbrirx3irwyx.onion/

Valid HTML 4.01 Strict Powered by FreeBSD IPv6 support