Large screen for Raspberry Pi with no compromises

2016-08-27 08.57.09

There are plenty of screens for Raspberry Pi on the market. However, most of them is quite small varying from 3 to 10 inches most.

Some of those screens are dedicated ones some have HDMI interface through which you can connect it to RPi. Well, you can even use analog output to display the content of RPi’s desktop on a TV.

Continue reading

Making a PCB using the UV light method

PCB_UV_method_logo

This is a step towards PCB prototyping. Some time ago a similar post was published but it concerned making a PCB using a thermo transfer method. If you need to prepare a PCB fast this method is probably the best choice.

What is different about the UV light method? Why is it worth your attention. The answer is simple — quality. Then how to make it? Keep reading …

Continue reading

STM32 HAL driver for I2C OLED display with U8glib

oled_display_ssd1603

Recently, I have come to a conclusion that it would be good to print the state of my quadrocopter on a display. The question was what kind of display should I use. I decided to give a try to a small 0.96″ OLED display with I2C interface. It is based on SSD1603 driver. You can see this display on the image above. However, there was an issue regarding the screen controller. But it was soon solved. I have come across the U8glib which is a graphic library, quite popular among Arduino users. As soon as I started to read about the library I realized that it does not support STM32, not mentioning the HAL library.

Well, I have solved that 😉

Continue reading

Using serial port on Raspberry Pi

Raspberry Pi is a small factor fully-featured computer. It can be used for multiple purposes such as a controller.

In most of applications it is necessary to use some kind of communication interface. Raspberry Pi delivers, among others, UART, SPI and I2c. However, UART (serial port) is most commonly used if you just want to send some data between RPi and other devices. While using SPI or I2c in i.e. python script is rather straightforward, using serial port, or making it to work, isn’t so easy as it might seem.

Continue reading

Xenomai Linux drivers and OROCOS components on GitHub

Some time ago I have written a few real-time Linux drivers for Xenomai and complementary OROCOS components. But first thing first! What the heck is Xenomai and OROCOS? To keep it as short as possible; Xenomai is an open-source project which aim is to bring real-time API to Linux based system. It is an extension to the Linux kernel which makes it a hard real-time operating system. On the other hand, OROCOS is a robotic framework that brings a vast number of libraries and a toolchain to create components. What is more, Xenomai and OROCOS do play along which means you can facilitate features of both i.e. to create a hard real-time components.

If you are interested you can find the code for each driver and for each OROCOS component on my GitHub repository. Feel free to fork!

Below are direct links to the repositories:

Driver for Sensoray 626 multi analog/digital I/O board

Driver for JR3 6 DoF force/torque sensor

Driver for Mecovis multi I/O card

OROCOS component for Sensoray 626

OROCOS component for JR3

Set up KiCAD for offline work

Some time ago I decided to give KiCAD a shoot, actually it was a second attempt. For a long time I have been using Eagle CadSoft but now the disadvantages tip the scale. Also now, KiCAD has a crazy new feature which is called interactive routing. However, KiCAD is not quite straightforward and it requires some getting use to. One thing that struck me was the necessity of Internet connection. When you want to connect components with appropriate footprints using CvPcb it scans the library paths. And it is here where the problem starts…
Continue reading

Using FatFS with HAL

Recently I have written a short post about the HAL library created by STM32. The HAL is gaining popularity among hobbyists and is more and more frequently used. However, when you would like to use it for something else than just basic stuff like generating PWM on digital output you have to write it by yourself. Not so long ago I had to use SD card in one of my projects. It turned out that there is no driver for FatFS based on HAL – at least there was not. I decided to write the driver and here you can read about it…

Continue reading

SPL vs HAL: which one should you use

STM32CubeMx_front

There is an unending dispute about which library should you use when writing an application for STM32 microcontroller. Actually, there are at least three choices which you should consider. In this post I will highlight the advantages and disadvantages of each approach which can be considered when writing software for ST microcontrollers.

Continue reading

A small operating system

There are many operating systems: Linux, Windows, iOS,… But there are a few which can work in real time like Linux Xenomai. However, there are very little which can fit a microcontroller. One of them is a FreeRTOS. There are some variations of the FreeRTOS which can handle different conditions and requirements.
This blog post is not about such operating system, however…

Continue reading