After my earlier experience of designing and having manufactured my own PCBs, I found I’d like to do more. This time using the Ciseco SRF surface mount wireless module. The company provide the EagleCAD schematic and PCB footprint for the module so it is a case of building the PCB around these. I did a quick presentation at the July Reading Geek Night covering the topic of producing PCB using EagleCAD, slides are available on SlideShare.
The SRF used, has been pre-programmed with the Ciseco LLAP Thermistor firmware for the XRF modules. As these share the same chips, this approach works with most of the XRF firmware, however, this approach is totally unsupported by Ciseco due to slight differences in the two modules.
Building a wireless temperature sensor
First use
To setup the sender you’ll need another compatible device to see the messages and send messages. I use the Ciseco SRF Stick which is a USB based SRF module. I then use TeraTerm to display the messages being received. Setting Terminal option to display local echo will enable the commands to be seen as you type them.
When the SRF with the LLAP firmware is powered up, it sends a string of STARTED messages with a default node ID of —. The idea here is that a LLAP enabled hub will assign a suitable address. For now, we’ll configure the sensor manually.
a–STARTED–a–STARTED–a–STARTED–a–STARTED–a–STARTED–a–STARTED–
Set the Node ID using command a–CHDEVIDT4 where T4 is the new node ID:
a–CHDEVIDT4
The command is echoed back if received successfully.
a–CHDEVIDT4
Reboot the device to set the new Node ID, the device will restart and advertise itself as started:
a–REBOOT—
SRF responds with:
a–REBOOT—aT4STARTED–aT4STARTED–aT4STARTED–aT4STARTED–aT4STARTED–aT4STARTED–
The sensor now has the node ID T4 and this can be used in addressing the sensor now.
The sensor needs to be set into a cyclic sleep mode to wake up at a scheduled interval and send a reading, I chose 60S for testing but changed to 300S (5mins) to extend battery life:
aT4INTVL060S
SRF responds with:
aT4INTVL060SaT4TMPA25.53
The interval has been set and a temperature reading was returned.
Now put the sensor to sleep:
aT4CYCLE—-
SRF responds with:
aT4SLEEPING-
Now, every 60S, a reading will be sent and every 10 readings the battery voltage will also be sent.
Increasing range
The built in antenna has a reasonable range, but can be restricted by walls and floors. To increase the range you can add a wire antenna. This should be about 82mm long and soldered to the ANT pad on the PCB. The onboard antenna is removed by either unsoldering or cutting through the tiny inductor bridging the row of holes then snapping the board to break off the redundant part.
Other boards
The multi purpose PCB I have designed can be used as:
- Temperature sensor using thermistor
- Light sensor using a light dependant resistor< li>
- Single button remote control
- Magnetic switch using hall-effect sensor
- Remote tilt sensor using a tilt switch
More builds to follow
EagleCAD files
Files are available from SolderPad.