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

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

Connecting MSP430 with ILI9341 TFT Display

Posted on Sat 30 April 2016 in misc View Comments • Tagged with ili9341, msp430, embedded

msp430 launcpad connected to ili9341 display

In the previous post I described how to connect ESP8266 with an ILI9431 TFT display using the Adafruit library. Texas Instruments' MSP430 is another popular low cost 3.3v MCU used by the maker community. It has Energia which is an IDE forked from and compatible to the Arduino IDE …


Continue reading

Connecting ESP8266 with ILI9341 TFT Display

Posted on Fri 04 March 2016 in ESP8266/ESP32 View Comments • Tagged with esp8266, arduino, embedded, ili9341

ESP8266 was popular with hobbyists for a long time. Recently I decided to join the hype and bought this module along with a super cheap color TFT display (ILI9341). In this post I will describe the process of connecting those two, using already available code written for Arduino.

ESP8288 connected to ILI9341

First step …


Continue reading