Thursday, June 19, 2014

My Mobile Application Idea using Ibeacons

Micro location devices such as ibeacons are getting the right attention nowadays because these devices can truly make huge events in a large venue interactive making the event more organized and more enjoyable.Still, quite a number of people still don't know what ibeacons can do and what it can do to help them save time or enhance their experience.

Currently, a lot of new app design ideas have been coming out and I would like to share mine. I am not an expert in mobile app development but I think the concept is viable and can really help people who loves shopping or going out to buy some hard to find items.

Here's my idea:
  1. Before I go out of the house, I will list down the items I am going to buy on the app.
  2. I proceed to the mall where each shop has active ibeacons.
  3. While I am inside the mall, I open the app showing the list I created.
  4. I click on an item and immediately, the app will tell me which shop sells the item.
  5. I click the shop that sells the item to give me the exact location and tells me if there is an on going sales discounts or they're giving away freebies.
  6. Assuming it is so far away, so I will just send a message to the shop owner to just send the product to my current location and I will just click the "pay" button to pay for the product using my paypal.
  7. I will just wait for the product to be delivered while enjoying a cup of coffee.
The list are just high level outline of my idea, if I would dig a little deeper into the features, I would probably add these items into the list:
  • The list of enumerated shops must include the selling price so I could decide immediately from which shop should I buy. 
  • The search algorithm I would use in determining which shop sells the item is keyword based. But it would be a lot simpler if I would tell all the shop owners to have similar product code. For example, I intend to buy a laptop which has i7 octacore cpu, ips touch screen of at least 11". I would also include my budget and ideal casing. The app should use the keywords "i7 octacore cpu" "ips touch screen" and 11".
  • If I click on a product, it would show the typical brochure-like screen filled with useful information and at the button several widgets that shows the related items, the "people who bought this item also bought the following items", reviews and feed backs.  

With this app, I don't have to go each and every shop just to ask them if they have the item I am looking for.
This app can really be very helpful especially when you have a project and you will start looking for the components you need and shops are located far from each other and not to mention the extremely humid weather.

Friday, February 14, 2014

My Femtoduino Multipurpose Shield

Having too much clutter on one's desk or work table can really be annoying. This is the main reason why I really need to transfer my newly created gadget from breadboard to a pcb. Ok not the near commercial version of it, just a quick solution. So I came up with a really nice mutlipurpose shield just perfect for my current need.

Last week, upon the arrival of my BMP180 sensor, I quickly did some experimenting and since all of the results were just as I expected, I really need to transfer all of my setup to a pcb so that I can concentrate in the creation of the firmware.

This was my previous setup:



And now, this is my shield:




I have become a big fan of my friend who happens to be a cellphone technician because he did an amazing job at assembling my project. He never made any mistake and I only have to leave him all the parts I used, with some instructions from me and I made a totally ugly sketch of the schematic diagram. I am so proud of him for doing such an amazing job. Here is my sketch:
I made this sketch in less than an hour, because I was so very excited.

More about the shield:
The shield can be used in a lot of ways. I designed it to be flexible and all modules I used can be easily removed and replaced with another module. Here is the list of components I used:
  1.  1.8" tft display, I have chosen this over my Nokia 5110 lcd module because this tft display is a lot more functional, offers twice as much resolution at 128x160 pixels as compared to Nokia 5110's 84x48 resolution, small footprint, full color and most importantly power consumption is very low, so a coincell battery can still be used for this project.
  2. Femtoduino, it is the only microcontroller I have at the moment so I have no choice but to use it.
  3. Buzzer, I needed somehow to hear some sounds so this is a good addition.
  4. BMP180, this is the main reason why I came up with this shield, it is a very functional sensor because with it, I can measure altitude, vertical velocity, atmospheric pressure, relative temperature and humidity.
  5. DC-DC Step-down converter, this module converts 5V to 3.3V. This is needed in the shield because the Femtoduino requires 5V while the 1.8" TFT Display and BMP180 requires 3.3V.
I also included a jumper port so that when I need to take a picture of the 1.8" TFT display using my tablet, there wont be any problem because normally, to achieve full brightness of the display, it had to be connected to 3.3V, having it this way, the backlight can not be controlled programatically. At full brightness, my tablet could not take picture of it. So when I connect the backlight of the display to digital pin 9 of my Femtoduino, I can control the brightness but if connected this way, the full brightness of the display will not be achieved.

I still have plans to add more modules like the accelerometer and the digital compass which anytime soon will be arriving.

Finally, I took a video of the shield featuring the digital clock, the ringtone program that I downloaded from the internet, the screen for displaying the temperature, pressure, altitude and the vertical velocity. I am still in the process of finding ways to make the firmware efficient and planning to improve the splash screen. I am also going to add more functionalities like the device must be able to store the readings using the 3kB eeprom that is builtin the Femtoduino and display these reading on a line graph. The 3kB is already good enough to store the following:
  1. 1 minute of readings at 1 sec interval
  2. 1 hour of readings at 1 min interval
  3. 1 day of readings at 15 mins interval
  4. 1 week of readings at 12 hrs interval
  5. 1 month of readings at 5 days interval
The total of these readings will be 2.25kB and I will still have plenty of rooms for storing my other important settings( I will be writing more about the software on my next post). But unfortunately, those readings will be just for the altitude. I may consider to add a new module and that is the I2C eeprom to enable the shield to store more data.

Here's the video:

Tuesday, January 28, 2014

Status Update on my Portable Battery Bank

The batteries I ordered finally arrived. And so, this will let me finish my portable battery bank project. The batteries  ordered have the following specs:
  1. 3.7V 
  2. 2800mAH
1 battery is capable of charging my 7" android tablet 2 times or can be capable to power up my Arduino Digital Clock project for at least 5 days.
Here are some pictures of my project:


Each battery came in with an attached wire for positive and negative terminals for easy attachment and solderability to any diy projects. And I managed to quickly connect it to my 1Amp microUsb charger and my 500mAmp Usb DC-DC step up converter where I usually attach the device that I need to charge.

I tested my project for several days now and it performs just like what I have expected and I am so happy that it did just that.

Monday, December 23, 2013

I2C Sensors that can be combined on a small board

I discovered that there are several tiny sensors that can be combined together in a single pcb board. This is cool because these sensors requires only 2 pins which means you can add more devices when more pins are available. The scarcity of pins is a common problem of newbie electronic hobbyists. The other most common problem is the availability of space, the more the device that is connected requires bigger pcb, and the device can be as big as a normal personal computer already which does not makes sense if you want to carry your diy device around. And the coolest thing about these sensors is that they have very similar circuit implementation. So if you have read my previous about the Digital Compass, then it should not be hard for you to implement the other sensors.

My previous post used HMC5883L which is a low cost 3-axis Digital Compass. Aside from showing where you are facing, this is device can be used to control the direction of rotation of a motor without pressing a button.

If your goal is to create a device that can give you information like the current temperature, pressure and how high your location or how fast you are moving upward or downward then you need a BMP180 Digital Pressure Sensor. This is commonly used in rocketry or even in drones. It is also commonly used by explorers and mountaineers.

Another sensor that has many applications and can tell so much about your movement such as angle of inclination, how fast you are spinning and can tell you your orientation and this is the MPU6050, a MEMs 3-axix gyroscope and 3-axis accelerometer at the same time.

All three sensors(BMP180, HMC5883L and MPU6050) can be combined is a tiny pcb board with very minimal passive components. Here is the module:
http://www.sulit.com.ph/index.php/view+classifieds/id/33383087/4+Sensors+in+1+tiny+Module+for+Arduino+PIC+AVR+STM32?event=Search+Ranking,Position,1-1,1



Sunday, December 22, 2013

Digital Compass during Sunday Midnight

I could not sleep last night so I kept myself busy by creating a simple breakout board of HMC5883L which is a low cost 3-axis Digital Compass. I thought it would keep me busy the whole night until the morning but I was wrong, it only took me less than an hour to finish the job.

Here's some picture of what I have done:
1. The 3D render from Kicad:

2. The back panel of the pcb. This image was produced upon submission to the fab:

3. The front panel of the pcb. This image was also produced upon submission to the fab:

 4. The pcb view from Kicad:

5. And finally the schematic diagram:
Sparkfun has similar breakout board and some features listed in their website is as follows:

  • Simple I2C interface
  • 2.16-3.6VDC supply range
  • Low current draw
  • 5 milli-gauss resolution
I did copied their breakout board but coincedintally, probably we have the same source, the ic's datasheet. I just followed  the Single Supply Reference Design provided in the datasheet.

Tuesday, December 10, 2013

Transferring my Digital Clock from Breadboard to a PCB

I had fun learning KiCAD last weekend. After 2 days of fun learning, I thought I should transfer my digital clock project to a nice pcb. I asked myself why do I need a gorgeous pcb? And here are the answers to my questions:

1. I want to get rid of the mess on my work table.
2. The hardware can be temporarily freeze to its current version. I still have plans of adding more features on the hardware side.
3. I want to check how it will look like in a professionaly designed and fabricated pcb.
4. I want to concentrate in creating a better firmware.

With the above mentioned reasons, I was able to convinced and motivate myself to create the pcb. As of today, I am done with the initial design and here is the initial render:

Back View:

Front View:

The pcb I created is basically an arduino uno shield that can be used as a tool for learning and getting familiarized with the programming language of arduino. This really perfect for beginners and can still be appreciated by  the experts.

Friday, December 6, 2013

The Clock is Simple No More

Well it is really awesome to say that the clock is no longer that simple because I added a few more features to make it a nice clock, it is not yet the final version because I have tons of ideas to make a one hell of a device which I can call one of my best projects ever!

The New Features
 I've added 3 new features which are as follows:
1. 2 new buttons to control the brightness. This is just a temporary version, I just want to check whether it is nice to have a button and to control the brightness. It turns out that yes, it is indeed needed. I still am thinking  if I will make this permanent because I plan to control the brightness, contrast, set time and date, store important dates and alarms using the pc. I connected the 2 buttons using the schematic below:


2. A back-up battery with Charger and DC-DC Step Up converter. The clock will not be connected to the pc 90% of the time so a battery is needed to power it up and must be rechargeable just like cellphone. I used the AREF pin to bypass the on board  regulator of the arduino because it is not efficient. The battery is rated 3.6V so it is not enough to power-up the arduino that is why I need to bost that voltage to 5V using the DC-DC Step-up converter. Below is the connection diagram I used:


3. A software feature to monitor the battery charge. Using the diagram above, I connected A1(analog pin 1) of the arduino to the positive terminal of the battery to measure current charge of the battery. I used the following codes:



    val3 = val3 + analogRead(1);
    charglim++;
    if(charglim>40)
    {
    val3 = val3/charglim; 

    val1 = val3/204.6; //0-5V

    charglim = 0;
    val3 = 0;  
  }
analogRead(1) will return values between 0 to 1023 which is summed up to val3 40 times and the average is taken and converted to voltage reading.

Here's the actual pictures of the components I used:









Some of the components I used can be bought from my sulit shop http://n92seller.sulit.com.ph