Monday, December 25, 2017

quick summary 2017

dear readers, as some of you guessed yours truly went off the grid from the inherent lack of updates for the last year. Sorry for the hiatus at this blogsphere. yours truly was busy making ends meet in real life.

2017 was BRILLIANT!!!! His dedication to making the ends meet were rewarded with victories.

the following list is a shameless plug extracted from his resume:

2017 Supervisor, Gold award for “Smart Club House”, and Commendation award for “Smart JAE ChatBot with NCS ChatConnect”, SmartPoly FYP Challenge

2017 Supervisor, “MakeSense1”, special prize, International Programming Contest (ProCon), Japan.

2017 Mentor, second prize, Cisco APJ Global Problem Solver Challenge

2017 Mentor, “Honourable Mention” prizes, AWS IoT APP Challenge

2017 Mentor, First Prize in student category, AWS Hackday, IoT hackathon

2017 Mentor, second runner up, Bosch BoT Hackathon

2017 Mentor, student startup “MakerFoundry LLP”, product development “SPEEEduino”

2017 Speaker, and panel member, AWS Singapore Summit, AWS Education User group

2017 Speaker, Maker Conference Singapore

2017 Organizer, ASEAN100 hackathon, sponsored by AWS, Bosch, Cisco.

Wednesday, June 21, 2017

Infrared Goggles an Urban Armoury Series

The objective of Infrared goggles is to protect privacy of a private citizen in this social media frenzied world where one could be accidentally included in the massive occurrence of picture and video taking in public places and then sharing on social media.

True, one could argue that why not wear a sunglasses or oversized sunnies? The matter of discussion here is for the private citizen to remain connected and socially included in the community, maintaining eye contact with another human being during a conversation while being shielded from preying lenses. On the contrary, sunglasses abstracted such functions and hence the less emphatic approach. The crux of this i'ble is based on the concept of human eyes are incapable of perceiving infrared light at the spectrum of 700nm to 1000nm, while modern lenses and picture taking devices are able to captured it. More details here While wearing this Infrared Goggles, the humans engaged in the conversation will be oblivious to the urban armour, but image acquisition devices will perceived light. It is very simple to construct Infrared Googles. One would need some Infrared LED strip, a clear type eye protection PPE, some hot glue, and adequate power supply. In this i'ble, an 850nm Infrared LED strip is used with a 59mm clear type eye protection PPE. power supply is LiFePO4 battery pack that supplies 12V with a capacity of 2800mAH.

this post is available on instructables

Sunday, December 25, 2016

SPEEEduino v1.0 and the VooDoo sequence

At that moment in time, yours truly only have 1x working Arduino Uno lying around, and definitely could not do Arduino as ISP to burn bootloader into a new ATMega328p on the SPEEEduino. So he transplanted the ATMega328p what is in working condition from the Arduino Uno into SPEEEduino, assumes it will work straight out of the box, and start to program away. Fate took an unfortunate turn when he tries to download the code into SPEEEduino transplanted with ATMega328p.
yours truly was greeted with the legendary
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x47
he thought he had a batch of bricked PCB, but upon closer examinations he noticed the LED on pin13 blinks according to the example code downloaded via the Arduino Uno to verify the functionality of ATMega328p before the transplant.
Then he verified the following connection via continuity test
tx(CP2102)->rx pin2(MCU)=ok
rx(CP2102->tx pin3(MCU)=ok
Computing Environment
1. Win8.1, Arduino IDE 1.6.7. SPEEEduino with transplanted ATMega832p gave this error of avrdude: stk500_recv(): programmer is not responding
2. Ubuntu14, Arduino IDE 1.6.8. SPEEEduino with transplanted ATMega832p works out of the box in this environment.
A little consolation prize is needed to keep troubleshooting to solve the mystery of not working in windows environment, but works in linux environment.
If you landed on this page looking for solution for the legendary error of avrdude: stk500_recv(): programmer is not responding or avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x47 look no further than the next step where yours truly outlined the voodoo sequence. If you are interested to know the troubleshooting sequence, look further.
SPEEEduino is connected with CP2102 on a valid com port on a lenovo laptop running windows8.1 and Arduino IDE 1.5.6 r2 with verbose mode turn on upload via File->preferences
when you are about to press the "upload" button to compile and download the hex to the board, press and hold the "reset" button on SPEEEduino. upon seeing the first handshake "avrdude: Send: 0 [30] [20] ", release the reset button. you will now able to program the ATMega328p. refer to the screenshot for details.
this voodoo sequence seems to be counter intuitive, because Arduino Bootloader supports auto reset feature with a 0.1uF cap and 10K resistor is connected between the DTR line to the RST on ATMega328.
yours truly took a 2 days scraping the Internet forum posts, and experimenting on many laptops to be able to download the hex successfully.
this voodoo sequence is the workaround for the legendary error of avrdude: stk500_recv(): programmer is not responding or avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x0a
Good Riddance

Friday, October 7, 2016

ESP32 With Arduino IDE

Christmas 2015 yours truly was one of the lucky few in the world to receive theESP32 for experimenting. The board was not assembled, and it was quite intimidating to assemble the board with just a fine tip solder. The experiment is documented at this URL:
This afternoon, yours truly came across the Arduino Core for ESP32 on github URL here: . Very exited on this discovery, he was eager to experiment with it, but only when he is done with the consultations. If his STM serves him well, he recalled witnessing the exponential growth of IoT devices made with ESP8266 posted on the Internet, the ESP8266 board wars by the various board makers, professionals and amateurs alike. The growth was particular intriguing, especially after the ESP8266 development environment was ported from the regular GCC and make, to arduino IDE. He might relive the growth of ESP32, now with Arduino port.
After installing, the settings seems to be prim and proper. Check out the screenshot for details
The following was the setup environment for ESP32 with Arduino IDE
arduino IDE 1.6.5

[UPDATE] The following setup that works: Ubuntu14.04 x86 desktop, Arduino IDE 1.6.12, python2.7

There is a gotcha moment; caveat emptor. [UPDATE] : works with Ubuntu14.04
This is a work in progress post. [UPDATE] : check out new screenshots
The instructions given in github is crystal clear download the necessary files.
Here comes the fun bit, from the writeup it seems to be running off *nix. But since yours truly office laptop only comes with windows, he proceed nonetheless. Administrator rights needed to run the
check out the screenshots for the details on win8.

Yours truly tried to compile the blink example with ESP32, but was greeted with this error.On hindsight, perhaps it is better to install in the following environment
Ubuntu14 or any other *nix distros

Ubuntu14.04 x86

Monday, June 27, 2016

Maker Faire Singapore 2016

Maker Faire Singapore 2016

Efforts in Maker community and education recognized by Singapore Ministers.  

24Jun16, Received 
“Certificate of Recognition for 5 years of continuous support & enthusiasm” from Dr. Vivian Balakrishnan Minister of Foreign Affairs.

25Jun16 Received “Certificate of Appreciation” from Dr. Yaacob Ibrahim Minister of Communications and Information