Saturday, December 26, 2009

National Semiconductor's LMX9838 Bluetooth IC

Here is one of my old projects:

I was able to acquire free 5 pcs sample of LMX9838 IC. I was able to use and evaluate it quickly. Here is my exact schematic (I created this in Eagle).



I was able to use this to control my microcontroller projects (LMX9838 in transparent mode) via
1. my Nokia E63 with a PythonS60 script.
2. USB Bluetooth using C# SerialPort Class

Friday, December 25, 2009

New Knowledge: Microsoft's XNA Game Development

It's Christmas Day. I had decided to learn something new today: Microsoft's XNA Game Development using C#. I always love being challenged, so I am giving myself a chance and do some self-study and see if I can (hopefully) develop some simple games using XNA.

While doing some useless XNA stuffs (just for learning purpose), here is my very very first attempt in creating collision-detection routine for two different objects:
http://img693.imageshack.us/i/bounce.mp4/

I am so excited with the learning adventure that I will be able to get and acquire with Microsoft XNA. :) :) :)

Thursday, December 24, 2009

SMS Bomber for S60 using Python

Just for fun, I tried creating an SMS Bomber for S60 using Python just for learning purpose. I had tried it with my Nokia E63 and it works! ^_^

Here is the full source code:

SMS Bomber 00.08.03

Sunday, December 13, 2009

Information Sharing: CS5463 Power Meter IC Calibration

I would like to share the calibration of the CS5463 Power Meter IC. My internet friends (co-engineers) asked me how I was able to use the calibration of the CS5463 in one of my projects (a low-cost power meter). I did this project long time ago, so if I will be having some minor mistakes here (due to passing time) please forgive me and just leave a comment. I am trying very hard to recall all the information (in my mind) needed for the calibration and to be able to share with those who needs the information.

The procedure in the datasheet is straightforward. However, many are confused in the graph shown in the datasheet:

Note: I only used DC signal for the whole calibration process. (No AC signal was used in calibration process)

Here are the steps/example for the calibration(only for Gain Calibration, I didn't include the Offset calibration as it is very easy to understand from the datasheet):
1. Inject a known DC voltage signal. For example, I will be injecting a well-calibrated voltage of 163.22mV. (you can use any voltage here depending on your preference, but this is the voltage I used on my computations.)
2. Perform the AC gain calibration.
3. After the AC gain calibration (and if done right), 163.22mV corresponds to 0.600 (instantaneous register value).

That's it. On actual operation (after being calibrated), if I got a value of 0.510, I just need to do a simple ratio and proportion to get the corresponding voltage.

163.22mV/0.600 = x/0.510
x=138.737mV; The voltage currently present at the channel being measured

With this method, I was able to compare the readings I got with a calibrated Chroma Power Meter versus my project. (there are small difference on the current reading due to the wrong type of current transducer that I used in the initial phase of this project)

With the data I got, I conclude that the method is accurate and precise. :)

Saturday, December 5, 2009

My Asus EEE Bios Resurrection Project posted at hackaday.com

My project Asus EEE BIOS Resurrection was posted at Hack-a-day.com.
http://hackaday.com/2009/09/25/eee-pc-bios-resurrection/

I am so happy that I was able to finish this project successfully. I am very willing to help those Asus EEE users who are currently dealing with a corrupted BIOS.... Many many thanks to hackaday.com :)

Pyro Sequencer System

This is my first time to create an Electronic Firework Sequencer System. I created the software in Visual C# 2008. I integrated the Windows Media Player to be able to synchronize the fireworks with the music currently being played.



I used a low-cost PIC16F88 microcontroller with an RS-485 link + Serial-in-Parallel-out Shift Registers to be able to achieve 32 outputs. Everything was simulated on the Proteus PIC Simulator and the results turn out to be good. This is still a development in progress.

Monday, November 30, 2009

Alexan's Electronic Drum Kit: A Review

Recently, I am planning to buy a drum set just for home use. But I remembered that Alexan has an Electronics Drum Set and I want to give it a try.

So I rushed at Alexan and bought an Alexan's Drum Set for 600+Pesos.



Building it is fairly easy as the schematic is already provided. However, there are some values not listed on the BOM of the schematic like the capacitor in the kit I bought. And there are traces that are shorted on the PCB (luckily, I used a bench power supply that has an Over Current Protection).

Here is the final assembled piece:



There is an output for the amplifier and there is a provided built-in amplifier section in the schematic for the mini speaker. (driven by LM386)

I would probably say that the sound quality using the provided speaker is good vs the price of the kit. I tried putting it in an amplifier and it is ok as well. Maybe this December, me and my former band mates will meet, and will try to use this one hooked up on an amplifier and will post the results here.

Wireless Controller Firmware Mod

Here is a Long-Range Wireless Controller from China bought by my friend Jay. This is mainly used for Pyro Shows (but I have other plans for it in the future). The package includes a Transmitter and a Receiver:



This features 8 Momentary and 4 Latch Setting for the 12 relays. I was requested to use the existing board and create a customized program for the PIC16F57 built into it. The program must have the following features:
1. manual mode
2. 32 cues sequencer mode
3. step firing mode

I quickly checked the datasheet of the ICs used (PT2272 and PIC16F57) to be able to reverse engineer and create a schematic out of the PCB connection traces. (The schematic is still written on paper, but I have plans to create an Eagle Schematic for it). After the schematic was drawn, I notice a jumper. It was connected on the RB0 of the PIC and I decided to use this jumper to switch from manual to sequencer mode.



Fast-forwarding the development phase of the firmware development for the PIC16F57, I was able to finish it quickly. The firmware was written from scratch and I was able to replicate the old feature + (PLUS!) the new features that was requested to me.

The PIC's oscillator clock source was changed as well to be able to accomodate a very accurate timing increment. And here is the completed board (with test LEDs):



Here is a video demonstration of the manual mode. Then I removed the jumper, power off, power on, then pressed a button to demonstrate the sequencer mode (this is the Firmware (FW) version 00.08.00).
http://img4.imageshack.us/i/moviei.mp4/

Here is another sequencer mode with LEDs (FW revision 00.08.08).
http://img214.imageshack.us/i/movie0001.mp4/

And this is the final version with Step Firing Mode (FW revision 00.08.09 - the version as of this writing)
http://img37.imageshack.us/i/moviev.mp4/

As for the conclusion of the project:
1. The board has now more features than it was before.
2. Sequencer mode and the Step Firing mode works very well (with 40msec holding for relays)

This is just a start, as I have more ideas for this board... :)

Update as of Dec. 4, 2009:
Deadman's Switch was added on the sequencer mode. Current version is 00.08.10.

Recovering My Asus EEE's Corrupted BIOS: The hard (but cost-effective) way

(this is my post from a forum dated September 05, 2009, I am just reposting it here)

Hello,

As of yesterday, I pulled out my Asus EEE from Asus service center due to very high repair cost. Almost 200USD around 10,000pesos... But.... I am so happy that I had revived my Asus EEE... As from my story, the bootblock was erased and I tried all the tricks for bootblock recovery techniques I found on the net and without luck.

It took me two complete days to recover this little machine in a hard way. I opened my Asus EEE PC with the steps here: http://forum.eeeuser.com/viewtopic.php?id=6036

Then I saw the BIOS IC and removed it from the board using a soldering iron





From there, I obtained a datasheet from Winbond W25X40 4M-Bit Flash and read and studied all the instructions. From there, I developed the circuit, firmware, and software for flashing. Here is the software created in C# I had just created this morning to flash my BIOS:


Here is the circuit I created (on breadboard hehe). I used a PIC16f628A (through UART @115200bps) because my parallel port is already damaged. Used SDCC as the compiler.


After programming and verifying using the software I created, I tried to temporarily wire it to see if it works:




And it worked!



My Asus EEE is up and running again!

I am so happy!!! ^_^


Update (Dec 4 2009):

I had just updated my BIOS Flasher to version 00.08.02 (written in C#)


Update (Jan 17, 2016):

I updated this entry due to deletion of image from ImageShack's server.

Update (Sep 3, 2016)

The firmware source code for the PIC16F628A BIOS programmer is in Github: Link

Globe Tattoo's USB HSDPA Modem:Interfacing to C#: (Continuation)

Here is the short sample C# code I did for the Globe USB HSDPA using Visual C# 2008:

Here is the output:


Interfacing Globe Tattoo's HSDPA Modem to Hyperterminal

I have a project wherein I need a GSM Modem to be interfaced with my Computer and do some data gathering. AND I need a low cost solution because GSM Modems are really expensive. Then, I saw my sister's Huawei Globe Tattoo and asked myself if it can communicate with AT command. I immediately performed some basic experiments (sending and receive SMS) and it worked! I was able to quickly communicate with it using Hyperterminal and was able to create my first program with it using Visual C#. It was really a big cost saving!

I would like to share the procedure on how to interface Globe Tattoo's HSDPA Modem Hyperterminal:

1. Go to device manager and check for the Com number of the USB Modem.




2. Open hyperterminal and connect to the Com Port indicated on the Device Manager.




3. On Port Settings, click ok.



4. Go to File>Properties>Settings>Ascii Setup... Check "echo typed characters locally."



5. Issue AT Commands!



Advantage:

1. cheap alternative to RS232 GSM Modems (my sister bought the USB Modem for 1,900+Pesos. As of this writing, the price is around 800+pesos only)
2. USB Interface, no external power needed

One disadvantage is the difficulty to be interfaced with microcontrollers where I recommend using a TTL/RS-232 GSM modems like this very good GSM kit from E-Gizmo  Link .

This is a low-cost solution for students who needs SMS capability for their thesis (PC-based projects).