munsel

syncgrips

arduino

Pushup handles with integrated weight sensors. Track pushup workouts in realtime with smartphone app and Bluetooth Low Energy.

  • CAD in build123d
  • ESP32 firmware
  • Figma UI design
  • react-native app

The app syncs both connected devices and displays the data to act as a biofeedback device to improve balance while doing pushup workouts. It also has a 'hot wire' mode for gamified workouts. Like train rider but the balance of your body for control left/right.

smue2 keyboard

blendersvg

Complete rewrite and next design iteration of my keyboard generator. Mesh-based geometry has its limitations and instead of using CGAL-backed OpenSCAD it uses the B-Rep CAD-Kernel OpenCascade as the core component for generating geometry.

  • Bluetooth Low Energy and USB hardware.
  • Procedural generated 3D-models and circuit boards.
  • Uses cadquery and build123d to control the CAD-Kernel.
https://smue-keyboard.com

Tokens as a Service

cardanopostgres

Create custom tokens on the Cardano blockchain. Append any metadata and place it with a minting-transaction on the blockchain. Can be used to get an unchangable proof of some file being present at least at the creation-date. Can also be used to create non-fungible tokens of any kind, which is just some metadata to an image file inside of the transaction.

In 2021, it was not possible to mint custom tokens on the Cardano blockchain with a smart contract. To do this, one had to place a custom minting transaction on the blockchain via its command line interface instead. I built a little frontend to create such tokens with Rust and the fastest webframework that was available at the time, actix-web. The user could:

  • Upload a media file
  • Send shown amount of ADA to the service
  • Get your file as a token along some ADA returns back

The service was made up with a webserver which faced the user and tracked orders and a webclient, that checked the blockchain for incoming transactions, mapped them to the orders of the server and created all nessesary transactions on a Cardano node.

Floppy Venture

typescriptthreejsredux

Teaching Computational thinking with this educational game, where a robot needs instructions to get to the next level. Use drag and drop to compose functions with blocks. An interpreter then runs those commands and controls a robot 3D-Model in the Scene accordingly.

smue keyboard

clojureblender

A dome-shaped split-keyboard with Bluetooth Low Energy. Completely procedural generated 3D-models and circuit boards from code. Uses Constructive Solid Geometry, NURBS surfaces, linear algebra and other math tricks."

Bogus Exchange

elixirpostgres

The Bogus Exchange is a casual game. Paper trade some random walk with friends. A whole week in 5min. Just create a new Game, send the game-link to your friends and find out, who is the best stock trader. Or the most luckiest one.

https://bogex.net

Autonomous Air Quality Sensor

arduinoinfluxdbgrafana

Measures seven properties of the air we breathe. Warns you when air is not fresh. Completely solar-powered with LiFePO4 battery instead of a LiPo. Wakes up every 5 minutes, takes measurements and pushes it to a timeseries database. A grafana dashboard is used to view the data.

Measures:

  • CO
  • CH4, NOx
  • P2.5, P10 particular matter
  • relative humidity and temperature
  • Volatile organic compounds

SPINNE

Cgrafana

A lamp that is able to move in all directions.

Custom ATMega328p-based PCB:

  • Closed-LoopControl of four DC Motors
  • High-Power LED-Driver and RGB LED control
  • Receive/Send Bluetooth Data
  • Battery and Power Management
  • Firmware written in C, compiled with avrgcc

Android-App:

  • Bluetooth Remote Control
  • Crete Command Queues
  • Game-Loop-based rendring using libgdx

glooper

grafanablender

Flappybird-inspired casual game for android. Fish swims in a circle. Touching the screen changes the direction. You can either swim in a right circle motion or in a left one and the goal is to survive while finding out of the cave. Using Box2D as a physics-engine for collision detection.

Rayfork

grafana

Proof of concept for an endless-scrolling casual game on mobile. Try to get the laserbeam as far as you can. Used OpenGL rendering, Box2D physics-engine for raycasting and dragging that respects interfering objects and collsisions.