Projects

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)

Alpion - a LoRAWAN GPS tracking and monitoring project

01 Jan 2020 - tsp

We tried to do something useful using LoRAWAN and since a friend from VelocIT also liked the idea we started the development of GPS tracking and health monitoring for cattle (and other stuff) using LoRAWAN based GPS trackers. We started out developing using some 0815 breakout boards to play around, used ESP32 based custom hardware and now are moving towards a new STMicro platform supporting stuff like GPS tracking, motion analysis, detecting abnormal behaviour and are crunching data on Amazon webservices to provide some highly scaling solution. I'm doing software (architecture, AWS services, embedded firmware) and hardware development (RF frontend design, power management, etc.) for this project at this time.

Public GitHub repositories

sudokusolve

https://github.com/tspspi/sudokusolve

Languages: C99

Backtracking Sudoku (simple) solver for standard 9x9 sudokus in ANSI C99

jscadModels

https://github.com/tspspi/jscadModels

Languages: JavaScript

A small collection of some OpenJSCAD models I've created

DualDRV8825DrvStepperBoard

https://github.com/tspspi/DualDRV8825DrvStepperBoard

Languages: C99

Motion controller code for an AVR based dual stepper controller board

libcjson

https://github.com/tspspi/libcjson

Languages: C99

C JSON parser and serializer

libminor

https://github.com/tspspi/libminor

Languages: C99

Compression library

libstlio

https://github.com/tspspi/libstlio

Languages: C99

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

libccsv

https://github.com/tspspi/libccsv

Languages: C99

CSV parser library (including ACSL contracts)

stepperDriverULM2003RS485

https://github.com/tspspi/stepperDriverULM2003RS485

Languages: C99

Most simple (no acceleration) stepper driver firmware for ATMega328P to control two ULM2003 stepper drivers via RS485

LocalMarlin

https://github.com/tspspi/LocalMarlin

Languages: C

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

rawsockscpitools

https://github.com/tspspi/rawsockscpitools

Languages: C99

A simple collection of rather crude CLI utilities to talk with specific lab devices using SCPI over Ethernet

eit2nfo

https://github.com/tspspi/eit2nfo

Languages: C99

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

libbaseencode

https://github.com/tspspi/libbaseencode

Languages: C99

Simple C99 Base16, Base32 and Base64 encode and decode library

SensorNodeFeather32u4IIDHT22

https://github.com/tspspi/SensorNodeFeather32u4IIDHT22

Languages: C++

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

Feather32u4_BasicLoRA_OTAA

https://github.com/tspspi/Feather32u4_BasicLoRA_OTAA

Languages: C++

Basic OTAA code for feather 32u4

arduinoSimpleESP8266Lightswitch

https://github.com/tspspi/arduinoSimpleESP8266Lightswitch

Languages: C++

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

arduinoOnewireMaster

https://github.com/tspspi/arduinoOnewireMaster

Languages: C++

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

simpleFreeBSDPeriodicZFSSnapshotScripts

https://github.com/tspspi/simpleFreeBSDPeriodicZFSSnapshotScripts

Languages: Shellscript

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

win32TrayUuid

https://github.com/tspspi/win32TrayUuid

Languages: C#

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

jcliargs

https://github.com/tspspi/jcliargs

Languages: Java

Simple Java command line argument parser

TJSON

https://github.com/tspspi/TJSON

Languages: Java

Simple JSON serializer and deserializer in Java

TTNClientJ2

https://github.com/tspspi/TTNClientJ2

Languages: Java

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

jebnfc

https://github.com/tspspi/jebnfc

Languages: Java

Java EBNF compiler (Recursive descent)

PhpJsonToken

https://github.com/tspspi/PhpJsonToken

Languages: PHP

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

v4l2grab

https://github.com/tspspi/v4l2grab

Languages: C

Fork of the small v4l2grab utility (not my own work)


Data protection policy

Dipl.-Ing. Thomas Spielauer, Wien (webcomplains389t48957@tspi.at)

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

Valid HTML 4.01 Strict Powered by FreeBSD IPv6 support