Category Archives: Projects

This category contains all projects.

A New Modular CMake Based Toolchain for Feather M0 HAL

In the past months, I developed firmware for a few Adafruit Feather M0 based projects. The reason why I use the Adafruit Feather platform, instead of using an MCU directly, is for modularity.

By using a board on sockets, it can be replaced at any later time with a more powerful one – or by one with additional peripherals.

The only downside of these boards is the programming toolchain. Either you use the Arduino IDE, or solder wires to the board to program the MCU directly using, e.g. Atmel Studio.

Using the Arduino IDE, I am bound to some really horrible written libraries. It is probably a good thing if you are really new to the concept of programming and just likes to get things working. In the long run, I think using these libraries will lead to bad coding habits. Yet, I like the simplicity of using this IDE – compiling and uploading the firmware using the bootloader.

The Atmel IDE is a pure Windows solution with a professional Visual Studio based IDE, introducing unnecessary complexity. The MCU is usually programmed directly, overwriting the bootloader.

So I worked on a compromise: A simple toolchain, which is reusing the tools from the Arduino IDE, also gives the comfort of the simple build and upload process, but it is based on CMake, a modular and widespread build system.

It is not meant to use for beginners. The idea is to provide a system which can be used in a prototype stage from professionals. Writing code to a fully abstract HAL which can later easily migrated to a professional firmware.

In this article, I will briefly describe this toolchain for the Feather M0 HAL. As for the HAL, it is a work in progress. It is meant as inspiration and example.

Update 2019-06-22: I concluded my tests on Linux successfully. For my tests, I used Ubuntu Linux with a compiled version of CMake. At this point, the available CMake package for this distribution was one version behind.

Requirements

I successfully tested the toolchain on macOS and it should work on Linux (Update: Successfully tested on Linux). There are a few requirements for both systems:

  • Works with any Adafruit Feather M0 based board.
  • Arduino IDE 1.8.9+
  • Python 3.7+
  • CMake 3.14+
Continue reading A New Modular CMake Based Toolchain for Feather M0 HAL

Tiny Particle Sensor Node with Decorative Case

This article is about a small sensor node with a decorative case. It is based on the Raspberry Pi Zero W board with a custom sensor shield on top.

I publish all hardware files for a simple version of the sensor, so you should be able to build this kind of sensor nodes and use it to monitor anything you like. You can also extend/modify the design easily with additional sensors. Nevertheless, the case lid design is based around the Plantower PMSA003 particle sensor. It has all required air vents for this use.

The term “node” is used, because the idea of this sensor is to use a large number of these nodes in a network to monitor location and time based sensor data.

I cannot publish any software at this point, until I have a simplified and redacted version which I can publish under an open source license. Yet, accessing the sensors of this node is dead simple and can be easily done.

The Required Hardware

The simplified design is assemble using the following components:

The Raspberry Pi Zero W

I use the Raspberry Pi Zero W because of the very compact size and computing power. Each node can prepare the sensor data, which takes a lot of load from the central processing unit. Also, using a platform like the Raspberry Pi easily allows to run a whole web server on each node – so one can query the sensor data of each node independently. This makes testing a breeze.

Continue reading Tiny Particle Sensor Node with Decorative Case

Snow Flake Project Documentation

I wrote a short page about the snow flake project from end of 2017. On the page you will find a summary of the project and the link to the repository with all the required files.

Everything is open source, including the design files for the hardware and a base version of the firmware for the project.

You need some experience if you plan to produce your own snow flake boards, but this is a beautiful and very rewarding decoration. 

Click on the following link to visit the project page:

Snow Flake Decoration

If you have questions, miss some information or just have any feedback, feel free to add a comment below.

Have fun!

Testing the TPS61092 Boost Converter

For my current project I searched for a good boost power converter which is able to deliver continuous 400mA power for various sensors.

There are an endless number of good boost converters around, but not many can be hand soldered to a board. I would really like to see some like the TPS61092 with SOIC or similar packages. The biggest problem seems to be the heat transport, why most chips have to be mounted flat on the board.

Before using the chip in my project, I created a small test board. Using this board I can test various things. First I liked to test the performance under load. Next I tested if the chip can be hand soldered and finally I tested the final board layout I will use in my project.

Performance

The performance of this chip is really good, producing a very stable output. I designed everything for a load up to 2A with all suggested components from the specification. There will never be a higher load than 0.5A, so I probably could use a smaller coil for the final project.

thermal image

Running under 0.5A load from 3.3V for over half an hour, the chip stays quite cold. Even in my case, where the chip bottom is not directly soldered to the board, it seems to be able to transfer the heat into the board. This is nicely visible in the thermal image of the board.

The Board

lucky-resistor-1

The board was produced by OSH Park in a good quality. If you like to experiment with this chip, you can order this board very cheap at OSH Park using the following link.

Continue reading Testing the TPS61092 Boost Converter

Snow Flake Power Converter

I designed a very simple power converter for the snow flake decoration. The snow flake boards require 3.3V, a voltage which is not commonly available in a household. Therefore the power converter takes 5V USB power and convert it into the required 3.3V.

There is no fancy circuit inside of this box, lazily I simple used a Traco Power TSR2-2433 DC/DC power converter. It is a single component containing everything required. No external components like capacitors or resistors needed.

lucky-resistor-5

Continue reading Snow Flake Power Converter

Snow Flake Component Side

Today I show you a little bit longer video about the assembly of the component side of the snow flake panel.

Compared with the very small 0402 LEDs (1mm x 0.5mm) on the front side, the component side contains just regular 0805 resistors and capacitors.

The first part of the video shows how I apply the solder paste using a metal stencil. I use a system called “eC-stencil-fix” from Eurocircuits. This is basically a set of plates with metal knobs to perfectly align the board with the stencil. With a tick in a checkbox, they produce panels which perfectly work using this stencil fix system, which is really convenient.

Continue reading Snow Flake Component Side

Cat Feeder Device (Quick Build)

I finished a very simple and quick project recently. It is a programmable cat feeder device. The device is just made for one single portion, but it uses this slide which produces the distinctive sound if the pellets hit the bowl. It is no replacement for the usual feeding of the cat, but some flexible addition to give food out of the regular times.

The whole build was done in roughly four days, using a very quick prototyping and build method.

Design and Build Process

First I had to make a decision about the final size of the device. I used Autodesk Fusion360 to create a model of the device and try to fit all required parts into the device.

Cat Feeder Construction

This is one of the last designs I made until I had the right size. I used a different mechanism as shown here, the important part was to get the right size.

Next I bought plywood in the right sizes for the outer shell of the case. I also got some additional panels fitting inside of the shell for the internal structure.

lucky-resistor-1

I created the shell with four sides, left the top and front side open. To work quickly I fastened the panels with hot glue in place. This has the benefit that you can remove panels using a hot air gun in the prototyping stage.

Continue reading Cat Feeder Device (Quick Build)

Plant Watering Sensor Files

There was a long delay with no update about my projects. The reason for this is, I focused on other non electronic related projects. I promised to publish all files and information about the plant watering sensor project in August, and here are all the files.

First some Important Notes

Even with these files, it is a very advanced project to do. To produce the PCB, you need a board house which is used to precise and high quality PCBs, like Eurocircuits. Also all pads are prepared to reflow soldering, and not hand soldering. It may be possible to solder the resistors in place using a regular solder iron, but it will be hard to do.

Continue reading Plant Watering Sensor Files