Welcome to my website!

Hey there, random internet dweller, welcome to my website! My name is Michal Procházka, and I'm a student currently living in the Czech Republic.

29 days, 18 hours, 28 minutes & 29 seconds without an accident!

I tend to focus primarily on computer-related projects either just for fun, or because I somehow have an actual need for the thing that I'm working on and there isn't any other viable solution available (that, or because I'm just cheap and doing things myself is, well, cheaper). Either way, I find the results of my development work rather cool. Don't be afraid to scroll down and explore!

Either that, or you can watch this hilarious video I found on the internet the other day.

My ugly face

Please keep in mind that this site is still under construction and is subject to change! (Don't worry, I'm talking about just adding new content, I don't have any intentions to turn this site into the stereotypical soydevvy JS-riddled infinitely scrolling unusable garbage that is so common on the web nowadays.)

What I'm trying to say is that if you visit this site every couple of months, there may be new stuff to explore. That's it.

Alright, enough rambling. Enjoy your visit!

Under construction

Latest post from my blog

That's right, I created a blog where I (sometimes) post about my projects (or really about anything I want)! To give you a small taste of what my blog has to offer, here's a link to my latest post:

The Journey To MODPlay

Topic: Software development | Published 2022-09-11 19:23:14 UTC

MODPlay is an easy-to-use MOD file player library written in C which is near-100% compatible with the original ProTracker (except for a few weird effects which behave quirky in most trackers anyway). While only being a player (compared to a fully featured editor), it was still a journey to get it to a state which I am now happy with. And I built a neat little retro-themed web-based MOD player app using this library. To try it out, just click on the screenshot above. What is it exactly? It is a .mod file player. MOD files are a type of music format, which cont...


Latest projects

Here's some cool stuff I have worked (or even am currently working!) on. I mostly just write software, but sometimes, hardware gets into the mix as well. Remember that most software I write is licensed under the GNU GPL v3 Free Software license, meaning that it is free for anyone to use, modify and share.

tinyWatch

Firmware written in AVR assembly, shell designed in OpenSCAD

My old analog watch broke down (partly due to my fault), so instead of buying a new one, I decided to find out if I was capable of cobbling a half-functional wristwatch together from random crap that I already had lying around at home. The result of that is a reasonably stylish ATtiny1614-powered watch with a 128x64 monochrome OLED screen and a not-too-thick 3D printed housing. And the bloody thing works!

A picture of the tinyWatch showing time somewhat accurately

The firmware was originally written in C, but around the end of July 2022, I managed to rewrite the entire firmware to AVR assembly (using avra syntax). Thanks to that, I was able to squeeze the firmware size down from ~3 kB to ~2 kB. Impressive, right?

No, but really, I am planning to add more functionality to the watch (such as a stopwatch & timer, perhaps a serial terminal with Morse code input (as the watch already has a UART), user storage for viewing text etc.), I just didn't manage to get around doing all of this.

As a side note, the watch clock currently runs from the ATtiny's integrated 32.768 kHz crystal, which is utter crap. From the datasheet, it can actually run anywhere from 31.5 all the way to 36 (!) kHz, wildly depending on the voltage and temperature. A revision 2 is going to use an external, good 32.768 kHz crystal instead (if such revision ever comes to light).

MODPlay (and its web-based GUI wrapper)

Library written in C, web app written in JavaScript, HTML, CSS

MODPlay web screenshot

Being in line with tracker-related projects, here is another one of mine. It is an easy-to-use MOD file player library written in C which is near-100% compatible with the original ProTracker (except for a few weird effects which behave quirky in most trackers anyway). While only being a player (compared to a full editor, such as the previously mentioned Polytone), it was still a journey to get it to a state which I am now happy with.

Then, I got the brilliantly dumb idea to compile the library into WebAssembly using Emscripten and build a web-based GUI around it. And not just any GUI. A Windows 3.11-themed one! Because why not. It took me about a week of pure suffering (as I had to finish it for a deadline as an IT class homework), but the result (in my humble opinion) speaks for itself.

More info about the history of MODPlay is available in my blog post about it.

Want to try it out and hear how it sounds? Just click here!

PainDoctor and its Android companion app

Firmware written in C/C++, app written in Java

Picture of the PainDoctor

As many of my projects go, this one also stems from a teacher giving us a homework task. This time, it was our English teacher, who split us into pairs and tasked us to make a video advertisement for some fictional product. Our product, however, was not fictional. It was real, and the best part: it actually worked.

Powered by 2 AA batteries and an accelerometer mounted on a spring stolen from a ball-point pen, this thing managed to track your running motion, and if for whatever reason you stop, after a few seconds, it will give you a nasty electric shock in the belly (mounted on a belt). That's right, it literally shocks you back into motion. Does this sound a bit familiar?

This device hosts its own WiFi hotspot, from which you can download an .apk file (straight from the PainDoctor, even if you're in the middle of the woods without any connection) and install it. After running it, you will set how long you wish your exercise session to last and how strong of a shock you want. After hitting "Go", tighten the belt, drop the phone and run!

Here is a link to the video we made about this project (enjoy my awful accent). I know that it doesn't show the hardware all that much, but trust me, it worked shockingly well (pun intended). This is one of those projects which I think deserves a sequel, whose design & development time will not be limited to a single week.

Click here to expand the entire list of my projects.


Other cool stuff that is hosted on this server

My own stuff

Stuff that I might have helped with at some point

Mirrors of other cool stuff

Stránky v češtině (sites in Czech)


GitHub Mail Reddit (not that I use it that often, but here you go anyway) YouTube