Author: <span class="vcard">kenio.carvalho</span>

Connect an Arduino Board to a computer is a easy task right? 99% yes.  My Arduino Nano Board arrived last week and i only have time to play with this board on the last weekend.

When i try to upload a program to the board i got the following:

Arduino: 1.8.8 (Mac OS X), Board: “Arduino Nano, ATmega328P”

Sketch uses 444 bytes (1%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x50
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x72
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x6f
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x67
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x72
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x61
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x6d
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x61
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x73
An error occurred while uploading the sketch

I tried on a Windows and Linux coputer with no luck but the same problem.

I read lot’s off posts in Arduino forums, some problems with MAC OS Sierra, i setup drivers  and nothing.

Today i found a solution :

Tools > Board > ATmega328P (Old Bootloader) on Arduino IDE.

The forum post has more solutions for another problem. I think is because Arduino has several clones.



Every sensor has it’s own kind off codification
The message from the device is like this one:

{"time": "1551285775",
"deviceType": "deviceType",
"device": "xyzabcd",
"duplicate": "false",
"snr": "30.00",
"rssi": "-128.00",
"avgSnr": "19.39",
"station": "300C",
"lat": "-20.0",
"lng": "-44.0",
"seqNumber": "497",
"data": "1a24183c3801" }

The measurement are encoded on data string, a sequence of 6 bytes.
I read the sensor manual and the temperature are usin the last 4 bytes

To get the temperature value i wrote the following:

var dados = //get the data value “1a24183c3801”
var v1 = dados.substring(10,11)+dados.substring(11,12)+dados.substring(8,9)+dados.substring(9,10) //get the 4 values as in the device manual
For example the value will be “0138”
The temperature will be temp = parseInt(v1,16)/100
Using the value 0138 the result is 3,12 Degrees Celsius
But if the temperatue is negative you need to test if the first bit of the meesage is 1 and use

temp = parseInt((~parseInt(v1,16) +1 >>> 0).toString(2).substring(16,32),2)/100 * -1

The formula code on the line above use twos complement format, get the last 16 bits and then convert to a decimal value


Today i am working on a batch operation registering several sensors on IBM Watson IoT.

Using curl you need to encode de API KEY and API TOKEN

It easy using the MAC terminal console

To encode just type on terminal: echo -n ‘user:password’ | base64
the result is —> dXNlcjpwYXNzd29yZA==

To decode just type: echo ‘dXNlcjpwYXNzd29yZA==’ | base64 -D
the result is —> user:password


I setup the connection to cloudant service to store historical data of my IoT devices. When i click “done” an pop up window appears asking to authorize the connection to Cloudant Service. I confirm to authorize and i get the message 502 Bad Gateway: Registered endpoint failed to handle the request. and i can’t store iot device data on cloudant. I tried several times.

I search a lot about this error message with no luck .  To solve the problem erase all IBM cookies from you browser and restart it.

Cloud IoT

I miss some webinars about Domino V10 . Here is the link to Collaboration Solutions Webinars records

Comunidade Domino

At a high-level, a hybrid cloud is a mixture of private and a public cloud environments that work in tandem to run your workloads and apps. That definition sounds straight-forward, but when you dive in and start to work, you can find hybrid cloud architectures difficult to manage without the right tools.

You can watch a video of a real-world example to clearly understand what works well on a public cloud environment and what is best in a private environment.



I found it today when googling for some solution for my mac and it works!

The web is moving to HTTPS, preventing network attackers from observing or injecting page contents. But HTTPS needs TLS certificates, and while deployment is increasingly a solved issue thanks to the ACME protocol and Let’s Encrypt, development still mostly ends up happening over HTTP because no one can get an universally valid certificate for localhost.

This is a problem because more and more browser features are being made available only to secure origins, and testing with HTTP hides any mixed content issues that can break a production HTTPS website. Developing with HTTPS should be as easy as deploying with HTTPS.

link to github


IBM Verse is a powerful cloud-based email experience. It’s optimized for web browsers and mobile devices. It helps you focus on your top priorities and take control of action items. This one hour course will help you get started.


With the launch of Domino 10  knowledge of JavaScript and how to work with JSON Objects will be required for the new development model.

As i am working on a IoT project  i need to learn JSONata to manipulate lots of JSON objects.

JSONata is underpinned by the semantics of the location path inspired by XPath, the ability to format the output into any JSON structure inspired by XQuery, and the functional programming model inspired by Scheme.

The semantics of the location path inspired by XPath

  • Simple and intuitive syntax for selecting values within a structure.
  • Powerful predicate mechanism for complex queries and data joins.
  • Built-in functions and operators for manipulating and aggregating data.

The ability to format the output into any JSON structure inspired by XQuery

  • Standard JSON syntax used for constructing new objects and arrays.
  • Any valid JSON data is also a valid JSONata expression.
  • Allows template style queries to be constructed.

The functional programming model inspired by Scheme.

  • Implements the ‘metacircular evaluator’ described in SICP.
  • Supports user-defined functions (closures).
  • Turing complete.

The lightweight footprint of the runtime processor enables it to run in the web browser or as a node.js module with no package dependencies.

Take a look at


Today I gave a presentation about machine learning and IoT focusing on industrial maintenance. The event was the third industrial maintenance workshop in Belo Horizonte. An opportunity to talk about IBM Watson and IIoT to the industry in my region.


Data Science Machine Learning Uncategorized

Domino 10 beta 2 started last week. I download the files and wish to run it on docker.

I follow Tim Clark’s blog series about Domino 9.0.1 on Docker.

I change a few lines on dockerfile (just change the installation file name).

Another difference was the line to start the container. I add the port 8585 to do a remote setup

docker run -it -p 1352:1352 -p 8888:80 -p 8443:443 -p 8585:8585 –name Domino10Beta -v domino_data:/local/notesdata kenio:Domino10Beta2



I ordered two servers from SoftLayer to host some wordpress sites.

I tried to update the server using yum update but i got the error bellow

Loading mirror speeds from cached hostfile [Errno 12] Timeout on (28, ‘Connection timed out after 30001 milliseconds’)
Trying other mirror. [Errno 14] curl#56 – “Callback aborted”
Trying other mirror. [Errno 14] curl#56 – “Callback aborted”
Trying other mirror. [Errno 14] curl#56 – “Callback aborted”

The first problem: DNS server is not correct on resolv.conf

The second problem: The repos for yum was changed by softlayer and you need to revert the file CentOS-Base.repo to the original file.