Simple LAMP Stack with Docker Compose
In an embedded development environment, containerization and containers are still somewhat unfamiliar and not (yet) widely adopted, especially when it comes to smaller projects, or when you are not dealing with DevOps and CI/CD. Fortunately, this trend seems to be slowly (but surely) changing.
Docker uses OS-level virtualization to deliver applications and software in so-called containers. At first glance, this might seem less useful for firmware engineers writing small bare-metal code for microcontrollers - or hardware engineers designing schematics and PCBs. However, it is an extremely powerful and versatile tool and I strongly encourage you to read about it and use it - it's free and open source!
Since I've learned about containers in details, I've started using Docker for my side-projects as well. For instance, I stopped using XAMPP to develop my website (and other sites). Instead, I created a lightweight LAMP (Linux, Apache, MySQL, PHP/Perl/Python) stack using Docker. This allows me to quickly fire up the containers in a matter of seconds whenever I want to work on my website, regardless of operating system, environment or whether I'm using my desktop PC at home or my MacBook on the road.
Check it out here:
Docker LAMP Stack
Projects and Website Update
It's been a while since I have posted something new on my website (I know, I know...). So with this post I would like to give a quick update about what happened recently and what is currently in the pipeline regarding my projects.
A lot has changed since my last post. I left Sensirion in 2022 to pursue new opportunities at Landis+Gyr. It was an amazing 3.5 years at Sensirion. I broadened my skills in both software and hardware engineering. I'm very grateful and at the same time proud to have engineered some of the new generation of sensor modules ranging from consumer to automotive sectors, which sell over 1M+ units per year. As I'm always keen to learn new stuff, I took a deep dive into the field of infrastructure: I learned a lot about CI/CD, build systems, virtualization and automation. I also got to know some fantastic and highly-skilled people at Sensirion, from whom I have learned a lot, not only professionally but also on a personal level.
I joined Landis+Gyr in the summer of 2022 as a Senior Firmware Engineer. Landis+Gyr is the market leader in electricity meters. I'm currently working on the firmware for the new smart meters. A few weeks ago I received a flyer from the electricity supplier company where I live. They are going to install the new smart electricity meters from Landis+Gyr in my area! That was the moment when I realizd that this is exactly why I'm in this field: it's an amazing feeling to see something I've worked on come to life, be deployed and serve the people.
As I'm currently working full-time, it's difficult to devote time to my projects. I actually have quite a few ideas in the pipeline, some of which I have already implemented. Some of them have already have an MVP (Minimum Viable Product), but I still have to document them properly before putting them online. These projects target some firmware, software and infrastructure-related ideas. I've been also toying with the idea of diving into the latest front-end and back-end technologies - just for fun!
In the meantime, I did some maintenance on my website. I merged the Snippets into the Projects page - so that there is only one streamlined page for all of my projects, added a new Skills section to the About Me page, and updated some outdated information on my website. I also added some new styling to the navigation bar, fixed some formatting issues and made some under-the-hood changes.
So stay tuned, and get ready for some new projects in the coming weeks!
STM32 RTC Scheduler
I've managed to find some time to finalize my latest project and its documentation: the STM32 RTC Scheduler project! This is an RTC-based scheduler implementation that allows applications with real-time operating systems (RTOS) to schedule and execute recurring, periodic tasks while minimizing power consumption to maximize battery lifetime.
The RTC Scheduler is demonstrated on the STM32L496-Discovery board. The example project can be compiled straight out-of-the-box with IAR EWARM, Keil uVision and GCC for Arm toolchains.
Check it out and read the documentation here:
STM32 RTC Scheduler
1-year anniversary at Sensirion
After finishing my master studies at ETH Zürich, I started working as a Hardware & Firmware Engineer at Sensirion. I'm responsible for designing hardware and developing firmware for the upcoming sensor devices and modules for consumer, industrial, medical and automotive applications, as well as custom, state-of-the-art hardware platforms used internally in R&D, testing and production.
Since I'm employed with 100% workload, this unfortunately means that I have limited amount of time to work on my personal projects. Ironically, I have nowadays more project ideas than in the past years... Nevertheless, I will definitely keep developing new ideas and side-projects, so stay tuned for upcoming updates!
The state-of-the-art geophone platform I have developed as my master thesis at ETH Zürich served as the basis hardware of a research paper which got accepted and published in the Proceedings of the 18th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN) journal. The event was organized between April 16-18, 2019 in Montreal, Canada.
||Event-triggered natural hazard monitoring with convolutional neural networks on the edge
||Matthias Meyer, Timo Farei-Campagna, Akos Pasztor, Reto Da Forno, Tonio Gsell, Jérome Faillettaz, Andreas Vieli, Samuel Weber, Jan Beutel and Lothar Thiele
||18th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN), April 16-18, 2019, Pages 73–84
Successfully graduated from ETH Zürich!
I received my master's degree in Electrical Engineering and Information Technology from ETH Zürich in 2018.
The past years were filled with lots of events and hard work. Beside my studies, I was working part-time for the Computer Engineering Group at ETH Zürich for almost two years, continuously. Then I started my master project, a state-of-the-art geophone platform, which had remarkably great results. The developed system was even featured on SRF Einstein (Swiss TV show).
I would like to thank everyone who supported me during this challenging and exciting journey.
The Geophone Platform is featured on SRF!
I am happy to announce that the geophone platform I designed and engineered as my master thesis at ETH Zürich was featured on SRF Einstein (Swiss TV show). The part of the episode, titled "Forschung extrem: Datensammeln im Permafrost" introduces the geophone platform alongside with the wireless sensor network deployed and operated in the Swiss mountains.
Watch the video
I started my master thesis titled "Event-based Geophone Platform with Co-detection" in November 2017 at the Computer Engineering Group of ETH Zürich. My work is about developing a new, state-of-the-art networked sensor platform focusing on detecting and recording micro-seismic activities to provide early warnings for natural hazard mitigation. It features ultra-low power consumption; always-on, dual-side, multi-stage triggering; co-detection and more.
I have already finalized the hardware design, and the software is currently receiving its final touches. The hardware already went into production state, and currently 50 pieces are being manufactured. They are going to be deployed and used this summer in the Swiss mountains. Check it out:
I developed a customizable, easy to use bootloader for STM32 microcontrollers. This example demonstrates how to perform in-application-programming of a firmware located on an external SD card with FAT32 file system. The bootloader features:
- Configurable application space
- Checksum verification
- Flash protection check, write protection enable/disable
- Extended error handling, fail-safe design
- Bootloader firmware update and the ability to perform full chip re-programming: enter ST's built-in bootloader from software (without triggering the BOOT pin)
- SWO tracing for easier debugging and development
- Easy to customize and port to other microcontrollers
- .. and more!
Check it out:
STM32 Circular DMA with Timeout Event
As a result of one of my ongoing projects, I created an efficient DMA timeout mechanism for peripheral DMA configured in circular mode. The concept is demonstrated on a STM32 microcontroller. This example presents how to implement performance-efficient DMA timeout mechanism for peripheral DMA configured in circular mode.
STM32 DMA UART
Working at ETH TIK
As of May 2016, I'm working part-time (beside my master studies) in the engineering team of the Computer Engineering Group (ETH TEC) within ETH TIK.
Currently my main task is to redesign the Wireless GPS device within the Permasense project. My work involves complete hardware development, including PCB design and embedded software development.
Wireless GPS 2.0
Continuing my Master Studies at ETH Zürich
After a lot of hard work, preparation and persistence, I got admitted to ETH Zürich which is among the top technical universities around the world. Therefore I'm continuing my studies as an MSc student in the field of Electrical Engineering in Zürich, Switzerland.
I am truly grateful to the people - especially to my parents and my friends - who helped me achieve this amazing result.
Introducing the Smart RC-Car project
I have started a new exciting project! I am designing and building an ECU (Engine Control Unit) from the ground for a 1:8 scale RC racing car.
- ECU, including: ABS, ASR, ESP
- Regenerative braking
- Object detection
- Automatic object avoidance and object following features
- Controllable from smartphone
- ... and more!
The Home Automation System
At the end of last year I finished the hardware & software of the Home Automation System. I needed to perform some afterwork, prepare the essay and finish the documentation. I can gladly announce that the project is now completely finished.
The system consists of a Central Unit, which features:
- Two PCB-s designed to fit perfectly into an aluminum enclosure
- ARM Cortex-M4 core microcontroller
- 5" LCD touch screen
- microSD with FAT32 file system
- USB, Bluetooth, Ethernet, 2.4 GHz radio, RS-485, KNX
- LEDs, piezo
- self-designed 230V AC power supply
... and three External Units, which feature:
- ARM Cortex-M3 core microcontroller
- Modular temperature, humidity and various gas sensors
- 2.4GHz radio, RS-485, KNX
- Relays, LEDs
Watch the video introducing the main features of the system, and read the documentation here:
Home Automation System
Successfully graduated from BME!
Today I have finished my Bachelor degree with the qualification of "Excellent with Highest Honors"! It was a long and exciting journey with a lot of challenges. I would like to thank everyone who helped and supported me during my bachelor studies to achieve these great results.
Scientific Students' Association Conference
I'm really glad to announce that we achieved Third Prize at the Scientific Students Association Conference for presenting our paper about "Developing a Modular Home Automation System". Moreover we won the Rubin YOUNG TALENT Sustainability in Engineering Special Prize for our outstanding engineering work.
The paper was published at the BME-TDK website but also can be viewed under the Papers menu.
I would like to thank everyone who supported us during our work to achieve these results.
Introducing the Home Automation project
I started this work last semester as my Laboratory project and this will be my BSc. degree thesis as I graduate at the end of this term. Currently I'm in the final stage, I need to finish the software which is almost done and I've already started writing the documentation and essay. I'm updating the website and info about this project ASAP.
Home Automation System
The myPhone v2.0 documentation in Hungarian
Now you can view the documentation of the myPhone v2.0 project in Hungarian!
Read more about the myPhone-v2 project here:
The myPhone v2.0 is finished!
Today I have completely finished the myPhone v2.0 project!
I had to replace some components (eg. resistors) to everything be perfect and I have finished the software too. I'm sure there are a few minor bugs in the code but I have limited time and the device is made in order to learn a lot during the making and not for commercial use. Moreover, I have new ideas how to continue and improve the device and myself. Maybe equip it with new components like LCD touch-screen, bluetooth module, WI-FI module? Then I'm sure I need a new, more powerful processor like an ARM...
Building the myPhone v2.0
I got the PCB-s to manufacture here at the university (BME), at the ETT department. They were fast, so I could start the soldering shortly after I placed my order.
I'm soldering all components by hand. Here are some photos about the progress:
I have finished the myPhone v1.0!
Today I have completely finished the myPhone v1.0 project! You can read about the whole process here:
Now I can continue my work on the myPhone v2.0 project. This myPhone will really deserve the name "mobile" phone as it will have two rechargeable batteries for power supply. I will put the PCB in an enclosure with a small loud-speaker and a microphone. I have plans for the keypad too: a custom designed foil keyboard with cutouts on the top of the enclosure!
Site is ready!
I decided to build a website, so you can follow my projects and academic work here. If you have any questions, feel free to contact me. You can find my contact information under the Contact menu.