HC-RS04 NewPing Class

sonar non blocking sonar

Just finished writing a small C++ class to work with multiple HC-RS04 sonar transducers with a non-blocking way with the NewPing Library.
In this exact code I connected two sensors, but you can add as many as you like.

To add new sonars, just create a new instance of it adding the echo and trigger pins.

Sonar sonar1(2,3);

Here is an example with some NeoPixels, just for fun:


NeoPixel 24 & HC-RS04 Sonar Support

sonar neopixel 01

I am currently working on a project that involve using a HC-SR04 Sonar sensor to control the lights of a Adafruit NeoPixel 24 Leds Ring. Yesterday I quickly designed a 3D model with DesignSpark Mechanical that I am using to center the sensor inside the led ring. I have also added a few spaces where the cable can pass though without disturbing the flat surface.

You can download it from GitHub, and there will probably be updates on the design in a near future.

What do you think?

Check this cool 3D preview by GitHub:

Continue reading

Altium Tip: Smooth edges with Teardrops

Teardrops is a really nice feature present in Altium, where it analyzes all the traces and try to smoothen the edges of the connections. Most users don’t know that this feature exists, and even if doesn’t add a major change on the design it can certainly improve the quality of your project, especially if you are working on high-speed or high-power electronics.

altium teardrops

To access the menu, while editing your PCB, go to Tools >> Teardrops… (or simply press t + e).

Bellow you can check a random PCB design with and without Teardrops:

altium teardrops before

altium teardrops after

Interfacing two Adafruit MMA8451 via I2C

This week I had to interface two accelerometers (adafruit MMA8451 breakout boards) into one Arduino board.

On Adafruits website, they write that you can address the sensors with 0x1C by adding a pull-down resistor on the “A” pin, or 0x1D by connecting the
“3Vo” to a 3V3 source. What they don’t tell is how to use them both at the same time, which gets clear once you take a look at the Adafruit_MMA8451 class within the library file Adafruit_MMA8451.h.

bool begin(uint8_t addr = MMA8451_DEFAULT_ADDRESS);


Here you have a simple code based on the library example, but adding the two sensors:

Talk nerdy to me! Where I get my electronics updates and news

Ever wondered where is a good place to find new and interesting chips on the market? Questions about electronics and what is happening in the market?

For the engineers and makers out there, the world of electronics can be a bit overwhelmed with so much happening all the time, updates, news and buyouts (specially in the past few months).

I would to use this post to share some of my favorite places to get new chip information, updates and random electronics questions.




Do you remember IRC? Yes, it’s still alive and strong. Just connect to the Freenode network and you will find many very interesting channels where you can talk electronics, exchange information and ask questions! If you are there, drop a line to spillere (me!).

  • #electronics on Freenode
  • #avr on Freenode
  • #arduino on Freenode



  • Fedevel Academy – Learn awesome PCB designing skills
  • /r/nicechips – Reddit, a great place on the internet where people share their findings in the electronic chips market. Really really good!!

This list is still a working in progress. If you have any suggestions please add a comment bellow!

Metronome v2.0


During my first semester of Electrical Engineering back in 2007, I had an introduction to electronics class where by the end of the semester we had to develop an open project. At first I tried to build a AM radio using only passive components, I remember that after hours placing components on the breadboard I managed to make it work, but it was really inconsistent and super noisy. The project was working, but it wasn’t as good as I wanted, so I decided to build something else, something that could be actually useful, that when the metronome idea came alive. Using a few components and a 555 IC I could make the circuit “tick” in a frequency that can be used your music studies.

Continue reading

One Dollar Board – Cheapest development board on the market

What if you could manufacture a very simple development board that is arduino compatible and have a final price of only ONE DOLLAR!? That’s what some crazy guys from my home country (Brazil) are trying to accomplish.

one dollar board

The main idea of the project is to enable every kid around the globe to leave school knowing how to program, the basic of electronics, and how to apply their knowledge by building cool things. Think like this, with only $25 you can buy 25 boards, which will enable pretty much an entire classroom to own these boards and create amazing things with it. It’s crazy to think the impact that the project can make in poorer areas of the world, enabling those engineering minds to flourish and change the world for better (why not?!).

Check their indiegogo video below and remember that for every dollar invested is one entire new board built!

Click here to check their campaign!

(of course the project is part of the open hardware movement)

The Amp Hour

Hey guys, this is a quick post where I want to share a great podcast that I listen all the time called “The Amp Hour“.

Quoted from their about page: “Dave Jones from the EEVblog in Sydney (Australia), and Chris Gammell from Contextual Electronics in Cleveland (USA) discuss the world of electronics design in an hour long(ish) weekly show, recorded “live” without editing or a mute button!

If you are into electronics (which obviously I am), it’s a much listen show!
Check it out on the link below 🙂

The Amp Hour

Build a 3.5mm Audio Switch

audio mux p2

I moved to Berlin a few months ago to start working as Lead Electronics Engineer at UNU Motors. As soon as I found my own place (after spending three months apartment hunting), I decided to buy a good audio monitor, so I could listen to music and watch videos with a decent audio quality. My choice was a BX5 M-Audio audio monitor, great speaker at a very good price. The only annoying thing is that every time I wanted to listen music from my computer, I had to take the P2 plug from the RaspberryPi (running OSMC) and connect to my mac, and vice versa… To fix this problem, I decided to make a small PCB where I can plug everything together and then flip a switch to toggle inputs.

Continue reading