Day 1

Today, we learnt the fundamentals of electronics and wireless communications. Among the topics covered, these are but a few which the students have identified:
  1. How to apply what we learn in Physics (waves, static & current electricity) and Chemistry (atoms and sub-atomic particles) in mobile communication
  2. New concepts on electric and magnetic fields
  3. About the components of various electronic devices which are used to produce useful results
  4. How radio communication work - how radio waves undergo reflection, refraction and diffraction before reaching the receiving device
  5. How engineers use various methods to increase the use capacity for a certain range of frequencies


The students were also excited about learning about the different components within mobile phones and how these various components interact with each other. They also learnt about electromagnetic waves and how they applied in everyday life.

Day 2

The students learnt about the functions of Arduino and the Quectel M10 GSM development board. They also learnt how the concepts learnt in Day 1 applied in these boards.


The students were having fun trying to program the Arduino boards to flash lights or play certain sounds. As for the GSM board, while there were some errors with the software and drivers, they were quickly solved with the help of Mr Kwok Lih. When everything worked, the students were very excited and were scrambling to try out some functions such as calling or testing for signal strength. The hands-on experience certainly allowed them to learn far more than what they would have learnt in theory.


Day 3

Today we learnt more about some other chips like the chip with 7 leds which could form numbers or even words which could tell the time after being configured correctly. We also learnt about the Max232 level shifter which could link up the Arduino and the Quectel M10 development boards safely. We modified our previous GSM antenna to become a yagi antenna and the antenna's signal strength increased by about -10dB. The students were very engaged with their coding and constructing of their creations. After the session, we went to Sim Lim Tower to purchase the Max232 level shifter, electrolytic and non-electrolytic capacitors, bread boards, RS232 heads and female-to-female converter.

Today Mr. Richard Chee went through the various applications of the Arduino microcontroller, demonstrating the 7-segment LED display and its circuit diagram, including the clock generators and oscillators. We also found out about the MAX232 level shifter which we needed to translate the GSM board's 3V signal to a 5V signal. We added a yagi extension to our monopole GSM antenna, increasing signal strength by -10dBm.

We also learned how to build our own level shifter on the breadboard with the RS232 head and capacitors, as well as the MAX232.

Zhi Wei
We twisted 2 copper wires to make an antenna stable. The antenna has a better signal as compared to the one that came with the GSM module.
We decided to upgrade the antenna's signal. We soldered another 2.4m strip of copper. It was difficult because copper is malleable and it is a good conductor of heat. The copper bent out easily, so it is difficult to solder it on. The copper heats up easily and almost burned our hands. This made the soldering difficult.


Day 4

We tried to assemble the level shifter today with the materials we bought yesterday. We managed to get the Arduino board to send signals to the GSM board. While we managed to get the Arduino board to send signals to the GSM board, the GSM board did not seem to be able to interpret the commands we sent. With a bit more coding, Mr Richard Chee said it should work fine. In the meantime, the other students continued to fine tune their creations and some attempted to create the level shifter as well.


Zhi Wei
We made the MAX232 level shifter to connect the GSM module with the Arduino board. We referred to LINK to make the level shifter. We used alot of wires to make the level shifter, but Mr Chee taught us the simpler way to make the level shifter. We simplified the level shifter and it looks much neater and worked more efficiently, as there is lesser wires, which meant less 'noise'. After the break, we tried to use the arduino to control the GSM module. The signal managed to get transmitted to the GSM module. However, the GSM module did not act according to the code and we called it a day.

Today, we had one whole day to work on our prototypes. I then double-soldered the antenna extension, to improve the signal efficiency of the GSM module. Next, I went around advising the groups on their projects involving the Arduino. We soon proceeded to the most important part of the design, the integration of the Arduino and GSM board into one system. It involved a level shifter which would translate the Arduino's 5V signal to a 3V signal that is compatible with GSM board.

In testing of the level shifter, we encountered a whole battery of problems. At first, the Arduino simply returned an error when we compiled the serial event code. Eventually, the Rx and Tx terminals started working after we fixed the common earth wiring. As such, we could send a signal from the Arduino to the GSM board. However, as of the end of the day, the GSM board does not execute the commands sent to it by the Arduino.


Updates! (13/3/2012)

Thanks to the guidance Mr Richard Chee has provided us, we (Anton, Fabian and Zhiwei) have gotten the level shifter to work after 2 visits to Intel during the March Holidays.

The list of materials used is as follows:
  • 1x Arduino Uno R3 + USB cable
  • 2x 5.0V DC
  • 1x RS232 Male head
  • 1x Quectel M10 + antenna + earpiece
  • 1x SIM card
  • 4x non-electrolytic 1uF capacitors
  • 1x 1uF polarised electrolyte
  • 1x MAX232
  • 9x wire
  • 1x breadboard
  • 1x laptop with HyperTerminal, RS232 drivers, Arduino drivers and environment.

Along the way, we faced many problems and had to do some debugging and problem-solving. Here are some of the problems faced:
  1. The Arduino Tx/Rx markers are wrong.
    • Pin 0 is Tx and Pin 1 is Rx, not the other way around.

  2. The GSM module uses hardware handshaking by default. It is possible for the boards to still work like that but additional cables would be needed.
    • To use only the Tx, Rx and ground cables, use a program such as HyperTerminal and enter the command "AT+IFT=1, 1" to force software handshaking. However, this is stored in volatile memory and must be resent after restarting the GSM board.

  3. The pins needed on the RS232 head are pin 2 (Rx), pin 3 (Tx) and pin 5 (ground).

  4. A level shifter was needed as the RS232's default input/output voltage is +9V or +12V. However, for the Quectel M10, it has an inbuilt inverter, so its input/output voltage was -9V or -12V. Below is the diagram of the setup.


Results of a working Arduino + GSM set! The level shifter works at last!