Tuesday, October 10, 2017

5V Solar Power Supply - testing system

In order to test the solar power supply without connecting the Raspberry (also because used to monitor the solar charger itself), here how I'm proceding.

Sunday, September 10, 2017

Working on Teirmilab

Here a step-by-step guide to work on git for the TeirmiLab project.
If you are new on git and github, read this article first

TheTeirmiLab project is on bitbucket public.
If somebody wants to join it to enhance the project would be nice if contact me.
Bitbucket has limited number of collaborators unless pay.
Let start from the link for the TeirmiLab bitbucket project :

Clone TeirmiLab

Use git to clone the TeirmiLab project (see a specific repository in the project)
That's it !
On your directory, will exist a directory called TeirmiLab, containing the code.

Or better, just download a zip file from bitbucket.

Friday, May 12, 2017


Just a brief note for spammers.

Often I receive some comments on some articles of this blog.
Many of them are clearly just spam masked as comment.
I have zero tolerance for spam comments, as soon as I identify one I'm deleting it (if already published) or I can prevent the publication if I recognize it.
On this blog comments must be approved by me, they are NOT automatically published.

So, who wants to post spam here, will have hard time and my total contempt.
Don't bother to post spam.

Wednesday, May 10, 2017

Gnuplot on Raspberry Pi

gnuplot is a program capable to produce graphs starting from set of data.
Ideal to graphically represents sensor readings.

This article assumes to use Raspbian on a Raspberry Pi, specifically in my case the Raspbian version is the one used with Dexter for GrovePi.
Since GrovePi allows to easily connect sensors to the Raspberry, gnuplot is the perfect companion for that environment.


Simple, open a terminal and digit : sudo apt-get install gnuplot

That's it :)


Once gnuplot is installed, is possible to open a terminal and digit the command gnuplot.
An interactive environment command line based will be available.
However the best way is to create a file containing the commands needed to generate a graph and have gplot reading that file to produce the graph as described in these instructions.

Data file

The file containing the data need to be in a specific format.

The time/date in the format of yyyy-mm-dd:hh-mm-ss (see the timefmt line in the command file), then the light value and (in this example) the voltage measured.
Each field is separated by a tab and each line ending with a newline (/r).

Example of data saved in the fhelper_datalogger.txt

# 2016-12-05:10-52-42 - Starting datalogger - time - light - volt 
2016-12-05:10-53-02 758 4.43
2016-12-05:10-53-24 758 4.43
2016-12-05:10-53-44 758 4.43
2016-12-05:10-54-05 758 4.43

Command file

Here an example of a gnuplot file (called testfile) used to display some information collected in the data file.
Specifically the goal is to create a graph showing the data stored in the second column of the file (light)
set title "fHelper light data vs. Time"
set datafile sep '\t'
set xlabel "Time"
set ylabel "Light"
set xdata time
set timefmt '%Y-%m-%d:%H:%M:%S'
set yrange [0:1000]
set style data line
set terminal png size 1500,800 enhanced font "Helvetica,20"
set output 'displight.png'
plot '/home/pi/Desktop/fhelper/fhelper_datalogger.txt' using 1:2
The file is taking a file called fhelper_datalogger.txt (located in the directory /home/pi/Desktop/fhelper) and will produce a file called displight.png.
The file will be saved in the same directory where this file exists and is executed.

To execute it just digit from the prompt : gnuplot testfile

Here a couple of examples of graphs obtained from the log file.
One shows the light reading and the other the voltage reading.
To obtain the voltage reading was enough to change a couple of lines from the command file.
Specifically I changed the Y axis range (0:1000 for light, 0:5 for Volt) and the plot command telling to use the first and third column in the file rather than the first and the second column (plot '/home/pi/Desktop/fhelper/fhelper_datalogger.txt' using 1:3)

Thursday, May 4, 2017

Grove Moisture Sensor bad design

Among many things, time ago I started to play with the Grove Pi system, for a fun project called fHelper, basically a sophisticated alarm to notify when a plant need water.

Basically a Raspberry Pi with a bunch of Grove sensors and among them the Moisture sensor.
Today I found out that who designed this sensor did a very poor job, using a direct current to detect the level of humidity.
The result after months of use is depicted in the pictures below.

Yep. One side is totally corroded !!
No wonder the reading was erratic.


Not sure if it was there when I bought it, but the sensor page now reports that the sensor should be used only for brief tests and not left in the soil because corrosion can happens.
Still I found totally silly to use something to design a system and then not be able to use it in a final design because it destroy itself.
You spend time experimenting with a sensor that can not be used !  Can I say is just stupid ?

Roomba 5xx - repairing a power supply

Time ago I had a Roomba 560 with an Error 5.
The problem was the power supply used to charge the battery.

Time to try to fix it.

Tuesday, April 11, 2017

Roomba 5xx and Err 5 charging

Yeah OK, is just "another post about the Error 5 when charging a Roomba of 5th generation", but is just a note/reminder.
The official suggestion from iRobot is to check the battery contacts, the base contacts and relative Roomba contacts.
If all is OK, then try to change battery and if still not OK, send the unit to repair.

The first thing to do however is to measure the voltage of the power supply.
After repairing a Roomba (a 560 unit) and changing battery, after few days the Err 5 started to appear.
Measured the power supply : 19V

It MUST be at least 22 V !!
Changed the power supply with a new one, and Err 5 disappeared.

Of course is possible to have many other causes for the error, but I would say that in order to diagnose it, the sequence that did the trick for me is :

  • check the power supply. The Voltage measure must be at least of 22 V
    if OK
  • try to use a power stabilizer or at least a surge control
    if OK
  • check the battery contacts and clean up from oxide and dirt
    if OK
  • change the battery
If OK but still Err 5, well, it "could be" also a motherboard problem.

So it seems now I have a nice iRobot power supply to repair :)

Tuesday, March 7, 2017

Office gadget - the Fhelper

Ok, this is just for fun.

In office we have a vase with a flower.
It is hard to remember to give water to the poor flower, so often the poor plant has to survive in a very dry environment.
We need something to remember us to give water to the plant.

The fHelper

Ok, there are already TONS of automatic gadgets to monitor if a flower needs water.
But the main purpose is to have fun to design something from scratch.
So here the fHelper (flower Helper).

The idea is to use a Raspberry Pi (possibly the 3 in order to have WiFi embedded, otherwise a USB WiFi dongle is needed) and the GrovePi system of sensors, to monitor the soil moist and somehow report/alert somebody about the need to water the poor plant.
To add more fun of course is possible to use the system also to gather other environmental values, interface with an IoT server, create graphs, etc.
Also it would be nice to have the project powered by the sun.


Here a shop list :


Here a list of functionalities of this gadget:

  • monitor the moisture level of the vase to determine if water is needed
  • monitor the temperature and humidity of the environment
  • monitor the amount of light
  • host a website that shows the number of time the plant is watered, how long remains without water and other amenities
  • send an email or a slack message to the people alerting when the plant needs water
  • collect in the cloud the data monitored

Assembly platform

Connect the GrovePi to the Raspberry Pi and then connect the moisture sensor, the humidity sensor and light sensor to it.
All the necessary hardware is hosted on a plexiglass support.

The Raspberry Pi with the GrovePi board will be placed on the top of the plexiglass, also to facilitate to have the moisture sensor close enough to the vase.

The fHelper close to the vase. In this early stage setting the Raspberry Pi is powered by a 10000mAh solar battery, however this battery can not be charged if is powering something. Thus a different design is necessary for the solar power aspect.
Note the Raspberry Pi on the top of the plexiglass.


The software is based on the GrovePi system from Dexter Industries.
Basically is a modified Raspbian version  with some libraries added to manage the the specific hardware.
This is because GrovePi adds also the analog capability to the Raspberry Pi.
Once the system is ready (follow the Dexter instructions) is possible to write programs in different languages to read the sensors.
For this project Python will be used.

The fHelper app needs to perform these operations in a cycle :

  • read the moisture level of the soil
  • read the temperature and humidity
  • read the amount of light
  • store in the cloud the data read
  • send messages via slack and/or email for specific events occurrence


The software part of the project is hosted on GitHub and for the moment is private.

Moisture sensor

For few months the moisture sensor was in place in the plant while running some tests.
It ended up badly, so it is necessary to rethink how to measure the humidity.
This project is quite interesting and will probably be adopted (for the moisture sensor).
A possible choice would be to buy this sensor and try to adapt it to the Grove system.

Stay tuned for updates

Monday, January 16, 2017

Energia and MSP430G2553

Recently I had a little bit more deep experience with Energia and the MSP430G2553.
Here some notes about this experience.

I did two projects so far using Energia and I have to say that a) I was able to do them really fast (well, the first one with a big start with the help of Roberto) and b) they are working surprisingly good.
For fast prototyping I would say that the MSP430 plus Energia is a good platform.
What is not good ?

Well,  is really missing a decent debugger.
I had some strange problems, like for example a restarting code without any clue about "why", or strange behavior events using the I2C on a MSP430G2452 (I solved that using the MSP430G2553).
Very very hard to figure it out these problems without any debug tool.

But also to test the logic of a sketch even a basic debugger would be a great thing.
The second big Cons of Energia is the needed memory.

It is mandatory to use chipset with at least 16K for very simple projects.
The second one I'm working on (I'll publish a separate article on that) already is over 12K and is far to be completed.
I'm sure I'll reach a point where I'll have to migrate on a bigger board, like the F2259.

Tuesday, January 3, 2017

SmartPhone audio accessory

Some notes about some audio accessories for smartphone.

Hype Retro Walkie Talkie handset

This funny toy is shaped like a traditional-style ham radio microphone.
The idea is to "transform" the smartphone into an Ham radio. For example, used with Zello can facilitate to use it in a mobile environment or for who is nostalgic about it.

I tested it on the Samsung tablet but is not working with Zello.
However is working with other applications. This suggests that there are other differences other the 3.5 mm jack pinout.

Let's open it up

The quality of the gadget is of course very low. Beside, for 5$ really is not expected to be better.

The gadget

To open it there are just four Philips screws

The little board has a small amplifier based probably on  a LM386.

There are two push button and a trimmer for the ON/OFF and volume setting.
The small push button on the top is the one that is used to start the conversation.
The big push button on the side simply mute the speaker (IMHO wrong  choice since normally the PTT button is on the side on a normal/standard mike).


The idea is to plug the mike in the smartphone audio jack and turn it on.
After that the audio output is redirected to the small speaker and when pressing the PTT button, the mike is activated.