I would like to build a student response system. Basically, it’s a battery operated keypad to send their class answers wirelessly to a teacher. Most commercial units are quite expensive for what they are. The design and construction would be part of a class project. Students would build these units for several of our science teachers. I’m not really sure what would be the best way to go here.
Each unit should have a unique ID so as to identify the student on the teacher’s PC. The response could be a single letter, number or even a few words. Possibly the teacher PC could respond to the keypad indicating their answer was received.
I was thinking of using IrDA MAX3100/MAX3130 along with maybe an AVR microcontroller.
Q: With students sending their answers simultaneously, is it very difficult to keep them separate?
Any suggestions, resources etc. would be greatly appreciated.
IR is a bad idea due to line of sight limitations. Both IR and RF will have issues with multiple simultaneous transmissions so intelligence will have to be designed into the system to handle collisions. You may want to check out the Maxtream XBee modules. They have the RF protocols built in so all you would have to do is link to them serially through a microcontroller and not worry about the complex RF issues.
the Xbee technology would make the system too expensive. I could buy a commercial setup for that price. I’d like to keep each unit under $20.
by intelligence do you mean some sort of software checksum strategy? For example the sender unit might keep transmitting it’s packet until the proper checksum is read in by the PC, then a response is sent to the sender to stop. For a class of 30 it would be fine if it took say 15 seconds to read all the responses in.
payphone:
the Xbee technology would make the system too expensive. I could buy a commercial setup for that price. I’d like to keep each unit under $20.
How much are these commercial units? It sounds like this is a student engineering project as well, so I wouldn’t want to take away from that. However, the XBee modules are $19 in single quantity and I think they will solve the majority of the problems that you are going to encounter.
payphone:
by intelligence do you mean some sort of software checksum strategy? For example the sender unit might keep transmitting it’s packet until the proper checksum is read in by the PC, then a response is sent to the sender to stop. For a class of 30 it would be fine if it took say 15 seconds to read all the responses in.
Or were you thinking another layer of hardware?
Paul
Building your own equivalent of the XBee module is certainly achievable but there is quite a bit of leg work to handle. A checksum is only one of many things you will have to consider. You will also need a protocol, modulation scheme, collision detection, device identification logic, etc., etc. You would also have to properly design your circuitry to work efficiently with RF signals. Outside of the RF world, you will also have to figure out how your keypad system will communicate with the RF portion of the project. The XBee module takes care of all these details and puts it in an easy to use package with a serial interface that is directly compatible with microcontrollers.
I would take the time to read through an XBee manual so you can appreciate everything that it does. My background is not in RF design so these modules save me considerable amounts of time.
I forgot to mention that the XBee allows for bidirectional communication so you could have the “teacher’s” unit provide feedback to the individual students since each node appears as a unique entity.
payphone:
the commercial classroom sets runs between $1000 and $3000 :shock:
What other components would go with the XBee? microcontroller, keypad, battery etc. ?? Any sources for these components?
thanks again
Paul
If I was starting out fresh with no development tools, I would consider using a PICAXE 18 or 28 to interface the keypad and communicate with the XBee. Same on the receiving end. I also suggest getting the XBee breakout board (and headers) from SparkFun as it makes using the XBee with project or proto boards simpler. You can order XBee direct from the manufacturer [Digi or from one of their distributors. I got mine from Digikey. As the XBee runs at 3v and the PICAXE at 5v, you will need some type of level conversion. Here is a link to an article that shows an example of how to interface the [XBee to a 5v line. A PICAXE, keypad, XBee module, battery pack, 5v and 3.3v regulators, XBee breakout board and header, and case can be had for less than $50.
XBee users: How does one receive data from multiple units (i.e., the teacher’s receiver gets transmissions from multiple students)? I’ve only used these units on a single point-to-point basis from my PC to a remote unit. Ideally, XBee could include the node id to the received serial stream and then the interface is simple serial communications. At the moment, we’re getting hit with 10" of snow. I know, a mere dusting by Colorado standards. If I end up staying home tomorrow, I may play around a bit and investigate other XBee modes.
Edit: Revolution Education (the suppliers of the PICAXE) has a nice document that describes how to use a PICAXE with a XBee module.
the Xbee technology would make the system too expensive. I could buy a commercial setup for that price. I’d like to keep each unit under $20.
by intelligence do you mean some sort of software checksum strategy? For example the sender unit might keep transmitting it’s packet until the proper checksum is read in by the PC, then a response is sent to the sender to stop. For a class of 30 it would be fine if it took say 15 seconds to read all the responses in.
Or were you thinking another layer of hardware?
Paul
What is the level of the students? Could they implement a communication protocol is software? My idea would be to use transceivers in a master slave configuration. Something like a wireless I2C link. Thus the master controller would poll the student's units in sequence. They would respond with the selected answer or a no answer yet packet. For rough calculation, let us say that we can manage 100Kb/s, 8 Byte packets (2 Address + 4 Data + 2 Checksum). This would get approx 600 polls/s. Even if you get on 50% throughput, you could poll all units in .1s. This is absolutely back of the napkin estimation, but I think it shows that such a system would be possible.
Now for the bad news, as far as I an tell, it does not matter which method you use, XBee or some other transceiver, they cost around $20 each.
I looked into the XBee and it certainly looks like a great solution. However, it also looks like I can’t really put something like this together for much less than $50. For a class set of 24 it would run $1200, not including the teacher setup.
there are cheaper tx and rx solutions out there. the xbee would make it simpler to create though. If you are willing to do some development including microcontroller code and get creative on the packaging, I think you could get your BOM cost under $30.
For example, you can find lower speed rx and tx modules for under $7 ea in the kind of volumes you are talking about (not from SFE, though). You could make your own antennas. a small micro and associated components for less than 5 and a small case for <5 gets you to about $24. Dead mice might make good cases, for example. I might have missed some stuff but you get the idea. You would have to roll your own protocol and the development may take some time if you aren’t proficient in microcontrollers.
For the teacher’s unit, I’d use a USB micro and have it plug into a laptop.
Is it necessary for every student to have a wireless module? If not, you could make a few wireless stations that service say 4-6 students with wired keypads. That could significantly reduce the cost of a classroom sized installation.
from the great feedback and a little research on my own, I think I’ll buy a development kit for myself and start learning code for now. Some drawbacks i see to the PICAXE is that it doesn’t have an SDK for Linux (yet) and you can’t reflash the bootloader. Any other thoughts on the advantages and disadvantages of various platforms?
Among some other projects, I’ve written a gradebook program in Python and built a class T (SMD) stereo amplifier from 41hz.com, so while i’m no expert in programming and electronics, i would enjoy learning a new language and doing some circuit construction.
As far as having students share keypads? I would like to use them for giving instant pop quizzes for example. Besides, they seem to do enough sharing on their homework these days.
picaxe bootloader reflashing isn’t really a big deal. However, the cost per unit is high relative to using something like a PIC16F630 which is a bit over a dollar in quantities of 25. You won’t need very many pins so a 14 pin chip is probably just right.
If you are capable in python, you can learn C with out a lot of trouble although it is a bit lower level.
For doing communications work, I suggest you have access to an oscilloscope so you can look at what you are sending out vs what is being received. It’s not fully necessary but it does make life a LOT easier.
payphone:
As far as having students share keypads? I would like to use them for giving instant pop quizzes for example. Besides, they seem to do enough sharing on their homework these days.
-Paul
My idea wasn’t to share keypads but to have 1 wireless module servicing 4-6 kids with individual keypads. If you have 30 kids in a class you would have 5 wireless stations with 6 keypads each talking to the teacher. It would cut down on the expensive RF hardware and still be fairly portable.
Just a random idea that would be really cheap and might work with some help from the students. If you made a remote control like interface it might work. You could have a two way IR system. My thoughts are a simple IR send and receive module in each keypad then a receiver/transmitter at the front of the classroom. The students input there answer and that turn on an LED indicating a stored answer. Then they point the controller at the receiver and press the send button the receiver then takes in there IQ and the answer then sends a response with there ID and a received message. This turns off the answer LED and turns on another LED label transmitted or something like that. That way it forces the student to make sure their answer was received.
IR might be workable but I can’t help but think it will be too problematic to be practical. Also, it would be subject to interference - some one would discover that a remote control could jam the receiver.
the polling system similar to I2C would be better if you would be doing the system yourself…
Chipcon’s (from TI) CC2500 is a good deal for a transceiver (I think that would be around $5)…haven’t look at any cheaper transceivers lately…lots of app notes will show you how to design the board and the PCB antenna…
I made one system that uses a similar chip from Chipcon (only at a lower frequency)…it’s just a remote switch but identities are given and the receiving unit sends a code back…
the main thing to consider with the system would be the PCB design…the advantage of using a module is that you no longer have to worry about the RF module and just do the programming, whereas, you have to do both the RF module and do the programming and do a lot of testing and debugging when designing your own…
the latter may cost you a lot of time but certainly it’s worth it and you’ll learn a lot…
by the way, I am conceptualizing a similar project (but not necessarily for classroom purposes)…the receiving unit uses a USB enabled microcontroller so I can plug it into any PC or laptop (and some design with a standalone system)…for student quizzes, this is best for multiple choice type of questions as the software on the computer can easily check the answers and record it in a database…