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.
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 basic digital clock using soviet IN-12 tubes and K155ID1 driver ICs. The enclosure is 3D-printed.
PCB design files, enclosure CAD model, 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 Controller
Kamaji is a purpose-built device for playing in-person quiz games similar to Jeopardy. It’s a lock-out device which also tracks user scores and time according to the game’s rules.
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.