A Better Serial Monitor

Today I would like to talk about a very interesting piece of software that I have been using in the past few weeks, called Serial Port Monitor (version 7.0) by Eltima Software.

This software is perfect for when you are developing an application that has a massive amount of information going through the Serial Port. I am currently using it to analyze diagnostic data from one project. Is is great that you can easily save messages for a later use in its own .spm file format.

serial port monitor

serial port monitor

On the image bellow, you can check the windows that I am currently using: “Terminal View”, showing exactly what is coming from the Serial Port. “Dump View” that shows timestamp, the hex data and the message, and the “Table View”, showing the captured data from the developerโ€™s point of view: it presents the table consisting of the recorded IRPs. Each row represents one IRP and each column represents one single part of IRP. It is interesting to point that the Serial Port Monitor doesn’t block the serial port while in use, meaning that another software can be “blocking” the port and you can still analyze all the data.

serial port monitor

In case you wanna know more about it, check the Wiki!

This is a great piece of software, and I am really impressed by the quality of the products from Eltima. I will probably do some more review in the future!

If you are an embedded systems engineer, you should check it out!!!

Altium Roadshow Berlin

Hey guys, quick update. If you are in the Berlin area, I would like to invite you to my talk on the Altium Roadshow 2017 on the 17th of May!

See you there! ๐Ÿ™‚

Automating screenshot sharing on Windows

One thing that I really liked about mac was how easy it was to generate a screenshot from my screen and share with people. Now that I am pretty much a full-time windows user (besides all the time I spend on a Linux terminal), I needed to find an easy and fast way to share screenshots. And that is where Greenshot comes in handy!

The plan:
A keyboard shortcut to select a region of my screen, automatically generate the image, upload it to my server on a specific FTP folder (can also be done with rsync) and copy the shareable URL to the clipboard.

Step 1: Download Greenshot at http://getgreenshot.org/downloads/ and install it.

Step 2: Download and install NCFTP from http://www.ncftp.com/download/ (NcFTP Client 3.2.6 for Microsoft Windows). After installing it, the ncftp executable files are going to reside on C:\Windows

Step 3: Create a .bat file with the automating code below (changing yourdomain, ftp user and password).

Step 4: Configure greenshot:

Change the path where you save your screenshots on your computer, but the important thing is to change the “Filename pattern” to:


and uncheck “Copy file path to clipboard every time an image is saved“, this part is important!

Go to Plugins tab, click in “External command Plugin” and “Configure“.

Create a name for your automation. On command, link to the .bat file you created and make sure the “Argument” is


Done, now whenever you take a screenshot, it will automatically upload to your server and copy the URL to the clipboard automatically, making it super fast and easy to share anything on your screen ๐Ÿ™‚

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:


Quickly sharing 360 pictures

Last black friday I got a LG 360 Cam, a good cost-quality 360 camera. The only problem I am having with the camera is that there isn’t a good solution to where I can share the pictures (if you have a good solution, please share!). Google has released a VrView script that makes it much easier to embed 360 pictures on websites, but you still need to edit some html code.

I decided to make a super simple website that renders pictures uploaded to imgur (saving some space and bandwidth on my server) that anyone can use to easily share 360 pictures with family and friends.

After understanding how the Googles VrVire works, I could transform this:

Into this:

To share the 360 pictures, you need to upload them to www.imgur.com and get the picture-id. For example, the picture above is located at https://imgur.com/up6aRXr where up6aRXr is the picture-id. With the id in hands, you can share this url:


for the past example:


The website should open with the image showing in full-page, and same URL you can share on Whatsapp or anywhere else (it is mobile friendly!)

Maybe in a near future I will improve it, making it easier to share from within the phone and also creating galleries, what do you think? Ideas?

Cheers! ๐Ÿ™‚

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: