Hardware and software projects

This page lists some of my personal, commercial and research projects. Most of the resources are available under permissive open-source licenses, including the hardware. Sources are available at https://github.com/iqyx.

If you happen to have any questions or seek additional information, contact me using qyx@krtko.org or qyx@freenode, qyx@leenode, qyx at libera.chat

Remote data acquision, NW-R platform series

NW-R is a platform enclosed in a minimised 2U subrack made of standard and readily available subrack components and extruded profiles containing a backplane and a couple of hot-pluggable cards performing various data acquisition and processing tasks.

Documentation of the platform itself, components designed and/or made by me and a roadmap of the project is available in a dedicated section The NW-R DAQ platform.

../_images/preview.png ../_images/preview1.png ../_images/preview2.png ../_images/preview3.png ../_images/preview4.png

DAQ and sensors, other

../_images/preview2.jpg ../_images/preview5.png

LoRaWAN accelerometer for structural health monitoring

Field test (3 prototypes)

incl-g104mf is a commercial product for structural health monitoring and measurement of self-resonant frequencies of buildings and steel bridges, more specifically. It is a battery powered device in an aluminium waterproof enclosure with dimensions of about 60x50x40 mm attached to the building using strong neodymium magnets.


Miniature DAQ device in a Gainta G201 enclosure


nwDaq-G201 is a miniature data logger / remote data acquisition system for CAN based sensors. It is mainly intended to be used as a low cost solution for simple and possibly disposable applications when the components can be damaged or lost.

It is housed in a waterproof polycarbonate enclosure with IP67 rating. Only a single 5pin M12 A-coded connector is protruding the case. The connector is pin-compatible with CANopen/DeviceNet cabling.

Low power data acquisition, old NatWatch series

DAQ software

Gadgets, personal

LoRa GPS tracker/pager

After much negative experience with Android GPS tracking (battery usage, bad reception) I decided to build my own dedicated GPS tracker just for the lulz. And despite the fact that multiple similar devices are readily available on the market.

This is a revival after many years, now with a LoRa radio and a button keyboard.

Wireless networking, personal

RF amplifier for the 433MHz band

Amplifier and filter for amateur balloon telemetry reception

qNode5 - uMesh debug platform

uMeshFw compatible debug platform with a STM32F407 MCU, sub 1 GHz radio, gps receiver, LiPo accu and a large STN transflective LCD display.

Software, other

TreeCli - a hierarchical, tree structured command line parser/interface

Treecli provides a convenient way to configure various embedded devices using common serial and network interfaces. It is inspired by command line interfaces commonly found in network gear (switches, routers, firewalls..).

LineEdit library

Lineedit aims to be a lightweight command line editor usable over common stream interfaces (like sockets, serial ports, etc.). It was written to be used on an embedded platform and its features and code are optimized for embedded environments.


(OSS, not maintained anymore, used in Plumcore and other personal projects. Replaced by SPIFFS available on GitHub)

Simple filesystem originally developed for saving configuration and firmware update images on NOR flash memories in embedded systems. It is based on other similar filesystems (like yaffs, jffs), but it is made even simpler. No filenames or directory structure is supported, files are referenced by their IDs (like on smart cards). Filesystem is optimized for simplicity and is probably unoptimal in every single way.


(OSS, not maintained anymore, used in personal and commercial projects)

A simple display list rendering library. The main difference from other libraries for drawing objects on a canvas is that in qdl the objects are rendered when display refresh occurs. Objects to be drawn are sorted as a nested boxes (hierarchical structure, tree). This approach uses much less memory and allows drawing on large displays without controller with dedicated display memory. It also makes “redrawing” the screen and user interface widgets easier - there is no need to actively redraw anything after changes.

Hardware, other

Documentation backlog

Below is the list of projects partially done and waiting to be documented.

PEEP (Photo-Electronic Erosion Pin)

New implementation of an old concept to determine the amount of soil erosion using simple photoelectric sensors. Fully wireless with photovoltaic energy harvesting and a sub-1 Ghz radio.

GPS-synchronized VLF receiver

A receiver for the purpose of lightning detection and mapping. Project was started long time ago as a possible contribution to blitzortung.org, however it was abandoned later. There are plans to revive it with many improvements compared to the original design. 02/2018 - Part of the project is implemented with the kiwi-basic digitizer

Planned projects, roadmap

Snow pit profile measurement with capsensing

A vertical probe for measuring water content in a snow pit layers to assist with avalanche prediction.


nwDAQ-P-PV122 Dual 10 W MPPT power input


nwDAQ-P-PV122 is a dual 10 W MPPT photovoltaic power input for the nw-r platform. The two inputs are fully independent and comprise a LT3652 buck converter and a full power-OR output. MPPT is controlled by an embedded STM32G4 MCU communicating with other devices on the backplane using CAN/CAN-FD.


nwDAQ-P-LI160 60 Wh Li-Ion battery pack


nwDAQ-P-LI160 is a 3 module wide battery pack containing six 18650 Li-Ion cells together with a 20 W charger and a 20 W boost converter providing up to 4 A of 5 V backplane power. To enable charging at low temperatures, a battery pre-heater driver is included. Button on the front panel allows the user to check the battery state of charge using a LED bar-graph display.