Projects
This page lists a few hobby projects of mine. For the most part they are unrelated to what I do at my day job.
Remote gate opener
This is an internet-connected 433MHz radio transmitter that imitates a remote for my apartment block’s gate. It hooks into Home Assistant and allows me to open the gate remotely from my phone.
The firmware is based on ESPHome.
Source code is not available for obvious reasons.
Automation with Home Assistant
That is my humble home automation setup running Home Assistant. It’s built around a Raspberry Pi and a Sonoff Zigbee dongle.
I designed a wall-mounted enclosure to fit Raspberry Pi and the dongle, see models. See raspberry-garden on Github for Ansible configuration of Home Assistant and other software running on Raspberry Pi’s around my house.
8-bit Computers
I’ve built two 8-bit single-board computers inspired by the 1980-s home microcomputers. I’ve borrowed ideas from excellent projects such as RC2014, Grant Searle’s homebuilt electronics and Sergey Kiselev’s computers.
The first computer is built from only 6 chips, it runs BASIC. At its heart is a Z80 CPU running at around 7 MHz. It has 32 KiB of static RAM and 32 KiB of ROM.
The second computer is a little bit more advanced. It runs at whopping 10 MHz and includes a few extra features such as:
- CompactFlash slot for persistent storage
- 64 KiB of RAM
- ROM that can be paged out (this is necessary for CP/M to work)
- Built-in usb-to-serial adapter for convenience of use with modern computers
- 2 RC2014-compatible extension slots.
Nixie Tube Clock
This is a digital clock using soviet IN-12 tubes and K155ID1 driver ICs. The enclosure is 3D-printed.
I built a few different versions of electronics and enclosures.
PCB design files, CAD models, firmware
“Little Mac” Smart Clock
A small internet-connected clock inspired by classic Macintosh computers. I keep it on my bedside table.
The bigger part of this project was designing and 3D-printing the enclosure. It’s powered by Onion Omega running OpenWRT-based embedded Linux. The screen is a 128x64 OLED from Adafruit. Software is written in Go, uses periph library, and includes implementation of SSD1325 display controller protocol.
WiFi-connected Tabletop Traffic Light
I took a cheap toy traffic light and turned it into a WiFi-connected indicator. It can be used e.g. to show status of a Jenkins build. In this project I used the ubiquitous ESP8266 WiFi module. The firmware is based on MongooseOS.
Kamaji Quiz Game System
Kamaji is a purpose-built device for playing in-person quiz games similar to Jeopardy. It’s a lock-out device.
I worked on this project with a few friends. We designed several versions of the device and built around a dozen of units.
VictoriaOS
VictoriaOS is one of my oldest projects. It’s a primitive DOS-like operating system. I wrote it to learn x86 assembly and computer architecture when I was in high school.
Source code Website (in Russian)
Telegram Bots
- Chgk Rating Bot: Telegram bot for tracking “What? Where? When?” team ratings on rating.chgk.info
- Lich: Telegram bot for downloading torrents.
Miscellaneous Software
- EV3 Remote: app for controlling a Lego Mindstorms robot via a web UI.
- awsp: simple AWS profile switcher.
3D Prints
I occasionally design 3D-printed things. You can find my designs on printables.com.