FAQ

Frequently Asked Questions

and troubleshooting tips


Q1. Will my Bitty Software application work magically "out of the box" without me needing to do anything else?

A1. No, absolutely not. The application and the device it is running on (usually a smartphone) is one half of a two-part system. The other part is a micro:bit (or similar) which MUST be running code which makes it able to behave in the way the Bitty Software application expects and requires. It is your job to put that code on the micro:bit. That's what a micro:bit is for.

We try to help you get started by providing example code which might be exactly what you need or might need tweaking. See https://github.com/bittysoftware and browse until you see something that looks useful. If you don't understand any of the code then maybe you need to start to learn coding with something simpler and then return to your Bitty Software application when you have mastered the basics. See https://microbit.org/code/.

For precise information on what your micro:bit code must be like in order that you can use Bitty Controller, see http://www.bittysoftware.com/tutorials.html#controller

Q2. Why does my Bitty Software application ask me to grant the Location permission when I run it? Is my location being tracked?

A2. Android requires the location permission to be granted whenever Bluetooth is used to scan (search) for other devices. Your Bitty Software application has to find microbits to connect to and so must have this permission. Don't worry, your location is not being tracked by the app, nor that of anyone else. If you do not grant this permission though, your app will not work. See https://developer.android.com/guide/topics/connectivity/bluetooth 

Q3. When I press Scan, my micro:bit is not being found. What's wrong?

A3. There are several possible reasons why this might be happening and it's worth understanding how the scan function works, in troubleshooting this issue. 

It works like this: in order that it can be found, your micro:bit will sometimes transmit some information over Bluetooth every second or maybe more often than that even. This information contains the name of the device, which for a micro:bit will be something like "BBC micro:bit [zopov]". The part of that example which is "zopov" will vary. It's a 5 character identifier for your micro:bit which will probably be different to the ID used by other micro:bits. The process of transmitting this information is called Bluetooth advertising.

The scanning process looks for these types of transmissions (advertising) and ignores any that do not seem relevant. So, if the scan function does not find your micro:bit it means that either:

a) Your micro:bit is not advertising

b) Your micro:bit is advertising but for some reason, the Bitty Software application is ignoring advertising from this device. Some of the apps allow you to specify filtering criteria in the Options screen. Perhaps your filter settings are causing your micro:bit to be ignored.

c) Your phone is not allowing the scanning process to work because of a security setting.

Some quick and easy things to check are as follows: 

1. Find an application called nRF Connect in the Google Play or Apple App store and install it. This is a handy tool which can find all the Bluetooth devices around you and show you them. If it shows your micro:bit then this proves that your micro:bit is advertising. If it does not, then this proves it is not advertising and is why your micro:bit is not being discovered by the scan function.

2. On Android, check the Bitty Software application has been granted the Location permission. Go into Settings/Applications, choose the Bitty Software application and select Permissions. Make sure the Location permission is enabled. If it is not, enable it.

3. Reset your micro:bit. If something else has connected to your micro:bit then that will stop it advertising and hence prevent it from being discovered when scanning. Resetting will disconnect the other device.

4. Check the micro:bit hex file. If the hex file requires you to pair your phone with your micro:bit and you have not, then it will not advertise until you have paired. If you made the hex file yourself, this is a project setting in MakeCode. Check this and if necessary, switch off pairing and recreate your hex file and install it on your micro:bit. This will make life simpler. Re-enable it later if you feel you need the security that pairing gives you.

Troubleshooting this issue can be tricky but rest assured, the problem is 99.999% certain to not be a bug in your Bitty Software application. It's almost guaranteed to be one of these issues. For more information on this and other Bluetooth related issues, the Bluetooth troubleshooting guide is highly recommended: http://www.bittysoftware.com/troubleshooting.html 

Q4. I don't understand Bluetooth. Can you explain?

A4. I can try. In fact I have tried. Check out the Beginner's Guide to Bluetooth: http://www.bittysoftware.com/Bluetooth_le_intro.html

Q5. Where are the message types for Bitty Data Logger when used in user capture mode documented?

A5. https://github.com/bittysoftware/bitty_data_logger_device_code 

Q6. Where can I find example code for devices such as a BBC micro:bit which I wish to use with Bitty Data Logger?

A6. https://github.com/bittysoftware/bitty_data_logger_device_code

Q7. Where can I find example code for devices such as a BBC micro:bit which I wish to use with Bitty Controller?

A7. https://github.com/bittysoftware/bitty_controller_device_code

Q8. Where can I find example code for devices such as a BBC micro:bit which I wish to use with Bitty Blue?

A8. https://github.com/bittysoftware/bitty_blue_device_code

Q9. When I install a hex file created from source code, micro:bit scrolls 02 across the display. What does this mean?

A9. This means you've run out of memory. See https://microbit.org/guide/error-codes/ for error codes. micro:bit only has 16K RAM and some of that is used by "system code" known as the microbit DAL. If you're using Bluetooth, this alone will use about 8K of the available memory. Adding it all up, you probably end up with less than 2K for your own code to run in. To make matters even more challenging, sometimes the DAL changes. There was a significant change early in 2019 (or thereabouts) which reduced the memory available for application code so that code that used to work, no longer fits in the available micro:bit run-time memory. If this happens to you, the only possible response is to remove unnecessary or low priority code and to make general optimisation changes such as reducing the number and type of variables you use in your code. It's a black art but this is the real world. Embrace the problem and gain some useful experience!

Q10. Bitty Data Logger is only getting a few values.... I left it connected overnight, too. There should have been hundreds of data points!

A10. If you're sure the Bluetooth connection is OK (maybe you used the on connected/on disconnected event handlers to display "C" or "D"?) then one possibility is that the smartphone or tablet you are using has put the app into background and whilst there, it is inactive and cannot receive data from the micro:bit. On iOS for example, if the screen goes to sleep / locks, Bitty Data Logger will no longer receive and process data from your micro:bit. This is a feature of apps on Apple's iOS not a defect with Bitty Data Logger. The obvious workaround is to change the settings of your Apple device so that the screen never locks. This does not seem to be an issue for Android devices.


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Bitty Data Logger 4.0