1. COMPANY
  2. PRODUCTS
  3. SERVICES
  4. NEWS
  5. CONTACT
  6. SHOP

Piotr Król

Founder and Embedded Systems Consultant at 3mdeb as well as CTO of vitroTV. Passionate about building firmware that enables advanced hardware features in modern products. Dedicated to customers that treat embedded software security and upgradability as forethought. In favor of fixed price projects with the clear definition of success. Available as freelance CTO for startups and small business.

Social media profiles

Check GitHub profile


Articles (76)


ESP-12 update to SDK v0.9.5 and AT v0.21.0.0? noobs tutorial

Published at January 25, 2015 ·  5 min read

January 23th Espressif published new ESP IOT SDK on their forum v0.9.5. My ESP-12 came with with pretty old version so I decide to update it to latest one: 1 2 3 4 5 6 7 8 9 10 AT+RST OK y_RSöfJ[úndor:www.ai-thinker.com Version:0.9.2.4] ready AT+GMR 0018000902-AI03 OK ESP-12 firmware update pin configuration As picture presents in addition to normal operation we have to pull down GPIO0 and pull up GPIO2....

Categories: firmware iot

Power on of ESP-12 (ESP8266)

Published at January 24, 2015 ·  3 min read

ESP8266 is a SoC made by Espressif. For last couple of months this chip is a rockstar of HackADay and makers community around the Internet. Mostly because of WiFi modules built based on it (ESP-XX family). Rich interface (GPIO, SPI, SDIO, I2C) give those boards potential to be standalone MCU with WiFi capability for wide range of applications. In quantity you can get ESP-01 for $2.7 (for 1kpcs). Of course there is no free lunch....

Categories: firmware iot

Raspberry Pi kernel repository aggregating patches for Linux mainline

Published at October 15, 2014 ·  3 min read

Since several months I’m trying to find my way to embedded Linux programming. My hardware set was very limited I had only one board that can be called “embedded” and it was Raspberry Pi. Because I am more interested in firmware/OS level then hardware I tried to figure out what is going on with RPi kernel. After taking brief review of raspberrypi/linux GitHub repository I realized that close to my heart is upstreaming effort....

Categories: os-dev

virtualbox-dkms: fix alloc_netdev problems when compiling with 3.17.0-rcX headers

Published at September 20, 2014 ·  4 min read

Intro Because of my bug hunting approach of using latest kernel I experienced problem with compiling VirtualBox modules with 3.17.0-rc5 version on my Debian Jessie. Issue is well known and described for examples here. Problem manifest itself with: 1 2 3 4 5 6 7 8 9 10 11 12 ------------------------------ Deleting module version: 4.3.14 completely from the DKMS tree. ------------------------------ Done. Loading new virtualbox-4.3.14 DKMS files... Building only for 3....

Categories: app-dev

How to fix backlight issue on IdeaPad y510p

Published at August 23, 2014 ·  1 min read

Today I decide to switch to latest kernel (3.17-rc1) on my IdeaPad y510p. I hit only one annoying problem until now - after booting my main screen was dimmed. I tried all instructions from top google hits for all possible configurations of keywords linux, y510p, backlight issue, etc. Especially I tried all methods from Arch Wiki. Finally I found solution, by greping modinfo for my Intel graphics card: 1 2 3 4 5 [23:55:24] pietrushnic:~ $ sudo modinfo i915|grep backlight parm: invert_brightness:Invert backlight brightness (-1 force normal, \ 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem \ vendor and subsystem device ID to dri-devel@lists....

Categories: os-dev

Linux, RPi and USB over IP

Published at August 18, 2014 ·  10 min read

Trying to google ‘USB over IP’ doesn’t give much except some business web pages that give you it as a service. This brings some information about potential on the market IMHO. Main idea is well presented on open source project page for usbip. I really recommend to read USB/IP - a Peripheral Bus Extension for Device Sharing over IP Network technical paper it describe briefly technical details and capability....

Categories: firmware

Coreboot for QEMU armv7 (vexpress-a9) emulated mainboard

Published at August 7, 2014 ·  8 min read

Recently I came back to look into coreboot. Mainly because low level is fun and skills related to firmware (even coreboot) starting get attention on freelance portals (first odesk job, second odesk job). I was surprised that under the wings of Google coreboot team start to support ARM (BTW ARM programming is IMHO next great skill to learn). So I cloned latest, code compiled QEMU armv7 mainboard model and tried to kick it in latest qemu-system-arm....

Categories: firmware

Linux (Debian Wheezy) on Lenovo y510p

Published at May 16, 2014 ·  4 min read

After long analysis I decide to buy new laptop. I had about $1000 (or 3000PLN) and most important things to me were: i7 CPU - because of performance (of course at least 4700 series) SSD - again performance 17.3” - working space no OS/FreeDos/Linux - I will not pay additional fee to M$ for system that I won’t use Full HD resolution at least 8GB RAM non-glare display First I realize that my budget is to small for such a hardware....

Categories: os-dev

Improve productivity with Google history using bookmarks and Chrome extensions

Published at July 30, 2013 ·  5 min read

The idea of this post is very simple (as usually) and I wonder why I didn't thought about it earlier. The point is to use history of your Google queries to improve productivity. Most of things that we google can be replaced for example by browser extensions, bookmarks or rss feeds. Thats how we can gain few additional free seconds on each google-type-click cycle. Statistics Depending on different factors we spend a lot of time in browser....

Categories: miscellaneous

0x6: Root file system for embedded system

Published at June 7, 2013 ·  10 min read

Table of contents Introduction Get and build BusyBox Fast and simple Setting up kernel through NFS Verify Configuration Embedded filesystem tuning Summary Introduction To make our embedded linux work as virtual development platform we need some environment after booting. There is many approaches to get working root file system but I will use the easiest one as an exercise. I don’t want to create full embedded distribution (this is good plan for future works)....

Categories: os-dev