Wall-E Robot Control Error

Hi everyone! I'm completely new to this. I'm trying to use an app created by another person to control a 3d printed Wall-E with an ESP-32 and following their directions, once I open the App on my tablet I am getting Error 1003: Canvas Height cannot be set to a non positive number
I have combed through everything attempting to guess or find some negative number to change, but I've been unable to find anything. Any assistance would be incredibly appreciated! I've been working on this for months and I feel like I'm in the home stretch. Any Ideas

1 Like

We need to see the App Inventor file Chad.

Export to PC from Projects List

Upload to Topic

BT_Walle_MKI_final2.aia (4.6 MB)
Apologies! Didn't even think about attaching it. DOH

Spacers should be made with Labels (dumb, low kb) rather than Arrangements (smart, high kb).

1 Like

I realize this is a probably a stupid question, but how do I change that? I didn't create the app so I'm super lost unfortunately.

...The Left and Right Arm components from the KIO4_CreateView extension might be the source of the issue, need to check that it is up to date.

  1. Place a Label next to the Arrangement to be replaced
  2. Make a note of the properties of the Arrangement
  3. Delete the Arrangement and apply it's properties to the Label

You might want to save a backup of the file to your PC first :slight_smile:

Maybe I should try to start from scratch and learn how to create my own because I only know some of those words lol Just gotta figure out how to control 2 dc motors and 8 servos. This stuff doesn't seem like it's quite on my extra beginner skills...lol

I'll give that a shot! No idea what I'm doing but I'll poke around with labels and properties :slight_smile: Thank you!

Well, the learning curve is not too bad. We have Users from 5 years old, some people find it easy, for others it takes a while longer, but everybody gets it in the end.



Easier to do if you temporarily set the designer display "monitor size".


The "BytesAvailableToReceive" Block is like a flag. To ensure you actually get all the bytes, use math block -1

Like this?

I have added a Screen Error Block, which seems to find more canvas components than there are ......... and all complain about a negative number for the height. So I'm wondering how this could be as the "back file" (a file inside the .aia file that stores the component properties) seems to be OK.


Is that something I need to do, or does just adding that -1 possible take care of the error? I don't understand what I should be doing with the Label vs arrangements. I'm honestly not sure how to even add a Label or attribute any properties. Showing me that block for the -1 thing was essentially the only reason I understood what I needed to do. Feel like a 3 year old looking at algebra lol

It's not related to the canvas error but it is certainly something that needs to be done.

Well, certain Arrangements have "spacer" in their name - so they are not being used as Arrangements, just as a means to create a space between two components - for example, you might need some space between two buttons. That Spacer task should instead be done with Labels so that the App is optimum in terms of size (KB). So you don't have to make that change retrospectively if you are happy with the App as-is.

If I compile the App to an APK and install it on my Android 10 phone, the error messages just keep rolling on - it is as though something is creating canvas components at run time. So looks like some form of corruption but unfortunately I have been unable to find the source of the problem. It is probably staring me in the face.

Let's see if fellow Power User, Boban, can take a look, he is the guru on these matters.


The only extension used is Juan Antonio's "CreateView". It does not seem to use canvas components. However, out-of-date extensions can do unexpected things.