Getting to know STM32F7 In the previous post I talked about how to get a very basic program working on the stm32f746 Discovery development board. In this post I will talk more about the internals of the stm32f7 processor. We will have a look at a simple program (controlled by an LED and a button), in order to present a few concepts such as internal clock distribution, external interrupts and the systick timer. Since each of these topics could easily fill a full blog post on their own, I will only cover the basics. The code I wrote for this post listens for a button event (external interrupt of a … Continued
In this post, I will talk about my first project with a development board from ST Microelectronics. I will show you how to set up the toolchain, Makefiles and finally get a simple blinky program running (it just toggles a GPIO to make an LED blink). Software used: Vim editor Texane stlink GNU ARM GCC Toolchain Open-source firmware library for various ARM Cortex Microcontrollers Note: I have used Archlinux for this project. I also installed several packages mentioned in the post that are available from Archlinux's package manager pacman. All packages are pretty common for programming embedded systems. Therefore, they should be available for most other systems too (debian, ubuntu, … Continued
In this post I will explain a circuit that can come in quite handy if one tries to switch a high voltage but can't use an integrated circuit. A reason why it's sometimes not possible to use an integrated solution is, because most ICs only work up to a certain voltage. Furthermore, the presence of voltage spikes can be a real problem in noisy environments. Goals of the circuit high voltages - Circuit that can switch on/off a voltage bus and also have the possibility to switch high voltages TTL/CMOS logic - The circuit shall be controlled by a simple TTL or CMOS logic signal. high-side switch - The switch … Continued
This article is about IPC compliant footprints and in more detail how to create a footprint that is IPC compliant. I will also explain what IPC basically is and why everybody should care about it. Finally, you will find useful links at the bottom of the post. What is IPC? The IPC is an association called IPC - Association Connecting Electronics Industries with the goal of developing industry standards in the area of pcb and interconnection production. The various standards released by IPC not only regulat the process of the production but also specify guidelines and certifications for pcb design, assembling and testing. IPC represents a main building block that … Continued
Recently, I was looking for a decent schematic and layout tool, that was cheap or even free to use. I already have a couple of years experience with designing PCB boards here and there. Over the time I have used several eda design tools, such as P-CAD, Mentor Graphics, Design Spark, Eagle and most recently Altium Designer. Since I enjoyed Altium Designer the most and I really believe that it's a great eda software, I will measure the performance of each tool (Kicad, Diptrace and Circuit Maker) against the full fledged professional licensed Altium Designer. Even though the three tools don't even nearly have the financing and support as Altium … Continued
This post introduces the reader to speech signal processing. We will mostly focus on speaker verification. First the term speaker verification will be explained. Next, we will talk about the very basics of the human vocal system as well as the human auditory system. The understanding of both topics is important, in order to understand some of the techniques common in speech processing. After that, we will have a look at the signal representation of speech. Finally, we will talk about the basic elements of a speaker verification system.
The goal of this post is to implement a perceptron network in the numerical computation software Octave. The implemented network has to be able to distinguish between the different states (stop, get ready, go, slow down) of a Swiss traffic light. The input pictures are already cut accordingly so that only the traffic light without background is visible.
In this post we will talk about learning rules in general (supervised, reinforcement and unsupervised learning). Next, we will talk about the perceptron network. Finally, we will explain the mathematical concept of the perceptron learning rule (supervised) and show a worked example on Matlab/Octave.
This post will give you a quick introduction to neural networks. I will probably write some more posts about neural networks along with some practical experiments and simulations. Therefore, a table of contents with hyperlinks to all posts is shown below. In all posts proofs and long derivations are omitted due to lack of space, however the interested reader can learn more about neural networks by reading the book [nnd,hagan].
In this post the reader will get a basic overview of Archlinux and its philosophy. Archlinux is a lightweight and very adjustable Linux distribution. Unlike some of the famous distributions like Ubuntu, Mint or Fedora which try to provide the user with a mostly pre-configured setup out of the box, Archlinux follows the do-it yourself approach.