How to handle a DHT22 sensor using ARM mbed OS?

Published at August 1, 2017 · Michał Żygowski ·  8 min read

Recently I have encountered with temperature and humidity measurements using DHT22 sensor. I was developing a driver source code in ARM mbed OS SDK on particular STM32 NUCLEO L432KC platform. Thorough analysis of DHT22 documentation led me to the following questions: Is it possible to accurately measure voltage-level durations during read process? What duration time values should be considered as timeout or/and error? Should I weaken the time restrictions in order to avoid random delays in voltage level transitions be considered as failure?...

Categories: firmware iot

Nerves project triage on BeagleBone Black Black

Published at March 10, 2017 · Piotr Król ·  6 min read

Recently one of my customers brought to my attention Nerves. It aims to simplify use of Elixir (functional language leveraging Erlang VM) in embedded systems. This system has couple interesting features that are worth of research and blog post. First is booting directly to application which is running in BEAM (Erlang VM). Nerves project replace systemd process with programming language virtual machine running application code. Concept is very interesting and I wonder if someone tried to use that with other VMs ie....

Categories: firmware os-dev

Starting with Nucleo-F411RE and mbed OS for command line enthusiasts

Published at November 23, 2016 · Piotr Król ·  9 min read

When I first time read about mbed OS I was really sceptical, especially idea of having web browser as my IDE and compiler in the cloud seems to be very scary to me. ARM engineers proved to provide high quality products, but this was not enough to me. Then I heard very good words about mbed OS IDE from Jack Ganssle, this was still not enough. Finally customers started to ask about this RTOS and I had to look deeper....

Categories: firmware iot

FWTS on ARMv8 platform (HiKey LeMaker version) from scratch

Published at July 25, 2016 · Piotr Król ·  8 min read

This is second post from series about LeMaker version of HiKey board from 96boards Customer Edition family. Previous post focused on describing hardware part. In this post I would like to show how to setup firmware development and testing environment. This post highly rely on 96boards documentation, so kudos to 96boards and LeMaker for providing lot of information for developers. Obtain pre-compiled binaries 1 2 3 4 5 6 7 wget https://builds....

Categories: firmware

Powering on LeMaker HiKey (ARMv8)

Published at May 19, 2016 · Piotr Król ·  4 min read

Embedded Systems Consultants have chance to live in interesting times. ARM expansion touch server market and UEFI coming to non-x86 platforms. Firmware gaining its importance and because handling real development is harder and harder lot of things starting to happen in open source. Big players trying to address security and virtualization issues, what leads to really interesting features in recent SoCs. Couple weeks ago I decided to recover my knowledge about UEFI and take a look how it is implemented for architecture that have its momentum - namely ARM in its 8 version (ARMv8)....

Categories: firmware

Yet another quick build of arm-unknown-linux-gnueabi

Published at April 3, 2013 · Piotr Król ·  3 min read

So I decide to check what is going on with crosstool-ng and refresh my old post about building arm-unknown-linux-gnueabi toolchain. Last post was pretty popular, so definitely this is direction I should follow :). I will not repeat myself, so if you encounter any problems please check last post, section with known problems in crosstool-ng doc/ directory or RTFM. Let’s begin: Get the latest crosstool-ng As usual I’m trying to use latest version possible....

Categories: app-dev os-dev

Building ARM toolchain? part 2: gcc and eglibc

Published at April 12, 2012 · Piotr Król ·  4 min read

Unfortunately after few tries of cross compiling eglibc using different source for instructions I always end with hard to solve issues. Luckily, in the sources of eglibc I noticed instructions for cross-compiling written long time ago by Jim Blandy(I know i should start here). Lot of thanks to him for it. Below I describe my experience which I gained during eglibc cross compilation for arm-unknown-linux-gnueabi and procedure that I used. Commands below contain some constants that I used in previous works....

Categories: app-dev os-dev

Building ARM toolchain - part 1: libs and binutils

Published at March 20, 2012 · Piotr Król ·  3 min read

Searching the Internet for information on how to build arm toolchain from scratch I realize that it is very hard to find information about this matter (and recent one even harder). I will try to fill this lack of information and try to build toolchain. My main goal is to use a component based on the GNU public license, and using them in as the newest version as it is possible....

Categories: app-dev os-dev

Quick build of arm-unknown-linux-gnueabi with crosstool-ng

Published at March 14, 2012 · Piotr Król ·  2 min read

You might be surprised at how much you have to make to correctly build arm-unknown-linux-gnueabi config based toolchain with crosstool-ng. As you can see examples of many open source projects, the man’s work is a rare resource. The result of this economic fact is that the attempt to build configuration arm-unknown-linux-gnueabi is not a simple task and during an operation you can come across many problems. Although I am not afraid of problems and effectively try to fight them and of course sharing the results of my work....

Categories: app-dev os-dev