Hi everyone, I would like to ask if there is any good free app for android to controll a dfrobot with microbit(so no bitty controller).
I am pretty new to this microbit world, by any chance exists a discord server where people are sharing their experience?
@jane , I have DF Robot 2 wheel bots and various android apps for Microbit (example : Yahboom) so I will look into your question. I am on Discord but I have seen no activity there for over a year. I will respond here and you can look at our YouTube Channel: MakeCode and Hardware, there may be a video posted there which answers your question, leave a comment on any vid and I should get a notification.
Can anyone help @jane with this? I would like to know also, if this BLE app will work with MakeCode and Microbit and a DF Robot; as seen in the above video. I think it is in Korean , according to Google Translate. When I download a .hex file I am told it will not open due to not being a recognized file: https://bluexmas.tistory.com/993
thanks
The Yahboom Mbit app could be used with almost any MakeCode robot (or other project). (By the way, I think Yahboomâs Tiny:bit is a good kit for the cost and they have lots of other promising products. Please consider some support to Yahboom rather than just using their app)
Misc: Yahboom Tiny:bit references: http://www.yahboom.net/study/Tiny:bit . (Links to all the above and more, including the âdistanceâ reading, which sends data back to the app)
As for using the app:
You can use MakeCodeâs import process to import the hex file. You can then edit it to remove references to Yahboomâs Tiny:bit blocks (the Car blocks) and replace them with the blocks for your bot.
Hereâs an example that works with just a micro:bit (no robot). It displays the controller values on the LEDs. It supports directions and music. I removed the âmode selectionâ and âlight colorâ to simplify it): https://makecode.microbit.org/_9ixPthV1LHT2
This sort of trick is possible with a lot of Micro:bit appsâŚthey can be used âoff-labelâ with a little review of how they work.
Iâm still working on this @jane . I donât think you have said which specific DF Robot you mean to try to control with an âappââŚIf by app you mean Bluetooth then letâs narrow that down to BLE, I have cell phones which I think are not BLE but just âBluetoothâ. I only have DF Robot Micro Maqueen. I do not have a DF Robot bluetooth app for it either in iOS nor in Android. I do have Mbit app for Yahboom as mentioned by @bsiever and it does work, sometimes, with Yahboom products (we have many) but they must have the Microbit plugged into a Yahboom powered expansion board (Superbit ) or bot car which can convert code from Microbit into appropriate action-output, I suppose. So, when @bsiever 's bluetooth code below is downloaded to my Microbit V1.5 and this Microbit is plugged into Micro Maqueen bot car, if it is synced with one particular iPhone of mine which has the Mbit app installed, they do pair and signals sent from phone to Microbit instructing display on the LED matrix do correspond to the code; HOWEVER, the bot car does not work as expected so now it is a matter of translating the Yahboom code into DF Robot commands; is this possible with DF Robot extension, and if so the will it work with Android ? Donât get your hopes up. Maybe. Iâll report back if I have anything of value.
Iâm not sure, but I think the DFRobot Maqueen extension in conjunction with other things, like bluetooth extension, exceeds the micro:bitâs available memory.
This video shows Billâs code working beautifully ! Thank you again, Bill. Now I will try it with Android, I have found that past MakeCode programs from Yahboom often are mated to the mobile device and to V1.5 or V2 of Microbit so this may take a little work to get the app to work with Android. Will try.
Sets speed (in the âCar Lightsâ menu. Each key is a specific speed)
Challenge to the reader: Change them to be increase/decrease speed keys. Maybe +/- 10, +/- 20, etc.
Reports speed (as the temperature value: 0-255)
The piano keys play music
Turns on/off front LED lights (in the âRGB Lightsâ menuâŚIt controls the front LED lights, not the back RGB lights, which canât be used with Bluetooth enabled.)
Room for additional remote features (in the âModeâ menu. Just displays icons now)
I was able to get more in by editing the Maqueen library and removing things I didnât need (IR remote, Servo, line detection). If you ever want a smaller Maqueen library, hereâs the âMinimal Maqueenâ: https://github.com/bsiever/pxt-maqueen (Paste this in as the extension name when you go to search for extensions)
Bill, youâre a genius ! Here is the video with Android and DF Robot . MBit bluetooth app. V 2.0 Microbit. @bsiever . Itâs an oldie Motorola Android cell phone. The code above in your posting works ; sometimes when trying to download it I get the message that the code will not compile. But it does eventually compile and download. @jane , please watch the video and try the code with android mobile device if you have Micro:Maqueen, otherwise try it with your DF Robot and see it that works. But remember, I tried it with V1.5 Micorbit (the one that does not have the notches in the edge connector) and that does NOT work; just like Bill said.
I will try all this , Bill, @bsiever , thank you so much for your work ! We have many more V1 Microbits than V2.0; and all you are doing goes to show our students what can be done with MS MakeCode.
Now to our real challenge: you may have seen my request for a Bluetooth app for the SD Wireless chip by Kittenbot for their Meowbit MakeCode Arcade. I suspect there is such an app, maybe in Chinese because I found it but it is not available in my country ,USA. My cell phone recognizes the BLE chip when they are both powered on. The chip does work with âradioâ to Microbit or another chip into Meowbit. It would be an Arcade app. Have you any ideas ? I have a request in to Dolphin Zhang and Bette Davis in China Yahboom via FaceBook because Yahboom sells Meowbit now; but no answer from either of those tech support/sales people. Our Youtube channel; MakeCode and Hardware shows many videos of the use of an Arcade console to drive and control robotic vehicles and will show itâs use with Yahboom Spiderbit now that we have it assembled but that will be via âradioâ as we donât have BLE as yet.
So far this works with variable success depending on which cell phone that I use. Some better than others. Your above link, Bill, @bsiever , https://makecode.microbit.org/_d98WqjJp3hKL
I have it working with both V1 and V2.0 and on iPhone and Android, sometimes. This is on the DF Robot MicroMaqueen with Mbit app. I hope we can alter the code in the .hex file because I tried to do that with your first example and only had limited changes before compiler started crying and would not download. I am looking at your work Bill at the university in St Louis if you are still there, following your links from github under your name. Thanks for all youâve done !
Hi @frank_schmidt : I hope it helps. I thought an example with v1 would be a little more useful. It looks like youâre on the micro:bit Slack. Iâve sent you a few follow-up questions there.
Another person asks this question and I have no answer, do you ? Please and Thankyou:
I am in the process of getting a companies custom board up and running with MakeCode, however I am having trouble with a few things.
When creating a custom board and submitting the SVG file into the Board Designer, config.ts is developed for us to edit with pin names and hardware numbers (ex. export const PIN_RCC1 = DAL.PA07 ). What are the pin hardware numbers? Is there an easy way of figuring these out for custom boards?
D0, A2, and SDA are all symbols that are used when programming (D0 is digital in/out 0. A2 is Analog in 2, etc.). Often a pin can do multiple functions â in this case a single pin does all three of these things, but is usually only used for one at a time. If Iâm doing digital work, Iâll think of it as D0. If Iâm doing analog work, Iâd think of it as A2.
In some places itâs important to be aware that this one thing serves all three purposes, so the name A2_D0_SDA is used too.
The actual pin on the hardware isnât named with any of these. It was selected by the people who made the processor (who didnât know how the processor would be used and didnât use names like D0). The hardware uses a name like PA08.
The projectâs pxt.json indicates it uses the samd processor, so thatâs where the DAL part will come from. The dal.d.ts for the core---samd defines PA08 = 8.
So, the story:
Someone decided to make a board. They selected a samd processor and figured out which pins would be used for which functions (this is also related to what the particular processor can do). They may have identified that theyâll use âPin 8â of âPort Aâ as a SDA, A2, and D0.
The samd module already existed and had a variety of names defined to make it easy for basic hardware code to work with Port A Pin 8 via PA08, but it doesnât know that itâll be used as D0 on this specific board.
The board designer created a schematic and then a picture of what the board will look like for the simulator. That picture, boardhd.svg, includes a âlabelâ on the place where the pin will connect (itâs invisible data in the .svg file). The person who made the picture picked a really descriptive name that explains all the pin can do: A2_D0_SDA. Thatâs a bit clunky for programmers who only think about one use at a time, like D0.
The boardhd.svg was uploaded to the board designer, which creates initial versions of config.ts and board.json.
board.json and boardhd.svg are all about the simulator. board.json does two things: 1) It indicates the x,y coordinates for where A2_D0_SDA is in the SVG (so wires in the simulator will go to the right place in the drawing) and 2) Gives simpler, additional names for A2_D0_SDA, like D0, âA2â, and SDA. (Ex: "D0": "A2_D0_SDA",).
config.ts is about the actual hardware. It explains how the names like D0 correspond to a real pin on the processor. There wasnât enough detail to fill in hardware details in config.ts, so itâll initially have incomplete parts, like export const PIN_D0 = DAL.?;. The ? needs to be filled in with the name of the actual hardware pin, so itâd need to be changed to: export const PIN_D0 = DAL.PA08; (Again, this is based on the initial choices when the board was designedâŚThe designer decided to use Port Aâs Pin 8 for the concept of D0 on their board)
A lot of thatâs speculationâŚIf anyone has any confirmation or correction itâd be appreciated.