Playing WAV Files on ESP8266

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

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, ili9341

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

Migrating Blogofile to Pelican

Posted on Sat 13 May 2017 in misc View Comments • Tagged with Blogofile, Pelican

Since I started writing this blog in 2012, I used Blogofile as the blogging platform.

Blogofile is a static website generator, meaning that the content is written and stored in a structured format like Markdown, then it is compiled offline into a set of HTML pages that can be hosted …


Continue reading

About the Pitfalls of Merge Conflicts

Posted on Sat 31 December 2016 in misc View Comments • Tagged with Ada, Software Engineering, Source Control

I do not consider myself a novice software developer. And yet I still have not exceeded the list of things I can learn "the hard way".

Last month I had chance to learn about the dangers of resolving merge conflicts as well as how important is it to do a …


Continue reading