Low Cost DIY Logic Analyzer

PulseView_LogoA logic analyzer is an electronic instrument that captures and displays multiple signals from a digital system or circuit on a common time base. It is a really useful tool for debugging circuits and communications links. However, the cost of brand-name logic analyzers runs into hundreds of dollars and can be really hard to justify for hobby use.

Fortunately, there is a low cost alternative using open source software and inexpensive hardware.

Continue reading “Low Cost DIY Logic Analyzer”

PID Control Experiment – Tuning the Controller

PID_FCIn the first part of this blog I described building a test apparatus that allows me to experiment with tuning a PID loop controlling a levitating pin pong ball in a tube.

This second installment is about trying different hands-on methods of tuning the loop, understanding how they are derived, and how well they perform compared to each other.

Continue reading “PID Control Experiment – Tuning the Controller”

PID Control Experiment – Making the Testing Rig

PID_FCPID (Proportional, Integral, Derivative) control is a classic control algorithm that I have used for a few projects, ending with ‘good enough’ control, without really spending time learning how to properly tune the PID constants.

Time for me to fill in the gap in my knowledge, so in this two part blog I want to capture my learning. Hopefully it is useful for someone else. In this first part I will document the learning and testing rig and software. The next part will be about tuning the control loop.

Continue reading “PID Control Experiment – Making the Testing Rig”

Parola A to Z – Adapting for Different Hardware

Parola_ModuleAn ongoing question on many Arduino forums is the adaptation of software to the different types of matrix modules. Usually the poster has tried some LED matrix software and the display is reversed or upside down, or animations are disjointed across the module boundaries.

There are clear reasons this happens, and the Parola library has software configuration parameters that allow you to adapt how the software operates to suit your hardware module.

Continue reading “Parola A to Z – Adapting for Different Hardware”

ATTiny Getting Started and Code Benchmarking

attiny_bo_built-upOnce I had some hardware to test with, the next steps were to work out how to get a program onto the ATTiny and how to write efficient code. As 1kb of flash memory is not much to play with, space efficiency was a likely programming challenge!

Continue reading “ATTiny Getting Started and Code Benchmarking”

ATTiny Breakout Board

attiny_bo_built-upIn some upcoming projects I intend to embed some processing intelligence into small devices. The smaller Arduino boards are too big and expensive for these applications.

After some investigation, I settled on using the ATTiny series of 8 pin microcontrollers. These processors vary in capability (from a very low end) and all provide 6 I/O ports. Tools compatible with the Arduino ecosystem are also available.

As a first step, I designed a small breakout board for the SOP8 version of these MCUs.

Continue reading “ATTiny Breakout Board”

Configurable SD R/W Datalogger Shield

sd_shield_top_smallI always seemed to get a clash between the device select signal (SS) on my SD/microSD card reader and some other Arduino hardware I was trying to run with it. To get around this I decided to make a dedicated SD card shield with a jumper selectable SS signal.

SS signal clashes are now a thing of the past!

Continue reading “Configurable SD R/W Datalogger Shield”

Arduino As ISP Programming Shield

isp_shield_topOne of the nice aspects of Arduino compatible hardware is the ease of program downloads. This is, in part, due to the bootloader that is programmed into the controller. How does that bootloader get on the hardware in the first place?

One answer is that a second Arduino can be used to load the bootloader (or any other stand-alone code) into the ‘virgin’ target hardware. The Arduino IDE includes an example program called ArduinoISP used for this, but it helps to have some supporting hardware. I built a shield with a few connections that speeds up the process of programming controllers.

Continue reading “Arduino As ISP Programming Shield”

Smart Switch for Follower Mains Outlet

ss_front_viewI have lost count of the times I have forget to turn on the workshop vacuum cleaner before turning on dust making wood working equipment. Recently I decided that I needed to compensate for my distraction with an automatic Smart Switch. However, all the switches find either did not do what I wanted or were way beyond my budget. So I decided to make my own.

Continue reading “Smart Switch for Follower Mains Outlet”

DIY Soldering Station with Hakko FX-888 Iron – Part 2

SS_FinalIn Part 1 we looked at the design and hardware for the Soldering Station. This part covers the software, assembly and calibration of the system to provide accurate and reliable temperature control.

Continue reading “DIY Soldering Station with Hakko FX-888 Iron – Part 2”