Archive for the ‘Tips and Tricks’ Category.

Multiband SDR with remote receivers

In past I assembled small SDR receiver based on Raspberry Pi and SDR USB dongle based on software developed by PA3FWM. The problem was with limited usability by multiple clients connected to the Raspberry pi at the same time. The old SDR was retired and put aside for few years.

Then András Retzler ha7ilm developed (and stopped developing) OpenWebRx, which was the base for now regulry maintained and further developed OpenWebRx.de.

I recently built homelab server based on “proper” server infrastructure with plenty of RAM and lots of processing cores. I decided to setup OpenWebRx in one linux virtual machine with raspberry pi only as remote receivers serving single user (server itself).

Continue reading ‘Multiband SDR with remote receivers’ »

Tiny cable tester for UTP and other cables

I developed simple cable tester. The complete project is in my GitHUB repository:

https://github.com/s54mtb/cabletester

This is simple cable testing tool for checking your cables (e.g. ethernet patch cables or house installation). Complete tester consists of two modules and tested cable. Master (left) module is on the left. It is connected to the power supply (battery or wall adapter). Slave (right) is passive and has only LEDs.

Cable tester


What is inside plastic?

Photoelasticity is wonderfull phenomenon. It describes changes in the optical properties of a material under mechanical deformation. It is a property of all dielectric media and is often used to experimentally determine the stress distribution in a material, where it gives a picture of stress distributions around discontinuities in materials. Photoelastic experiments (also informally referred to as photoelasticity) are an important tool for determining critical stress points in a material, and are used for determining stress concentration in irregular geometries. [https://en.wikipedia.org/wiki/Photoelasticity]. Experimenting with photoelasticity photography gives some nice photos at least. It is usefull tool for visualisation of the internal stresses within (transparent) material.

My experiment setup:

Photoelasticity photography setup

Continue reading ‘What is inside plastic?’ »

From c source to cloud with ESP8266

There are many steps from c source code to cloud data storage. Let’s start…

“To get the end, you must go back to the start” – Grandmother Yelsh

In this contribution I will describe how I started using Espressif ESP8266 with Eclipse and some other details how to store data in “usual” web server. I will not talk about the hardware too much. To follow the tutorial it is enough to have any ESP8266 module connected to serial port on PC either via USB/UART virtual cvom port or directly (rare these days). Two most common possibilities are either module with the USB/UART integrated on-board or separated USB/UART + ESP8266-xx module (usually on breadboard with some additional periphery):

Two most common types of dev.boards for ESP8266

Continue reading ‘From c source to cloud with ESP8266’ »

Altium – working with embedded boards

Embedded board arrays in altium could be used for creating panels for multiplication during prototyping. Here is short illustrative example. In this example we will:

  1. create single PCB board design (not covered here)
  2. create and embed array with this single PCB
  3. add some markers and holes
  4. add panel cutouts

Final result, keep reading below…

Continue reading ‘Altium – working with embedded boards’ »

Smart nesting box

Smart nesting box is small wooden box for nesting birds. It is equipped with the live camera feed and some sensors. Four smart nesting boxes were made and three of them were placed in the wild. One was inhabited with the great tit in te early march 2017. After that, the bird laid 11 eggs. The bird then incubated eggs for 12 days. On the Easter Monday, the first shells cracked and newborns started poping out of the eggs.

 

I prepared the whole project for local school. The nesting boxes were made by 8 children aged from 11 to 14 during afternoon classes. It was great fun and the young scientists learned many new skills from electronics, materials, hand tools, crafting, programming, components, circuit design, biology, photography, physics, etc… The nesting box is described in detail here with all necessary production steps. Contact for further info is m@v4.si. The three nesting boxes placed in the wild have…

Continue reading ‘Smart nesting box’ »

APA102C LED strip at 28 MHz clock

I recently received 1m of APA102C led strip with 144 leds per meter. I want to use the strip for rotary POV display so I cut the strip in half and tested the performance with a STM32L476RGT nucleo board. The results of the tests are surprising and very promising for my application.

Continue reading ‘APA102C LED strip at 28 MHz clock’ »

Soldering TQFN with a distance

The MCBs (Machined Circuit Boards – an alternative to DIY printed circuit boards) are now jumping out from the mini-CNC like in high volume production. This is new revision of RH/Temperature sensor with RS485 interface with Si7013:

New revision of Si7013 sensor module - machined boards

New revision of Si7013 sensor module – machined boards

The boards are solder “plated” and prepared for assembly process. However, there is one issue with Si7013. It comes in SMD housing without leads. This is no big trouble, but the thermal pad is, because there is trace routed under the Si7013, which is not GND:

The "problematic" trace is white hatched.

The “problematic” trace is white hatched.

That means it must not be soldered to thermal pad. The good thing is, the thermal pad can be left floating.

Continue reading ‘Soldering TQFN with a distance’ »

Source code generator for Command Line Interpreter (CLI)

Microcontroller with serial bus or USB CDC (virtual COM port) is usually connected to some terminal. User then type commands and firmware in the microcontroller interprets entered commands.

Developing simple interpreter is not very scientific task, more like PITA with repeating chunks of the code. After couple of successful projects with such interpreter I can say my code is somehow tested and proven in the practice. Now I prepared one application which can shorten development process and make my life easier when I start application in new device.

The source code generator generates only command line interpreter. It provides all identifiers for selected commands, provides function prototypes for each command and text template for help. Finally only the functions for executing specific commands should be then implemented.

The final application can be either multi-threaded with RTOS, or flat single thread. In both cases, there should be some function or ISR checking for new char and feeding this char to the command line editor. When new line “arrives”, the function cmd_proc() is called and then the magic happens.

cli1

General structure of the caller thread or application

Continue reading ‘Source code generator for Command Line Interpreter (CLI)’ »

Keyboard for a CNC – recycling a programmable keyboard

Final look

Final look

This keyboard is more than 10 years old. I got it for free but it had its problems. First one was a PS/2 interface. Not ideal for a keyboard used in 2016. Second problem was software for programming this keyboard. It came on not one, but two diskettes with DOS and Windows versions of the software.

That’s where I decided to take it apart and replace electronics inside. New controller is based on KeyWarrior IC which is capable of scanning 16×8 matrix.

This keyboard merges a standard keyboard with a jog controller for a CNC machine. Upper half are “normal” keys and bottom half is for controlling my CNC machine. The shortcut keys will save me a lot of time and trouble when working with the machine.

Continue reading ‘Keyboard for a CNC – recycling a programmable keyboard’ »