Once 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!
In 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.
I 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!
One 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.
I 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.
In 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.
After many years persevering with a ‘simple’ soldering iron, I acquired a temperature controlled iron and was amazed at the difference it made to the quality of my work. Recently the iron failed and, although I managed to find the fault and repair it (the temperature sensor wire had broken off), it made me realize that I should keep one as a spare. It is actually quite difficult to repair an iron without an iron!
As I can’t afford to buy an expensive piece of equipment ‘just in case’, I decided to use this as an excuse for a hardware and software project based around a Hakko-FX888 soldering handpiece that I had already purchased.
Continue reading “DIY Soldering Station with Hakko FX-888 Iron – Part 1”
Two line LCD modules based on the Hitachi HD44780 LCD controller (commonly referred to as 1602 LCD) are a very inexpensive way to add an output device to an Arduino project, enabling all manner of user information to be displayed in a flexible format.
I have found, though, that I am not able to read this display at a distance (maybe it is age related!). For my own projects I developed code that allows numbers to be displayed over both lines of the LCD display, making the ‘current’ value display for instruments, for example, more obvious and more visible.
I recently obtained a couple of these sensors for a project and have been exploring how they can be used to detected both DC and AC currents. I also wanted to understand what was needed for proper calibration of the ADC readings at the Arduino.
The ACS712 hall effect current sensor is commonly available from generic suppliers incorporated onto GY712 sensor boards shown in picture.
Switching ‘buck converter’ power supply modules are fantastic, efficient, and can be bought for a few dollars (if not cents!). One drawback for me is that sometimes I need to have both positive and negative voltage supplies, and the buck converter/wall wart combination is not easily adapted to suit.
For these situations I have developed a reusable basic design using the LM317/LM337 3-Terminal Adjustable Voltage Regulators. Continue reading “Dual Voltage Power Supply”