Building an Arduino based capacitive touch kitchen timer – Part 1

A dear friend of mine recently sent me a very interesting idea for a new project, and I decided to pick it up and got working at it as soon as I could. His idea was to build a digital kitchen timer that operates like the USB volume knob I built a while ago. I didn’t just want to recycle an old design, and the USB volume knob would be pretty unsanitary in a kitchen anyway. So we came up with a new idea that involves capacitive touch sensing and an Arduino, and this series of articles discusses each part of the project from the first idea, to the theoretical aspects, all the way to the hardware and software. I decided to write this series as the project goes along (similarly to the older word clock series), so things are subject to changes. However, I think this gives you a good opportunity to see just how much trial and error goes into such a project, and I hope I can help you avoid mistakes that I make by documenting them.

Continue reading Building an Arduino based capacitive touch kitchen timer – Part 1

Arduino MKR Vidor 4000 Verilog FPGA and MCU hello world tutorial

This article discusses how user code can be uploaded to both, the MCU and the FPGA, of the Arduino MKR Vidor 4000. Some time ago, I wrote this summary of the topic which, however, didn’t include an easy to follow tutorial. Instead, it was more of an outline aimed at more experienced users. However, today I tried to re-create the steps, and I noticed that the original article wasn’t as simple to follow for beginners as I’d have liked it to be.

Continue reading Arduino MKR Vidor 4000 Verilog FPGA and MCU hello world tutorial

A simple universal 800×600 VGA signal generation circuit

You may have seen this article where I discussed a 640×480 VGA signal generator that I designed and built. The signals, that circuit generated, were correct when measured with an oscilloscope. However, I concluded that I didn’t know why my display hardware had a hard time displaying an image and I found the reason for that and updated the circuit to generate the necessary signals for displaying an 800×600 image with a refresh rate of 60 Hertz.

Continue reading A simple universal 800×600 VGA signal generation circuit

USB volume knob for Windows, Mac OS and Linux – Part 2

I finally came around finishing this project and I also made a video in which I explain the build and also show you how to assemble the project. This article covers the case design and some changes in the source code in more detail compared to the video.

Continue reading USB volume knob for Windows, Mac OS and Linux – Part 2

Serial to parallel and parallel to serial conversion with shift registers

Shift registers can be used in a wide variety of applications. You can, for example, use them to convert multiple parallel data lines to a single serial line and vice-versa. This technique can be used to extend the number of available in- and outputs of a microcontroller and this article will show you how you can achieve this.

Continue reading Serial to parallel and parallel to serial conversion with shift registers

How to use the ESP8266 for wireless communication

More than often enough parts of projects will have to communicate with each other or external devices. This can either be done by directly connecting the devices with cables but sometimes it’s more convenient to wirelessly connect the different pieces of hardware. This article will show you how to use the ESP8266 and it also includes two examples for using it with a Raspberry Pi and Arduino boards.

Continue reading How to use the ESP8266 for wireless communication

How to use an EEPROM to permanently store data with your Arduino

Some Arduino boards have a built-in EEPROM that can be written to and read from in your programs. I not only want to discuss how that’s possible but I also want to show you an alternative while talking about EEPROMs and memory in general.

Continue reading How to use an EEPROM to permanently store data with your Arduino