Help a newbie with sending variables from arduino

could the problem be using the labels with saving?

Hi Brum, very briefly, I'm not so well today:

  1. You must have a file component (e.g. File1) before an actual file can be Saved or Appended. The actual file will be created by the Append block if it does not already exist.
  2. The file now has to be saved in the ASD - App Specific Directory. You can best achieve this by using Taifun's File Extension:
    App Inventor Extensions: File | Pura Vida Apps
    .....which can create the path to the ASD. You then postfix your filename to the path, for use with all of the purple file Blocks (Save, Append, Read, Delete).

Does this app work for you?

borrar_create_file.aia (2.3 KB)

get well, hope it's not our beer virus

it sort of works, the read indeed works but i still can't find any .txt file on my phone.

i got the phone connected to my laptop and if i search for the name my_file it doesn't pop up but i can still keep reading an generating numbers to the file. and the phone hasn't got a sd card. and since / stores it to an sd card and not everybody nowadays had a sd card anymore inside their phones i wanted to place it on the phone itself.

but the problem with our project is that you have boxing gloves on so saving must be automaticly after receiving.

When you write: my_file.txt, the file is saved "inside" the application, you cannot see it on the SdCard with a browser.


If you have an Android <10, try typing:


is there any possible way to not saving it to the sd card and not to a private database.

but for example guiding it to a folder within the phone itself

If you have an Android <10 you can save them in:


If you have an Android> = 10, save it in ASD ...

so if you won't have android >= 10 it won't create the directory and so you can't acces it from the outside?

wouldn't it then be easier to maybe store it to your personal onedrive or some online personal database for example because then all people even with android <10 or iphone can acces their data

You can also save it in TinyWebDB, it is like a database in the cloud.

but that isnt a personal space right?

for example if my teachers punches, I punch and some other guy punches it will all store inside the same database right and you need to really search for your own personal data. or isn't that the case?

TinyWebDB is similar to TinyDB,
but the data is stored on an internet server.

Tag: name
ValueToStore: John

thanks for the info but i don't even have a creditcard so pretty hard to do this step xD

but still thanks for all the help either way

It`s free
By default, the TinyWebDB component stores data on a test service provided by App Inventor, . This service is helpful for testing, but it is shared by all App Inventor users, and it has a limit of 1000 entries. If you use it, your data will be overwritten eventually.

borrar_tinywebdb.aia (1.9 KB)

i know tinywebdb itself is free but your previous link contained a tutorial thing were i needed it to continu with the tutorial.

but I don't think it'll work because you can only store some information once right, so if i store 1 sequence of data the next one would overwrite it right and would't all data of all participants cross each other anyway?

due to time i'm gonna make it so that you need to send your name to the arduino and store that on a SD card before the training begins, we have a SD card to store our generated energy eitherway, i just didn't want to do it in the first place because it's not really that efficiënt if you know what i mean.

i'll keep trying to find how it works since i'm really curious now how it works but just in case i can't make it work that's the backup plan for now. but i think if i didn't make it work i will invest some more time even after the project.

That does not happen unless you code it to, but the main stumbling block with most Cloud solutions is that they have to be paid for. You cannot reliably use the free MIT App Inventor WebDB service for anything other than testing as the db is overwritten by others.

What you can do is implement a Cloud you already have - such as Google. That would allow you to demonstrate how your App works. I'm sure no educational establishment is going to expect you to sign-up for an expensive online service that would be used if the App were commercial with thousands of Users.

Both Google Drive and Google Sheet are in TimAI2's guides:

I made a button and what i want is to not send anything if the textbox doesn't contain text, this is the block i made with it so it doesn't do anything unless you fill in your name into the textbox.

This is the part in my code were i check if indeed bluetooth is connected, then when data comes in it puts it in the name string and sets namereceived to true then i can progress with the program.

while (BTConnected == true)
if (Serial.available() != 0)
Name = Serial.readString(); // read the name send
NameReceived = true;
while (NameReceived == true && SDerror == false && Systemerror == false)

but now if i don't put in my name it for some reason still sets the namereceived to true.

i thaught i countered it with the block text cannot be "" but that apperently doesn't do it.

my question is how can i optimilize it so it wi'll work the way i want, because now it thinks to soon that i received a name.

Use this block
instead of that

does anybody know why this keeps happening, i've installed aiStarter multiple times, did all the steps as explained but the reset after installing the phone things doesn't work and after that if i try another connection it keep doing this.

it doesn't move on, stopping the proces and restarting doesn't do anything and shutting down aiStarter and restarting doesn't do anything.

i want to use the emulator for my demo video, so i can capture my serial monitor and the app in the same screen and paste another screen next to it where i demonstrate what i'm doing (when i push buttons for example).

Consider using a different emulator than the stock MIT AI2 emulator, which is outdated.
I am currently using MemuPlay, and the Connect to Companion option. That doesn't use aistarter.