My name is Petr Ermishkin. I’m Rust developer from Moscow (Russia). I’m interested in web design and electronics.

My CV По‐русски


Telegram messenger bot connecting you with a random stranger. You’re able to specify sex of the stranger and language to talk.

Learn More


Arbitrary (Li-ion, NiCd and others) accumulator charger based on switching power supply regulated by ARM microcontroller

Learn More


The bot for increasing your Instagram audience by following people and unfollowing them after specified period of time ;)

Learn More

Add to Feedly Plus

Firefox browser extension allowing you to quickly add RSS feeds to Feedly reader. Its peak daily users count was about 2.6 thousand people.

Learn More

Nixie Clock

Unusual steampunk-themed clock with orange glowing cold cathode display and automatic brightness control based on ARM microcontroller

Learn More

kapustkapust website

Pomeranian spitz nursery website. Contained information about puppies on sale. Had sophisticated internal admin interface.

Learn More

My GitHub

Crontab files parser, my ARM programming experiments and a lot more—my GitHub is a reflection of my interests.

Learn More


J2ME midlet turning your old cell phone to an English to Russian (and backwards) dictionary. It uses digits keys for predictive (T9-like) words input.

Learn More

Programming Arduino Nano with AVRDUDE to drive a shift register

Arduino Nano is a pretty cheap single-board microcontroller kit. It’s very useful for a tasks like generating specific signal, programming EEPROM, etc. For example Ben Eater uses it to program EEPROM. If you want to build a great device from scratch I still recommend you STM32 but if you want to solve some problem very quickly (and perhaps dirty), you can use AVR microcontroller inside the Arduino Nano. In this article I’ll show you how to program Arduino Nano on Ubuntu to drive 74HC595 shift register.

STM32 L152 programming with libopencm3

In my last post I’ve described long way of configuring non-proprietary toolchain for ARM programming. I was pretty satisfied with it except two of its elements: Eclipse (I’m not a fan of large IDEs) and proprietary STM32 L1 standard peripheral library. The post have also covered cherry-picking of needed files from this libray to transform STM32 F1 blinking “hello world” to STM32 L1 blinking project. Today I’ve found much faster way to start STM32 L1 programming.

STM32 L152 Discovery kit toolchain setup

ARM microctrollers (MCUs) are cheaper and more powerful than popular Atmel AVR MCUs (source, Russian). I’m familiar with AVR architecture and I have small experience of work with ATMega, but I want to study usage of ARM MCUs in real applications. If you have some experience in programming and working with some electronics this article may help you to start studying ARM platform.