HC-SR04 Breakout Board for Arduino

January 24, 2016

This weekend I assembled the first version of a new HC-SR04 breakout board that I have been working on lately. The goal of this project is to let an Arduino Uno (or any other 5V microcontroller) monitor up to 8 ultrasonic sensors over SPI, therefore only using one dedicated pin. The other advantage is that by offloading the sensor monitoring, the master device can perform other tasks. My motivation for designing this is to use it in my Sparkfun AVC entry this year.

hcsr04_breakout_v1

The microcontroller is running pure AVR code (as opposed to Arduino code) and is running at 16 MHz, which I'm sure is overkill, but there is no reason why the board couldn't also be run at lower speeds with some tweaks to the software and changing the fuse bits.

I made one mistake in the schematic that literally took me hours to figure out - I missed the connection between the SS pin on the header and the SS pin on the microcontroller, so SS was floating, resulting in intermittent communication failures. Once I figured out the root cause I had to solder a wire onto the back of the PCB to fix this. There were also some things about the board layout that I didn't really like, so I've reworked the design and am now waiting for fresh boards from OSH park.

What better way to test this than create an electronic piano?

https://www.youtube.com/watch?v=6fmiARnzN4k

I'm offering a few of these breakout boards for sale in my Tindie store since I have surplus boards.