MicroPython

Read more


#MicroPython: Camera stabilisation application!

  MicroPython   WiPy 3.0   ESP32   MPU6050   MPU9255   AHRS

To continue the series of posts "connecting sensors to MicroPython", this article is about the MPU6055 (you can use also the MPU9255, I am still waiting for the Chinese sensor package) and the WiPy 3.0. Combining the IMU sensor with the WiPy and two micro servos 9g, it is possible to stabilize a camera (tilt/rotate).

To calculate the compensation needed for the stabilisation, I added the umatrix, quaternion and ulinalg libraries to the project to make matrix multiplication and quaternion to Euler conversion. The ahrs library from Madgwick fusions the data of the accelerometer, gyroscope (and magnetometer, only with MPU9255) and allows to calculate the rotation of the IMU in quaternion coordinates. I rewrote (most of) the libraries to be compatible with MicroPython.


Hacking

Read more


#Hacking: Hey, YOU! Online SAS user! STOP now!

  Hacking   Online SAS   Blog

I got you! Please stop trying to hack my website! It's just a small blog! You are ruining my stats! ;)

Sorry to the other users!, but the last two weeks, someone was using the cloud system ofOnline SAS to try to hack my website. Yes, you heard that right! Someone is trying to hack this small blog! and I can tell you: That's illegal! ;) In the terms and conditions of Online SAS that is NOT allowed! ;P

Are Paris IP-addresses going to be the next Nigeria IP-addresses? abuseipdb.com has a lot of Paris IP-addresses declared as risky!

Leave a comment, if you have more info, and if you are the guy trying to hack my website, please STOP!!!


Sensortag android min

Read more


#TI: SensorTag working on Android 8.1!

  Sensor Tag   Android 8.1   Texas Instrument   CC2650

Thanks Sal for your comments on the article TI: Sensortag CC2650 . This is for you and those who are playing with TI SensorTag!

I've updated the repository of the Texas Instrument (TI) SensorTag CC2650. The repository can be found here . As you may know TI doesn't update the repository anymore. The original last open source repository of the application can be found here .

I've wrote an article last year as I migrated and updated the repository:

Today, I've updated the repository to support Android 8.1 (>6.0). The main modification was that Android >6.0 needs location permission for BLE to work. It was first reported as a bug but Google closed the report with status: Won't Fix (Intended Behavior):

To access the hardware identifiers of nearby external devices via Bluetooth and Wi-Fi scans, 
your app must now have the ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION permissions
Wemos micropython min

Read more


#Tutorial: Getting started with MicroPython: Sensors - Part 1!

  Tutorial   MicroPython   ESP32   ESP8266   HC-SR04   BMP280   WiPy   MPU9255

One of the most visited articles on my blog is the Getting started with MicroPython! tutorial. If you still don't know what is MicroPython and you want to start programming microcontroller boards (ESP32, ESP8266 etc.) using a small version of Python 3, you should look at that article. Don't expect to use machine learning or/and other big libraries (the available RAM and microcontroller performance is far away for that aim), but you can do some projects like these:

Android Things!

Read more


#ProjectDIVA: Android Things v1.0!

  Android Things   nRF24Things   SensorTag   Raspberry Pi

Google has released Android Things 1.0 this week to developers with long-term support for production devices.

I've updated today the two applications to run on this Android Things version:

Additional resources

Take a look at the full release notes for Android Things 1.0, and head over to the Android Things Console to begin validating your devices for production with the 1.0 system image. If you are looking for a Getting Started on Android Things, head over to these posts:

Docker embedded systems min

Read more


#Tutorial: Docker on Embedded Systems (Raspberry Pi & Beagleboard)

  Tutorial   Raspberry Pi   Analytics   Preempt-RT

Docker is a technology that emerged for about 5 years and since then it has simplified the packaging, distribution, installation and execution of (complex) applications. Usually applications consist of many components that need to be installed and configured. Installing all needed dependencies and configuring them correctly is usually time consuming and frustrating for normal users and developers. Here is where Docker comes to simplify this process allowing developers and users to package these applications into containers. A container image is lightweight, stand-alone, executable packages of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Let me say something before I continue: Docker is not only for application developers, if you are a "normal" user you are going to love it too.

Docker Portainer

Read more


#Tutorial: Portainer for local Docker environments on Windows 10!

  Portainer on Windows   Docker Management

Docker is a technology that emerges for about 5 years and simplifies the packaging, distribution, installation and execution of (complex) applications. Portainer is a management UI which allows you to easily manage your different Docker environments. If you are here because of the post title, I do not have to explain anymore about the Docker technology and the management tool Portainer. But, if you need to know more about these two topics, I leave you two links:

Let's start with the installation of Portainer for Docker management on Windows 10.

Android Things

Read more


#ProjectDIVA: Android Things 0.8.1 getting started!

  Android Things   Raspberry Pi 3   nRF24Things   SensorTag

After the Hannover Fair 2018, I have this weekend some time and I decided to update the #ProjectDIVA to the last version of Android Things. Today the actual version is 0.8.1 DP and the Android Things Setup Utility has the version number 1.0.19.

I have two applications running on Android Things:

In Oct. 2017, I wrote a tutorial for Android Things, but I checked that the tutorial needed an update, and the repositories too. That's why I'm writing this post.

Nexus 5X

Read more


#General: My Nexus 5X has bootlooped! Temporary fix!

  Nexus 5X   Google   LG   Bootloop   Temporary fix!

I have a Nexus 5X or I had a working Nexus 5X, and last week it turned black and has finally bootlooped! I bought it from Google Store, so I decided to contact Google. I knew that the warranty was expired on Dec. 2017 (Google repeated it), but this is a common problem of the Nexus 5X, so I thought that maybe I have a chance! But NO! The support was nice, but the solution was to contact LG. A death path! Meaning: No goodwill from Google! Nothing! I contacted LG, and the solution was to send the phone to this address:

DUX Logistics & Tech Services GmbH, Neben dem Mühlweg 20, 65474 Bischofsheim

which doesn't have nice reviews (search the company name on google and you'll see).

Hannover Messe 2018

Read more


#General: We are at the Hannover Fair 2018!

  Hannover Fair 2018   Hannover Messe 2018   Industrie 4.0   Connectivity   Machine Learning   Data Analytics

I am really happy to inform you that I will be at the Hannover Fair 2018. The Institute of Mechatronic Systems will be represented by our research group "Integrated Systems and Machine Learning" in the Hall 2 on Stand B08 and we will be presenting solutions for the advancing digitization of industrial production.

The Hannover Fair 2018 takes place between Apr 23, 2018 and Apr 27, 2018 in Hannover.

For more info, click here:

Hannover Fair 2018

You find the map below:

Pile sd cards min

Read more


#Ubuntu 16.04 LTS: Broken SD Card Reader Support

  Linux Ubuntu 16.04 LTS   broken SD support   SD Card Reader

I am writing this post as a tutorial or a 'keep' note for myself, but I think it could be interesting for a lot of people. At work I'm using a Latitude Dell Laptop with dual boot (Ubuntu 16.04 LTS and Windows 10). The laptop has a SD card reader. Usually I work under Ubuntu while I am programming, and the SD card reader support is broken! But typing the following on a terminal, makes it works again:

sudo rmmod sdhci_pci sdhci_acpi sdhci
sudo modprobe sdhci debug_quirks2="0x10000"
sudo modprobe sdhci_pci sdhci_acpi sdhci

It seems to be a problem since Linux kernel version 4.1.8. A bug report here confirms it, with the possible workaround here.

To make this workaround permanent, you need to create a .conf file with the debug_quirks option in the folder /etc/modprobe.d/. Executing the following command on a terminal creates the needed file:

sudo sh -c 'echo options sdhci debug_quirks=0x10000 >> /etc/modprobe.d/sdhci-pci.conf'


RPI BPlus

Read more


#Raspberry Pi: The N-queens Problem! (benchmark) Preempt-RT vs. Standard Kernel!

  Raspberry Pi v3 B+ (B plus)   Real Time Systems   Preempt-RT   Kernel Performance   Real-Time Linux   Multi-thread N-Queens Problem Python

The N-Queens Problem/Puzzle is a well-known problem that consists of placing N chess queens on an N × N chessboard so that no two queens attack each other. For example, one possible solution to the N-queens problem for N = 4 is the following:

N-queens problem (N=4)
Fig. 1: N-queens problem example (N = 4). Source: Google Optimization Tools

As you can see, no two queens are on the same row, column or diagonal. Usually the problem consists to find all possible solutions, rather than one optimal solution.

I wrote a script in Python that calculates the number of all possible solutions. This script can be used as Benchmark for e.g. the Raspberry Pi.

Many people use the N-queens problem to test the performance of a defined solver. But this can be cheated. In my case, the solver (script) is not optimal (I implemented the backtracking way based on this solution), but it works, and it helps me to compare different configurations of the Raspberry Pi (kernel, model B & B+ etc.). I solved the N-queens problem for N=12, in single (ST) and multi-thread (MT) configurations and repeated the tests 45(ST)/100(MT) to check the result variances.

All the data, scripts and notebooks are available here:

Python Code: https://github.com/lemariva/rPI-Tests
RPI BPlus

Read more


#Rapberry Pi: Preempt-RT Kernel Performance on Rasbperry PI 3 Model B+

  Raspberry Pi   Real Time Systems   Preempt-RT   Kernel Patching   Real-Time Linux

The Raspberry Pi 3 Model B+ (Fig. 1) is now on sale and I bought one two weeks ago. The main modifications are the followings:

  • A 1.4GHz 64-bit quad-core ARM Cortex-A53 CPU
  • Dual-band 802.11ac wireless LAN and Bluetooth 4.2
  • Faster Ethernet (Gigabit Ethernet over USB 2.0)
  • Power-over-Ethernet support (with separate PoE HAT)
  • Improved PXE network and USB mass-storage booting
  • Improved thermal management
Raspberry Pi 3 B+
Fig. 1: Raspberry Pi 3 Model B+

The Raspberry Pi uses now the LAN2515 chip from Microchip instead of the LAN9514 for Ethernet and the USB Ports.

If you are looking for some Benchmarking of the new model, Gareth Halfacree has some nice graphics on his website.

If you are planning to use a heatsink on the new model, please check that the new SoC packaging has a hole, and you shouldn't cover it. Some people are writing that the heat spreader (metal bit on the Fig. 1) reaches to dissipate the heat generated and you don't need an extra heatsink. But, if you are like me, and you are using the Raspberry Pi for (near) real-time applications, with data processing, you should use some additional cooling system. It goes really hot!. The PXE Ethernet Hat, which is coming soon, has a fan. It could be an option!

As usual on my last posts, I compiled the last version of the Preempt-RT Patched Kernel to test its performance on this new model.

Rpi rt kernel tittle min

Read more


#Raspberry Pi: Preempt-RT Kernel 4.14.y on Raspberry Pi

  Preempt-RT   Patched Linux   Raspberry Pi   Kernel 4.14.y

The forked rpi-4.14.y-rt repo by TiejunChina is now a branch under the official Raspberry Pi repo. That means you need to type the following to clone the Preempt-RT patched Kernel

~/rpi-kernel$ git clone https://github.com/raspberrypi/linux.git
~/rpi-kernel$ cd linux
~/rpi-kernel/linux/ git checkout rpi-4.14.y-rt

Then, you can follow the tutorial from here.

RPI Zero Preempt-RT

Read more


#Raspberry PI Zero W: Preempt-RT Kernel Performance (updated: 18.03.2018)

  Raspberry PI Zero   Preempt-RT   Kernel Patching

Today I patched the kernel of a Raspberry Pi Zero W with Preempt-RT. I used the repo TiejunChina.

Update 18.03.2018: The official Preempt-RT patched Rasbian repo is here.

~/rpi-kernel$ git clone https://github.com/TiejunChina/linux.git # update 18.03.2018: old repository
~/rpi-kernel$ git clone https://github.com/raspberrypi/linux.git # update 18.03.2018: new repository
~/rpi-kernel$ cd linux
~/rpi-kernel/linux$ git checkout rpi-4.14.y-rt  # today the kernel version is 4.14.22
                                                # with rt17 resulting in 4.14.22-rt17+

You can find a complete tutorial for patching a Raspbian kernel 4.14.y here.

Check the options for Raspberry Model A(+), B(+), Zero W.

(perfomance tests and problems inside!)