Recent Posts

Pages: [1] 2 3 ... 10
Getting Started / Re: Just a little info about Sparkfun
« Last post by Tim on October 17, 2017, 09:41:42 PM »
Hi Wayne,

We've run into the same issue with an order of 50 Simblees. Out of 50 we got 13 good, the rest bad. (Same non-protective plastic bags.) This is likely due to ESD and/or moisture from to improper packaging. SparkFun are currently investigating and may offer us either replacements or refund. You might call their customer service as they might offer you the same.

How do you assemble? If reflow oven, do you bake Simblees before reflowing? We've found this to be necessary. We starting assembling boards last winter when it's dry here (Alberta, Canada). All was well, then as spring approached (higher humidity), we starting getting more failures. Finally tracked it down to moisture issues. We started baking before reflow and our failure rate went to zero. DigiKey and Mouser use proper packaging but they label Simblee as MSL 3. I called RF Digital about this and they say it's MSL 6, which means mandatory baking before reflowing.

Anyway, hope helpful.


Getting Started / Just a little info about Sparkfun
« Last post by Wayne on October 17, 2017, 01:37:22 PM »
Hi all,

Sparkfun had a limited supply of RFD77101 a few weeks back.  I needed some to do some demo boards and thought I get 10.
I had 6 boards made and 4  are bad.  Some will report back the PID and all but not program
1 Gets hot and the other is shorted.

These cam package in clear plastic sealed bags that did not look anti static.
Fortunately, I have 3 from Digikey that I can get 3 out of boards repaired.
Support / Re: Cant get SimbleeCloud Service to work
« Last post by AKotowski on October 16, 2017, 07:54:34 AM »
I figured it out.
For the cognoscenti this is probably obvious, but for a noob like me I would have liked to have this information:

1.) The easiest way to start is with an HTML page using the POOL function in the simblee cloud.  I made both ButtonFlash and ButtonFlashfromWeb work.  You need to modify the files to include your own userID.  THe html files can stay on your computer, you just open them with a web browser.  The html page will communicate with the simblee cloud and identify itself via the esn you program (eg 2).  You can program the interaction with your simblee using javascript.  The only problem is you cant create a data file such as a .csv file to record your data.  You can create a cookie to record data.

2.) To create data files you need to do server side programming, with php for example.  This is where the services option of the simblee cloud comes in.  You need to use a public server with https capability.  For example:  Using the simblee service routine at  did not work for me.  You need to create the /service and the /service/out directories. Put the ButtonFlashService.php into the /service directory and allow the /service directory to be served by your web server. ButtonFlashService.php creates  an out.txt file.  ButtonFlashService.php basically passes the data back and forth between the simblee and the html page and records the transactions in the out.txt file.  You can modify this to create a data.csv file.  You can then use ftp to download the data.  The .php file does not necessarily need to pass the data on to an html file.  Debugging is tricky because you cant open the page on a browser and see what is happening.  You need to also create a log file and write debug info from your php script.

A Kotowski
Simblee For Mobile / Re: How to read field from drawTextField
« Last post by dal on October 15, 2017, 05:11:57 PM »

That helps, that was missing link, I did not press enter just Send button!

Thanks for help.

Simblee For Mobile / Re: How to read field from drawTextField
« Last post by tolson on October 15, 2017, 11:46:27 AM »
 To send the text field you have to hit enter in the text field in order to trigger the ui_event callback for the text field.

So, you enter in the data into your text field. Hit enter in the text field. The number gets sent to the ui_event callback where you will store it somewhere until you need it. You can then use your SEND button to initiate whatever routine you want to use to do something with the stored number/text.

Simblee For Mobile / Re: How to read field from drawTextField
« Last post by dal on October 15, 2017, 11:04:41 AM »

It is very simple, I have text field and send button.

    colorCodeText = SimbleeForMobile.drawTextField(leftMargin, topMargin, 110, "","Enter Color Code");
    toSendButtonID = SimbleeForMobile.drawButton(120, 500, 90, "Send");

No I would like to get value of text that user entered on mobile app once Send button is pressed.
I  tried to use event.text but this event is generated on Button not TextField!!

    if (( == toSendButtonID) && (event.type == EVENT_PRESS))
        // How to get value of Text Field????

Simblee For Mobile / Re: How to read field from drawTextField
« Last post by tolson on October 15, 2017, 10:41:56 AM »
Show us how you are trying to do it.

Are you trying to read back what you already outputed to a textfield?
Or are you trying to get input via a text box?

Basics are...

uint8_t myTextFieldID = drawTextField(myX, myY, myW, myNumeral);
uint8_t myTextFieldID = drawTextField(myX, myY, myW, myText*);

When the field is changed on the smart device the ui_event callback is triggered.
If it was the textField that changed store it's value in a global if you want to use it elsewhere.

char myTextFieldBuffer[myTextFieldBufferSIZE];

void ui_event(event_t &event)

  if( == myTextFieldID}
      strcpy(myTextFieldBuffer,  event.text);


 OR for numerals
int16_t myTextFieldNumeral;

void ui_event(event_t &event)

  if( == myTextFieldID}
      myTextFieldNumeral = event.value;


Or some such!
Simblee For Mobile / How to read field from drawTextField
« Last post by dal on October 15, 2017, 07:39:43 AM »

This should be simple but I can't figured out how to get value of text field from drawTextField?

Support / BLE issues - windows app
« Last post by MitchD on October 13, 2017, 07:48:23 AM »

I have been trying to setup communication between a Simblee and an app built in QT and I can't seem to read the data properly. Loaded on the Simblee now is a basic program which outputs a message to the serial monitor on advertisement, connect, and disconnect to verify on the chip side that those are working, and they seem to be. In the main loop, I am incrementing a variable i and calling SimbleeBLE.sendInt(i). In theory, if i read the characteristic value in QT, it should be i, but I am reading a constant hex value of 0xa31c instead. In the qt debugging environment, I can connect to the device (confirmed the correct device by a Simblee print to serial monitor), create a service object for service uuid 0xfe84, and the only non-null characteristic is at uuid {2d30c082-f39f-4ce6-923f-3484ea480596} with handle 17.

Is there some other way to create and update characteristics on the Simblee, am I looking at the wrong uuids, or is there some weird interaction with Windows that requires a workaround?

Getting Started / Re: Using arm_math from Arduino IDE
« Last post by kalantor on October 12, 2017, 01:26:17 PM »
Hi Tolson,

Thank you for the hints above, I am trying to run FFT in RFduino and I got a good start from your hints. Now, I couldn't find the version 3.01 of libarm_cortexM0l_math.a after some searching in google. I used version 5 of CMSIS and the library that comes with it, and I could compile and run a test fft sketch. However, I am not getting right results -- if I run it on a loop for the same data, the output keeps changing its element values and reaches a large number quickly, ultimately overflowing. The program also crashes and restarts for some other settings (when running in a loop).

Here's my code.

Code: [Select]
#define ARM_MATH_CM0

#include <arm_math.h>
//#include <arm_const_structs.h>

float32_t testInput_f32_10khz[] = {10,3,1,3,11,21,31,38,40,37,29,19,9,2,1,4,13,23,33,39,40,36,27,17,7,2,1,6,14,25,34,40,40,35,26,15,6,1,1,7,16,27,35,40,39,34,24,14,5,1,2,8,18,28,37,40,39,32,22,12,4,1,3,10,20,30,38,40,38,31,21,10,3,1,3,11,21,31,38,40,37,29,19,9,2,1,4,13,23,33,39,40,36,27,17,8,2,1,6,14,25,34,40,40,35,26,15,6,1,1,7,16,27,35,40,39,34,24,14,5,1,2,8,18,28,37,40,39,32,22,12,4,1,3,10,20,30,38,40,38,31,21,10,3,1,3,11,21,31,38,40,37,29,19,9,2,1,4,13,23,33,39,40,36,27,17,8,2,1,6,14,25,34,40,40,35,26,15,6,1,1,7,16,27,35,40,39,34,24,14,5,1,2,8,18,28,37,40,39,32,22,12,4,1,3,10,20,30,37,40,38,31,21,10,3,1,3,11,21,31,38,40,37,29,19,9,2,1,4,13,23,33,39,40,36,27,17,8,2,1,6,14,25,34,40,40,35,26,15,6,1,1,7,16,27,35};

float32_t testOutput[TEST_LENGTH_SAMPLES/16]; 

uint16_t fftSize = 16;
uint8_t ifftFlag = 0;
uint8_t doBitReverse = 1;

uint32_t refIndex = 213;
uint32_t testIndex = 0;

arm_status sstatus;
arm_cfft_radix4_instance_f32 S;
float32_t maxValue;

void setup() {
  // put your setup code here, to run once:
  sstatus = ARM_MATH_SUCCESS;
  sstatus = arm_cfft_radix4_init_f32(&S, fftSize, ifftFlag, doBitReverse);

void loop() {
  // put your main code here, to run repeatedly:
/* Process the data through the CFFT/CIFFT module */
  arm_cfft_radix4_f32(&S, testInput_f32_10khz);

  //arm_cfft_f32(&arm_cfft_sR_f32_len256, testInput_f32_10khz, 0, 1);
  /* Process the data through the Complex Magnitude Module for 
  calculating the magnitude at each bin */
  arm_cmplx_mag_f32(testInput_f32_10khz, testOutput, 
  /* Calculates maxValue and returns corresponding BIN value */
  arm_max_f32(testOutput, fftSize, &maxValue, &testIndex);
  if(testIndex !=  refIndex)
    sstatus = ARM_MATH_TEST_FAILURE;

  for(int i = 0; i < TEST_LENGTH_SAMPLES; i++) {
    Serial.print(testOutput[i]); Serial.print(",");
    testOutput[i] = 0;

  for(int i = 0; i < TEST_LENGTH_SAMPLES; i++) {
    testInput_f32_10khz[i] = testInput_f32_10khz[i] *2;
  Serial.print(maxValue); Serial.print(" "); Serial.println(testIndex);

  //sstatus = arm_cfft_radix4_init_f32(&S, fftSize, ifftFlag, doBitReverse);


Any idea what's going wrong? Would you happen to know where I could find v3.01 of the library you mentioned?

Thank you.
Pages: [1] 2 3 ... 10