Boeing 787 Dreamliner and the Counter Overflow

Posted on Sat 29 February 2020 in Software Fails View Comments • Tagged with Bugs, Embedded, Software Engineering

Photo of Boeing 787

This is another post in a series which covers famous software failures. Today's failure is not very old nor it is very famous.

In 2015, the Federal Aviation Administration (FAA) issued and Airworthiness Derivative (AD) regarding Boeing's flagship aircraft at that time, the 787 Dreamliner.

In the AD, they write …


Continue reading

Zune Leap Year Freeze

Posted on Sat 25 January 2020 in Software Fails View Comments • Tagged with Bugs, Embedded, Software Engineering

I am starting a new series of blog posts in which I will do analysis of famous bugs and system design failures related to software. I will attempt to present more technical analysis than what is available when reading about these stories in the mainstream media.

I love reading about …


Continue reading

Playing WAV Files on ESP8266

Posted on Sun 15 September 2019 in ESP8266/ESP32 View Comments • Tagged with esp8266, arduino, embedded, wav

In the previous post, ESP8266 was playing music based on pitch sequences and a recording of a sine wave. This is not sufficient for the speech sythesis system. A method for playing WAV files is required.

Fortunately, WAV format uses PCM to represents the waveform. Thus the data can be …


Continue reading

PCM Audio on ESP8266 using the PCM5102 Chip

Posted on Thu 22 August 2019 in ESP8266/ESP32 View Comments • Tagged with esp8266, arduino, embedded

One of the projects I am currently working on is a text to speech system based on ESP8266 (or more realistically - ESP32). It will utilize the CMU Flite speech synthesis library. But a way to play back the synthesized waveform is also required.

For this propose, I will use a …


Continue reading

Better TFT Library for ESP8266

Posted on Tue 20 August 2019 in ESP8266/ESP32 View Comments • Tagged with esp8266, arduino, embedded, ili9341

In 2016 I wrote a tutorial about connecting ESP8266 with an ili9341 TFT display. That tutorial suggested using Adafruit's library modified to work with the ESP8266.

Now I discovered that there is a much better library which is tailored for the ESP8266. This library is called TFT_eSPI.

This library is …


Continue reading

Building Text to Speech Service Based on Festival

Posted on Fri 14 June 2019 in misc View Comments • Tagged with Javascript, TTS, T2S, Personal Assistant, Festival, Scheme

Last week I participated in Hackathon where we built a demo of domain specific personal assistant. One of the components of such system is the text to speech component.

In this post I will explain how I installed Festival speech synthesis system …


Continue reading

Filtering Meetup Organizers with Greasemonkey Script

Posted on Sat 08 December 2018 in misc View Comments • Tagged with Javascript, Greasemonkey

Meetup and greasemonkey logo

I love meetups. It is a great opportunity to learn new things and expose myself to new ideas. I manly interested in the technological stuff, but I am not picky. Great concepts, ideas and life lessons has the quality of being applicable across multiple fields.

Every two weeks or so …


Continue reading

How to Detect First Boot After Burning Program to Flash

Posted on Fri 12 October 2018 in misc View Comments • Tagged with Arduino, Embedded

I will write about Arduino, but this technique is relevant for any embedded situation.

Many applications require retaining data such settings or parameters between resets. On the Arduino, the already existing EEPROM of the Atmega chip is a common solution for this problem.

For the Arduino, the EEPROM library can …


Continue reading

Line Rasterisation

Posted on Mon 06 August 2018 in misc View Comments • Tagged with Computer Graphics, Processing

Sometimes even the simplest things are not as simple as they look.

Screenshot of the drawing results

Recently, I had a task that required me to understand circle rasterisation. So I went back to my computer graphics course notes which I took many years ago to remind myself about how lines are drawn on a …


Continue reading

Experimenting with Bats

Posted on Sun 08 July 2018 in Ada Linux Kernel Module View Comments • Tagged with bats, linux, kernel, testing, bash

I had some progress with my Ada Kernel Module Framework. Currently, what I have is a demo of a kernel module opening a character device.

While finishing that part, I realized that a good automatic testing strategy needs to be developed. At current stage, I do not even know which …


Continue reading