Need to send 10 digit code 25 feet in portable device

I need help designing a portable device simliar to a USB thumb drive that will emit a 10 digit number. It will also receive and store the 10 digit number from other simliar devices up to around twenty-five feet away. It may also record its own GPS locatin as the number is saved. Finally, it can be plugged into a USB port and the information be viewed on the computer…maybe a *.txt file or simliar.

I guess it would need:

-flash memory

-rechargeable battery

-USB plug

-emitter

-receiver

-GPS receiver

-basic software

-on/off switch

-status screen(?)

-Nicholas, NYC

Nordic’s nRF24LU1 microcontroller could probably handle all of that on-chip. The only reservation I would have about it would be that it might not have enough GPIO (6) to handle the GPS and the status display at the same time. It does have built-in USB and RF (based on the nRF24L01), though.

If you are using it for what I think you are trying to use it for…

You better transmit just more than a 10 digit number, I don’t want to download a bunch of numbers into my computer, and start calling dudes after a night at the bar…

Not using it for that Shifted…but not a bad idea!

Brennan, I am super new to all this…so let me see if I am on track: you start with a basic chip, and connect it to GPS, tranceiver, battery, USB drive, screen, etc. The programming is saved on the chip (Java/Basic/etc.) It will take care of task just the same as a on a regular computer, but a much smaller scale.

-How does the RF work? What is the distance? If I need to send the 10 digit code, is it going to try to receive its own code, or does it know better?

-Status display is not super important - the only thing it would do is show how many 10 digit numbers are stored.

-How is a chip different than a microcontroller?

-Will the chip store information or do I need flash or simliar? Between 1,000 and 5,000 characters will need to be saved.

-What kind of battery power does this all require…can it recharge via USB?

Thanx!

nbowers:
Not using it for that Shifted…but not a bad idea!

Brennan, I am super new to all this…so let me see if I am on track: you start with a basic chip, and connect it to GPS, tranceiver, battery, USB drive, screen, etc. The programming is saved on the chip (Java/Basic/etc.) It will take care of task just the same as a on a regular computer, but a much smaller scale.

  1. How does the RF work? What is the distance? If I need to send the 10 digit code, is it going to try to receive its own code, or does it know better?

  2. Status display is not super important - the only thing it would do is show how many 10 digit numbers are stored.

  3. How is a chip different than a microcontroller?

  4. Will the chip store information or do I need flash or simliar? Between 1,000 and 5,000 characters will need to be saved.

  5. What kind of battery power does this all require…can it recharge via USB?

Thanx!

  1. RF is Radio Frequency, it works by sending data on carrier frequencies in specific bands reserved for such use. Its range depends on the frequency band from a few feet to miles, it also depends on the antenna and power output of the device.

  2. A microcontroller is a “chip”. So is an ethernet PHY, voltage regulator, etc. Chip is just a generic term for anything that controls its pins to do a specific function. (Note, resistors, capacitors, etc are not “chips”, but they can come in chip form, for example resistor array chips). Microcontrollers are typically programmable, not all chips are.

  3. You will need to use some kind of RAM or ROM. If you can guarentee power until the data is downloaded, then you only need to store the information in RAM. If you are expecting frequent power outages or long periods of being without power, then you will need some kind of ROM like FLASH.

  4. USB is capable of providing 500mA of current. Depending on the battery solution you choose, it could be recharged through USB. The power requirements are dictated by your final choice of components, the LCD and RF devices are going to be the most power hungry, how you write the software that controls them will decide on how much power you need.

Wow…great information. Ir certainly sounds feasible.

So where do I go from here? I want to begin to build the device, but don’t necessarily have time to learn everything myself. In addition, I am trying to do so as affordable as possible. How do I find people to help? Are there companies that will take my specs and make the item…do I need to make a prototype?

-I like the idea of the Nordic’s nRF24LU1 , but I can’t find a cost for it. Might have to add some more storage. Can it handle more memory because it will also need an autorun file saved to run each time it is plugged into the compter.

-What else do I still need? It the transmitter and receiver so maybe flash memory and a battery and charger?

-Stupid question: does a ‘clock oscillator’ allow me also to record what time the 10 digit number was stored to memory?

-Someone else mentioned the ‘rfPIC microcontroller’ as it is tiny and affordable.

-Just one more wish list item, but not 100% necessary…would love to know the GPS coordinates of where each code was saved. I found some affordable items…suggestions that would work with either solution mentioned above.

-We are almost there!

nbowers:
I like the idea of the Nordic’s nRF24LU1 , but I can’t find a cost for it. Might have to add some more storage. Can it handle more memory because it will also need an autorun file saved to run each time it is plugged into the compter.

The nRF24LU1 is available in single quantities at http://www.semiconductorstore.com/cart/ … duct=13757 for $3.30 each. My boards are 34.99 each for both the chip antenna and RP-SMA connector. You can add an SPI EEPROM or FLASH memory device pretty easily to the device if it can’t handle your needs. The on-board flash size of the 24LU1 is 16 kB.

nbowers:
-What else do I still need? It the transmitter and receiver so maybe flash memory and a battery and charger?

If the on-board flash isn’t big enough, an external SPI memory device would be useful. I would use the MAX1555 to charge a battery from USB and to automatically switch power over. The 24LU1 also can be run directly from USB, as it has an internal voltage regulator.

nbowers:
-Stupid question: does a ‘clock oscillator’ allow me also to record what time the 10 digit number was stored to memory?

No, a clock oscillator only produces clock pulses to operate the internals of the chip. What you would want is a real-time clock, or RTC that is interfaced by SPI (as the 24LU1 doesn’t have an I2C peripheral).

nbowers:
-Someone else mentioned the ‘rfPIC microcontroller’ as it is tiny and affordable.

I’m not familiar with the rfPICs, so I can’t offer much opinion here.

nbowers:
-Just one more wish list item, but not 100% necessary…would love to know the GPS coordinates of where each code was saved. I found some affordable items…suggestions that would work with either solution mentioned above.

You could use on-board flash memory to store this or use the external flash you have described.

Would anyone out there be willing to help me actually build this project?

I think I will use the nrf24Lu1. I have been looking @ the development kit for $300 (http://www.semiconductorstore.com/cart/ … 58#details), but I do not think I need everything that is included.

-Can you please let me know what each item in the kit is for?

-If I just buy the USB chip (http://www.semiconductorstore.com/pdf/n … LU1_Pb.pdf) and software can I go from there?

-What is a Micro SMT Crystal for?

-How hard is it to increase the FLASH memory size? Would it be better to find a microcrontroller w/no built in memory and add it on my own? Can it have 2 sets of memory?

Thanx!

nbowers:
-Can you please let me know what each item in the kit is for?

I've never used their development kit, so I'm not aware of what's in it. You would probably have better luck talking to Nordic's technical support (which is very responsive in my experience).

nbowers:
-If I just buy the USB chip (http://www.semiconductorstore.com/pdf/n … LU1_Pb.pdf) and software can I go from there?

You certainly could, but you'd have to lay out a board for it. It would be easier for you just to grab a couple of my boards (cheaper, too), unless you have the ability to lay out a board with RF components.

nbowers:
-What is a Micro SMT Crystal for?

My guess is that you've read that in some of Nordic's documentation. All that means is that the crystal is really small (Micro) and surface mounted (SMT). As I described in an above post, the crystal's purpose is to provide clock pulses to the microcontroller to allow it to execute instructions and operate its internal peripherals.

nbowers:
-How hard is it to increase the FLASH memory size? Would it be better to find a microcrontroller w/no built in memory and add it on my own? Can it have 2 sets of memory?

Interfacing to external EEPROM and FLASH memories can be pretty easy, and there are many examples on the net. The catch is that you want something you can access over an SPI (or compatible) interface. I think most (if not all) SD-type memory cards have an SPI-compatible interface, but the software required to talk to them is more complex than, say, an SPI EEPROM like you can get from Microchip. I2C EEPROMs are a no-go, as I2C is not supported in hardware on the 24LU1. Also, you don't have enough IO pins on the 24LU1 to interface a parallel bus EEPROM/FLASH memory without using some sort of IO expansion.

What is a break out board, like theones you sell. Do I plug the USB dongle in there to program it?

Can I use the programming software from Nordic with your board?

Does the dongle have to be plugged in to the computer to write to the Flash memory, or can it do it on its own (assuming there is battery power, etc.)

Can two USB dongles talk to each other, or do they talk to a different device?

What is the SRAM for? Why would I need it if it erases when the battery dies?

Do you have the ability to make the device I am looking for based on my specs so far?

nbowers:
What is a break out board, like theones you sell. Do I plug the USB dongle in there to program it?

It's a board that essentially "breaks out" all of the pins on your chip to a footprint that is easier to handle. In this case, the 24LU1 is a QFN chip, which is difficult for most people to solder.

nbowers:
Can I use the programming software from Nordic with your board?

You could do that, but you'd have to be able to program that software in. I would doubt my bootloader would allow you to program their bootloader.

nbowers:
Does the dongle have to be plugged in to the computer to write to the Flash memory, or can it do it on its own (assuming there is battery power, etc.)

Nordic's dongle would have to be plugged into the USB port of your computer to program. My bootloader works over the serial port, so some level conversion is required to get it working (there is a schematic on the product page on the site...a programmer board will be added at some point).

nbowers:
Can two USB dongles talk to each other, or do they talk to a different device?

I'm not too sure about Nordic's dongles, but my breakouts can certainly talk to each other.

nbowers:
What is the SRAM for? Why would I need it if it erases when the battery dies?

If you're talking about the on-chip SRAM, it is generally just general purpose RAM that is used while the chip has power. It is used to hold things like variables, addresses, constants, etc. for use while your program is running. SRAM is used over FLASH memory by a program because it takes far less time to write to SRAM than FLASH. You generally only want to use FLASH memory for the program itself and anything information that *must* be stored when power is lost. Another reason is that all FLASH memory locations have a finite number of times they can be written to before they fail. SRAM locations can be written to any number of times and rarely fail.

nbowers:
Do you have the ability to make the device I am looking for based on my specs so far?

I generally don't make custom products, as I stay pretty busy. I can help you out by answering questions, though, as I've done here.

I’m sorry…but it seems the more questions I ask, the more questions I have!

I need these two devices to talk to each other while not attached to a computer. They also need to be about the size of a thumbdrive: all inclusive of battery, FLASH, usb port, etc.

You said the device must be attached to the computer to write to memory. Does this mean it needs to be conected when uploading the initial programming codes only? Does it have to be attached when receive a signal from the other device and recording its info to FLASH?

The only thing the devices will do is send out a constant signal of roughly 15 digits each. At the same time it will receive other devices’ signals and store them to memory. It must be absolutely portable.

In order for the devices to talk to each other do they need to be from the same company/manufaturer, etc. Or can the just be on the same radio frequency, etc.?

If I use your break-out board and can’t use Nordic’s software how do I program the chip? Do you offer software als? It seems like theirs is pretty user friendly.

I imagine a breakout board has a larger footprint than working right from the chip. WHen I am ready for production everything can be made smaller, no?

It would be nice to be able to talk or chat for a bit so I can get all these questions out at once instead of going back and forth on this board. Either way, I appreciate you sharing your expertice

nbowers:
I’m sorry…but it seems the more questions I ask, the more questions I have!

When the embedded bug bites, it leaves you always wanting to know more!

nbowers:
I need these two devices to talk to each other while not attached to a computer. They also need to be about the size of a thumbdrive: all inclusive of battery, FLASH, usb port, etc.

That's certainly doable, except for maybe the battery. Even the smaller coin cells might be a bit bigger than your average thumbdrive.

nbowers:
You said the device must be attached to the computer to write to memory. Does this mean it needs to be conected when uploading the initial programming codes only? Does it have to be attached when receive a signal from the other device and recording its info to FLASH?

It only needs to be attached to the computer to write the initiail firmware to the microcontroller. After this, you never have to attach it again (unless you want to re-write the firmware). So long as you're using the on-chip FLASH or an external flash that is on the same board, you won't need to have it connected to the computer.

nbowers:
The only thing the devices will do is send out a constant signal of roughly 15 digits each. At the same time it will receive other devices’ signals and store them to memory. It must be absolutely portable.

Pretty easy to do with all of the solutions mentioned.

nbowers:
In order for the devices to talk to each other do they need to be from the same company/manufaturer, etc. Or can the just be on the same radio frequency, etc.?

If they use the same frequency, modulation format, and transmission protocol, then they can be used interchangeably. However, I am not aware of modules from *any* other manufacturer that are compatible with Nordic's radios.

nbowers:
If I use your break-out board and can’t use Nordic’s software how do I program the chip? Do you offer software als? It seems like theirs is pretty user friendly.

My boards come pre-programmed with a bootloader I wrote. It's very simple, and it works fine for me (I haven't had any complaints from customers yet, either).

nbowers:
I imagine a breakout board has a larger footprint than working right from the chip. WHen I am ready for production everything can be made smaller, no?

Well the breakout board is pretty small, but considering you're going to have to strap at least some circuitry to it, the overall assembly will be much larger than your final production board. And you could certainly make the board very small, if you were using a really small battery you might be able to get down to something like 1" x 0.5"

nbowers:
It would be nice to be able to talk or chat for a bit so I can get all these questions out at once instead of going back and forth on this board. Either way, I appreciate you sharing your expertice

Feel free to shoot me an email if you would like (brennen diyembedded com).