Today, my Teensy-LC and ESP-12E just arrived and I am so excited to experiment with them over the weekend. I have not decided which of the two MCU's should I use for my DIY Smartwatch Project.So I want to list down their strength and weaknesses to help me which I should choose.
1. Microcontroller(MCU) Speed
Teensy uses MKL26Z64 ARM Based Chip rated at 40Mhz while ESP-12E uses ESP8266 which is rated at 80Mhz but can be overclocked at 160Mhz. Clearly, ESP-12E is the winner.
2. Arduino Compatibility
Recently ESP-12E and its variant can already be programmed using the Arduino IDE and while Teensy-LC is already programmable in the same IDE so both are tied on this. But I still don't know if all commands in Arduino is supported by both MCU's all I know is in the case of Teensy, some are not supported.
3. Power Consumptions in Sleep Mode and Normal Mode
I am totally new to this microcontrollers so I cant compare them based on this category. Probably when I get to program them, that will be the time for me to be able to decide which one is better than the other.
4. GPIO/Ports/Availability of Libraries
Teensy has so many GPIO's(dont know exactly how many), PWM Pins, 3 Serial Ports, 1 SPI Port and No built in RTC and since it can be programmed in the Arduino IDE, I assume the SPI, I2C libraries will work, while ESP-12E has very few exposed GPIO and PWM pins, 1 SPI and 1 I2C port and I also assume that the Arduino SPI and I2C libraries will work. It seems I have a problem here because I need at least 2 SPI ports(the LCD Display and SD Card uses SPI ports) because I have not tried connecting 2 devices in 1 SPI port but I have read somewhere that it is possible for several devices to share 1 SPI port. The smartwatch does not need too much GPIO and PWM pins. I give the credit to Teensy in this category though.
In conclusion, I am still not able to decide which one is better than the other although ES-12E has built-in wifi radio and while the Teensy do needs ESP-12E.
Thursday, May 5, 2016
Friday, April 29, 2016
MAX30102 Heartbeat Sensor and Oximeter
A very common but most likely the most important feature of smartwatches that should make them useful and separates them from ordinary watches is the inclusion of sensors that measure rate of heart beat and blood oxygen level. I am not a health professional but as an ordinary folk, the data could be important. For example I could use the data make the color of the watch's screen respond to changes in my heartbeat patterns.
And again, while I was searching for simple circuits that I can use for my DiY Smartwatch, I was able to find the MAX30102 Heartbeat Sensor and Oximeter which I believe some of its variants were used in Samsung latest flagship smartphones. Below is its sample schematic diagram:
This can be a premium alternative to the one I found on ebay, a sparkfun clone product but very cost effective and working:
And with the schematic at hand, I could use thinner pcb and integrate other watch stuff like the rtc in one pcb which could make the watch thinner. The downside is since it will be developed from scratch, prototyping will be more difficult.
And again, while I was searching for simple circuits that I can use for my DiY Smartwatch, I was able to find the MAX30102 Heartbeat Sensor and Oximeter which I believe some of its variants were used in Samsung latest flagship smartphones. Below is its sample schematic diagram:
This can be a premium alternative to the one I found on ebay, a sparkfun clone product but very cost effective and working:
And with the schematic at hand, I could use thinner pcb and integrate other watch stuff like the rtc in one pcb which could make the watch thinner. The downside is since it will be developed from scratch, prototyping will be more difficult.
Thursday, April 28, 2016
Update on my DiY Smartwatch Project
Recently, I had been slowly researching for new add-ons for my SmartWatch Project. And here are the things I have in possession for the project:
1. I have 3d Printed the watch bezel and the result is very promising see picture below:
2. 6DOF MPU-6050 Module 3 Axis Gyroscope+Accelerometer, Heart beat sensor and ESP-03 wifi module has arrived:
3. The 1.44" touch panel has arrived as well:
The hunt for touch panel was not an easy task. I have searched all over Metro Manila and I could not find this precious component, I have searched ebay, and nobody sells this item, so I tried alibaba there were some who sells similar product but too expensive and so I decided to buy a 1.44" lcd with touch panel and luckily, I was able to buy 7pcs at $10/pc + $30 shipping and $20 customs duties. I have chosen the 4-wire touch panel because Adafruit already has an existing arduino library so it would be easy to implement.
I also currently ask a pcb designer to do the rtc pcb design and currently, I have asked them to use 0201 packaging for all resistors and capacitors so that the whole module would fit into 8mmx8mm pcb and the initial design is here:
So far the rtc pcb design project cost is $35. I would have to order all parts from abroad including the pcb fabrication and the prototyping may cost over $100+ because if I order from digikey, shipping cost is pegged at $40 minimum.
see related article: Hacking the 1.44" TFT LCD for my Smart Watch Project
1. I have 3d Printed the watch bezel and the result is very promising see picture below:
2. 6DOF MPU-6050 Module 3 Axis Gyroscope+Accelerometer, Heart beat sensor and ESP-03 wifi module has arrived:
3. The 1.44" touch panel has arrived as well:
The hunt for touch panel was not an easy task. I have searched all over Metro Manila and I could not find this precious component, I have searched ebay, and nobody sells this item, so I tried alibaba there were some who sells similar product but too expensive and so I decided to buy a 1.44" lcd with touch panel and luckily, I was able to buy 7pcs at $10/pc + $30 shipping and $20 customs duties. I have chosen the 4-wire touch panel because Adafruit already has an existing arduino library so it would be easy to implement.
I also currently ask a pcb designer to do the rtc pcb design and currently, I have asked them to use 0201 packaging for all resistors and capacitors so that the whole module would fit into 8mmx8mm pcb and the initial design is here:
So far the rtc pcb design project cost is $35. I would have to order all parts from abroad including the pcb fabrication and the prototyping may cost over $100+ because if I order from digikey, shipping cost is pegged at $40 minimum.
see related article: Hacking the 1.44" TFT LCD for my Smart Watch Project
Wednesday, April 20, 2016
CynBet EnerchipRTC is a Great Product for the DIYers
Space is so precious when designing an electronic gadget. Electronics Designers always looking for small components that would perform a whole task if not the major task. Another advantage of being small is that it consumes less energy.
I for one is constantly looking for small electronic components for my numerous DIY personal project and recently, I found the Cymbet Enerchip RTC which is a rtc(real time clock), battery, power management circuit packaged in 5mm x 5mm integrated chip(qfn) package. By the way, Cymbet is the supplier of Google Glass' battery requirements.
Although it is very small, I wonder why they did not included a 32kHz crystal, but having a builtin battery is more than enough to catch my attention. The chip came in 3 variant but personally, I prefer the CBC34803 because it uses I2C communication protocol and lasts up to 120hrs. Here is a typical circuit diagram of this chip:
Another nice feature of this system on chip is that if you are designing your own chip, the company also sells some of their products in wafer form, so like if you want to create your own arduino with builtin power supply can be possible, well who knows, maybe? LOL!
I for one is constantly looking for small electronic components for my numerous DIY personal project and recently, I found the Cymbet Enerchip RTC which is a rtc(real time clock), battery, power management circuit packaged in 5mm x 5mm integrated chip(qfn) package. By the way, Cymbet is the supplier of Google Glass' battery requirements.
Although it is very small, I wonder why they did not included a 32kHz crystal, but having a builtin battery is more than enough to catch my attention. The chip came in 3 variant but personally, I prefer the CBC34803 because it uses I2C communication protocol and lasts up to 120hrs. Here is a typical circuit diagram of this chip:
Another nice feature of this system on chip is that if you are designing your own chip, the company also sells some of their products in wafer form, so like if you want to create your own arduino with builtin power supply can be possible, well who knows, maybe? LOL!
Sunday, January 3, 2016
Using Android Devices in Machine to Machine Communication
Would it be great to make your android device do something even when you are away from it? Or may be let it ring to let you find it with the use of another phone? This process is somewhat or maybe it is a full machine-to-machine communication application which is widely used in so many industrial applications today.
Just recently, a lot of parents are very much concern with the whereabouts of their kids so they are forced to buy another security device to let them achieve this but these devices are often expensive and requires extra contract with the telcos to ensure reliability.
Nowadays, a lot of inexpensive android smartphones equipped with the latest OS and hardware but the only thing missing is a reliable app that would make these smartphones high tech device. So I thought I should create a simple app that screens incoming sms messages. If this app is able to receive a certain code which in this case is "Hello", it will automatically launch the camera app to take picture and display the thumb nail on the screen. This is just a demo program just to test whether my idea of making the android device do something even when you are away from it.
And I would suggest that this app can be enhanced further by adding Bluetooth communication with HM10 to control other devices in the house with so much ease. You may check my previous post here: More Fun with HM 10
You may download the source of the app here: https://drive.google.com/open?id=0B1tuk2j-arZSNVZfdEcwVUZha0U
If I will have the time, I may combine the 2 apps.
Just recently, a lot of parents are very much concern with the whereabouts of their kids so they are forced to buy another security device to let them achieve this but these devices are often expensive and requires extra contract with the telcos to ensure reliability.
Nowadays, a lot of inexpensive android smartphones equipped with the latest OS and hardware but the only thing missing is a reliable app that would make these smartphones high tech device. So I thought I should create a simple app that screens incoming sms messages. If this app is able to receive a certain code which in this case is "Hello", it will automatically launch the camera app to take picture and display the thumb nail on the screen. This is just a demo program just to test whether my idea of making the android device do something even when you are away from it.
And I would suggest that this app can be enhanced further by adding Bluetooth communication with HM10 to control other devices in the house with so much ease. You may check my previous post here: More Fun with HM 10
You may download the source of the app here: https://drive.google.com/open?id=0B1tuk2j-arZSNVZfdEcwVUZha0U
If I will have the time, I may combine the 2 apps.
Tuesday, December 8, 2015
OPENCV on Python on my WIndows 8.1 tablet
I have just installed OPENCV on Python on my WIndows 8.1 tablet and I have been playing with it like crazy. Opencv is a powerful tool to programmatically manipulate an image. It is like a low level version of Photoshop. And what happens when a programmer gets to programmaticaly manipulate an image? The possibilities are endless.
I had skipped the "hello world" part because I am not new to opencv and here is what I have tried to develop as part of my learning: finding the exact location of a small image taken from a larger image.
This ois the large image:
And obviously this is the small piece of image:
I had skipped the "hello world" part because I am not new to opencv and here is what I have tried to develop as part of my learning: finding the exact location of a small image taken from a larger image.
This ois the large image:
And obviously this is the small piece of image:
And here is the result:
And here is the python code I used:
# import the necessary packages
import numpy as np
import cv2
# load the big_image and small_image images
big_image = cv2.imread('C:\\Users\\mybook\\Documents\\alpha.jpg')
small_image = cv2.imread('C:\\Users\\mybook\\Documents\\piece.jpg')
(small_imageHeight, small_imageWidth) = small_image.shape[:2]
# find the small_image in the big_image
result = cv2.matchTemplate(big_image, small_image, cv2.TM_CCOEFF)
(_, _, minLoc, maxLoc) = cv2.minMaxLoc(result)
# grab the bounding box of small_image and extract it from
# the big image
topLeft = maxLoc
botRight = (topLeft[0] + small_imageWidth, topLeft[1] + small_imageHeight)
roi = big_image[topLeft[1]:botRight[1], topLeft[0]:botRight[0]]
# construct a darkened transparent 'layer' to darken everything
# in the big_image except for small_image
mask = np.zeros(big_image.shape, dtype = "uint8")
big_image = cv2.addWeighted(big_image, 0.25, mask, 0.75, 0)
# put the original small_image back in the image so that it is
# 'brighter' than the rest of the image
big_image[topLeft[1]:botRight[1], topLeft[0]:botRight[0]] = roi
# display the imagesThis may a simple app but it can be useful for game development, or it even be further developed and improved to create an image search engine.
cv2.imshow("Big_Image", big_image)
cv2.imshow("Small_Image", small_image)
cv2.waitKey(0)
Thursday, December 3, 2015
Using my Windows 8.1 Tablet Pc as Raspberry Pi 2 Model B Monitor
The raspberry pi is a tiny pc running on linux based operating system with gpio pins. It is like having an arduino and a personal computer. Unfortunately, the rpi does not have a builtin screen and having to connect it on a huge monitor does not make it a tiny pc anymore. But more recently, I discovered that I can use my Windows 8.1 tablet as my rpi's monitor and take note, the connection is over wifi.
With this configuration, I can access my rpi anywhere even when I will just leave it at home. To access the rpi from my tablet, I used xming and putty. Both software can be downloaded free of charge from the internet. It only took me a few minutes to figure out how to make it work, thanks to those numerous how-to guides on youtube. Without them my mini project would have never been possible.
Here is my setup:
With this configuration, I can access my rpi anywhere even when I will just leave it at home. To access the rpi from my tablet, I used xming and putty. Both software can be downloaded free of charge from the internet. It only took me a few minutes to figure out how to make it work, thanks to those numerous how-to guides on youtube. Without them my mini project would have never been possible.
Here is my setup:
So now, I can some python programming with image processing usin my raspberry pi and the wimdows 8.1 tablet pc during my spare time at work.
Subscribe to:
Posts (Atom)













