Arduino Pro Mini Sensor Board

I often use Pro Mini format Arduino Boards in my projects, especially when the processor is embedded as a ‘set and forget’ controller. They have a small form factor and are very inexpensive.

However, as I prototype systems using standardized breakout modules (see this past article) it has been annoying not having a sensor-type board for this processor footprint. So I decided to make my own.

Continue reading “Arduino Pro Mini Sensor Board”

Making music with a Yamaha YM2413 Synthesizer – Part 3

Part 1 and part 2 of this series set up the hardware and software infrastructure to support end-user applications using the YM2413 synthesizer. These are discussed in this final instalment.

Continue reading “Making music with a Yamaha YM2413 Synthesizer – Part 3”

Making music with a Yamaha YM2413 Synthesizer – Part 2

The first part concluded with the YM2413 hardware and an amplifier on a test Arduino Uno shield. In this and the next part we explore the interface to the device and how to control the hardware to make music.

Continue reading “Making music with a Yamaha YM2413 Synthesizer – Part 2”

Making music with a Yamaha YM2413 Synthesizer – Part 1

When researching material for the SN76489 sound generator (documented in these previous articles) I discovered that many early microcomputer systems incorporated both the SN76489 and a YM2413 FM synthesizer. The Yamaha synthesizer looked like an interesting piece of hardware to explore. Here’s the result.

Continue reading “Making music with a Yamaha YM2413 Synthesizer – Part 1”

Making noise with a SN76489 Digital Sound Generator – Part 3

In the first part and second part we examined the basics of the SN76489 hardware and the development of a library to manage sound production from this IC.

So, after all this effort, what kind of sound does this hardware produce? In this final post I run a few tests and dig into the resulting waveforms.

Continue reading “Making noise with a SN76489 Digital Sound Generator – Part 3”

Solenoid Driver PCB

A part of a bigger project needed control circuits for up to 16 DC solenoids. Instead of wiring up a one-off prototype, I decided to design and manufacture a PCB to do the job in a scalable manner, and with a minimum of Arduino pins, so that the same circuits could be used for future high power on/off control tasks.

Continue reading “Solenoid Driver PCB”

Using the MAX7219 in your Projects – Part 1

The MAX7219 is a common and inexpensive IC used for controlling up to eight 7-segment LED displays (or 64 individual LEDs).

Beginners are often intimidated by how to use this versatile component with a microcontroller, turning to libraries to help them solve the problem. In most simple cases, it is more efficient to run the IC directly. Here’s what you need to know to get the job done.

Continue reading “Using the MAX7219 in your Projects – Part 1”

MPS020N0040D Sensor as a Pressure Activated Switch

The MPS020N0040D pressure sensor is a cheap component readily available for purchase on sites like eBay.

I recently needed to create a blow activated switch and, as I already had a few of these at hand, decided to design a minimal circuit that would provide a digital output when a threshold pressure was detected by the sensor.

Continue reading “MPS020N0040D Sensor as a Pressure Activated Switch”

Reading LM34, LM35, LM335 (LM3x) Temperature Sensors Accurately

LM35 ImageThe LM3x series of sensors are precision, easily-calibrated, integrated circuit temperature sensors. These are ideal as a beginner sensor, only to disappoint when code is copied from somewhere, run on the MCU and the temperature readings seem to be wildly varying and incorrect. Why is this happening and what can be done about it? Read on.

Continue reading “Reading LM34, LM35, LM335 (LM3x) Temperature Sensors Accurately”