Accessing flash memory

#1

Brief description of what I am trying to do…

I am currently working on a POC where I need to store information onto a beacon written from a phone. The information stored will be very small, such as a 4 or 5 character code – ie. (4e355). This data would need to be stored on the beacon and when a device is in range, I would read it by accessing the on-board flash. I would need to store multiple lines of data to each beacon.

As advertised, there is 256Kb of flash memory – how would I go about accessing it? Is this currently possible?

Any help is appreciated… Thanks in advance!

#2

We don’t allow to write arbitrary data to our beacons at this point.

What app are you trying to build? Would it be feasible to keep the data on the smartphone, and then in your app just map the beacon identifier to the local data?

#3

@heypiotr that’s unfortunate. There would be really no way of doing any mapping as it is data that would need to be stored on each individual device, specific to each beacon. If this POC gains traction, there is a possibility of an substantially large product order. Is there a possibility of custom firmware to make this happen?

#4

Hey heypitor,

Has the estimote team or community developed this functionality since this initial post? I need to store a small amount of data and do a simple calculation on-chip, similar to ski’s position, the ability to do this could result in larger POs. Currently prototyping with new proximity beacons in linux python, but can always flip back to windows Android studio if that is where this has been developed.

Thank you.

#5

If you also need to do some calculations, it sounds like maybe you need your own micro-controller? :smiley: Adafruit has one with nRF52 (= same SoC/chip we use in our beacons), Arduino-compatible, I think there are some ready-made Bluetooth libraries for that as well.

Or, you could try our LTE Beacon, which is programmable to a good degree in JavaScript, although we don’t support Bluetooth connections, only scanning and advertising right now—so it might be tricky to put some data into it from an external device. (Via advertising+scanning, or via Estimote Cloud, are two ways I can think of right now.)

#6

Thank you for reply, I was optimistic I could do PoC within the Estimote environment, but it requires the ability to store sensor data to local chip and broadcast at once (ie broadcast string of all temp measurements taken since last transmission), or ability to do simple signal conditioning on chip (ie look to see if temp has changed and broadcast a 1 if true).

I appreciate the tip about that Adafruit chip, will look into that.

Just out of curiosity, this post seems closer to what I am trying to do, is this functionality only available to LTE beacon?

Seems like as the sensors are getting smarter we are slowly getting there.

Thank you for your help.

#7

Oh right, I completely spaced out about that. The Beacon Storage API is actually for the Location Beacon. You can use a smartphone + a mobile app with Estimote Fleet Mgmt SDK integrated into it to write & read data to/from the beacon’s EEPROM. (Proximity Beacons don’t have EEPROM.) Internet connection is required to authorize writes to the beacon with the Estimote Cloud.