Connections to Raspberry Pi?

Thanks @cymplecy. For some reason, my desktop computer isn't recognize the device, but I was able to install the drive using my laptop (both Windows 10), and the nodeMCU is showing up correctly in Device Manager there.

The board also appears for MicroBlocks, though attempting to connect to it results in a "Could not open serial port" error message. I'm going to dig deeper on the forum and in the MicroBlocks documentation to troubleshoot.

Been there done that :frowning:

Probably going to have to switch off and on 3 times - try all other USB ports - sacrifice small animal!

Bliddy computers!!!!!!

I am delighted to report that thanks to John Maloney's excellent instructions, we were able to install MicroBlocks on the micro:bit and use Snap! to control the micro:bit pins with no difficulty.

Once we are able to get the serial port on the PC to connect with the Wemos microcontroller, we should be able to do the same with it. (Thanks, Simon.) However, we didn't realize that animal sacrifice was required ... not sure how that's going to look in the Institutional Review Board (IRB) review.

You can check the exact hardware id of the USB chip used by the board.
Looking at the device record (unknown device or newly added) in the Device Manager, Details, Hardware ID property, you can see the VID & PID.
Example of CH340, localized Win10
CH340
Then search for those values to find appropriate drivers.

Factory default
CH340 => VID=0x1A86, PID=0x7523
CP210x => VID=0x10C4, PID=0xEA60

Some cloned boards may require "reset" right before flashing the MB runtime.

Success! We were able to use regular Snap! 7 to control a micro:bit with MicroBlocks to drive a linear motor. Here's a ten-second video clip:

In theory this could work with any microcontroller compatible with MicroBlocks. Thanks to @jmaloney (and jens) for creating MicroBlocks, and to @cymplecy for his tireless efforts to create a pathway enabling us to understand how this is done.

Using regular Snap! to control a motor and other physical objects is the holy grail for us. The implications are that students and schools could have access to a wide range of microcontrollers at a price point and capabilities that best meet their needs, and use the Snap! that they use for everything else. MicroBlocks does have to be loaded onto the microcontroller, but we found the directions provided by @jmaloney to be straightforward and easy to follow.

Thanks to everyone who contributed to this thread ... this will make a significant difference in what we teach and how we introduce it this fall.

John says that he can participate if the BoF is on the weekend (Sat or Sun). This has been such a rich discussion, it might be nice to get together to compare notes if there is a slot remaining. At this point, how do we propose a BoF focused on physical computing?

BOFs are scheduled for Sunday, 1:45-2:45 east coast time, so that should work.

Send me a paragraph and I'll add it to the schedule.

Here's a draft description:

"Snap! can communicate with microcontrollers enabling users to interact with physical objects. This Birds of a Feather session will provide opportunities to discuss and demonstrate current ways of accomplishing this."

Can those contributing to this strand (@cymplecy, @jmaloney, dardoro, tguneysu, etc.) or anyone else who may be interested suggest revisions to the draft description? (Thanks!)

On Friday we used Snap! + MicroBlocks to control a micro:bit.

Today an Adafruit Metro M0 arrived, and we had success in controlling it from Snap! as well:

Controlling an Adafruit Metro with Snap!

The Adafruit microcontroller has the same form factor as an Arduino. (John Maloney says that unfortunately the Arduino Uno does not have enough memory to install MicroBlocks, but since the Adafruit chip has the same form factor, we were able to use it in place of the Arduino.)

We were able to acquire the Adafruit chip for $10 less than the micro:bit.

We have an ESP microcontroller on order that also has the same form factor as an Arduino Uno. When it arrives, we will see if it works as well. It is available for $11, so if it works with Snap!, that would be a considerable savings in comparison with the current price for the micro:bit.

@cymplecy The Wemos D mini is an attractive option, because it is by far the least expensive option that we have found. Per your suggestion, we ordered the nodeMCU variant, which we were able to obtain with a motor control shield for a combined cost of $11. However, we still have not been able to install MicroBlocks. (We are using a Windows 10 laptop.) Per @dardoro 's suggestion, we checked the ID and found that it was:

CP210x => VID=0x10C4, PID=0xEA60

We reset the nodeMCU just before attempting to install MicroBlocks. A pinwheel appears and rotates, until the connection times out. ... We're not sure what to try next.

Factory, Silicon Labs drivers for CP210x USB to UART Bridge VCP Drivers - Silicon Labs.

So maybe we need to get an actual Wemos D mini rather than substituting the nodeMCU. ... We'll try to acquire one.

John Maloney says that since the Birds of a Feather sessions are on Sunday afternoon he can participate, so I'm going to ask Brian to schedule a BoF on physical computing, if any slots are available. If Simon can join us, he can demo the Wemo motor control board.

OK you're scheduled for 1:45PM East Coast time.

Great! This will be a great opportunity to demo and discuss all of the methods described in the strand and compare notes.

So the SL drivers for the USB to UART chip does not help?

There may be another problem. Custom-made drivers (i.e., supplied for some device with complex, multi-OS compatible, accompanying software) may force Windows to install the device as a generic USB, or libUSB compatible, not as a VCP (Virtual COM Port).
Such a driver should be unistalled with the Device Manager prior to installing the factory-supplied one.
But, this may cause the other software/device combo to not work...

Sorry to hear of your issues :frowning:

What does Device Manager show?
Mine shows this

image

Maybe you'd have success with the CH340 USB variant ?

As we've now found, the problem with this is that the I2C motor shield that goes with it is very hard to find at a low cost at the moment :frowning:

The NodeMCU with motor shield is also much nicer to use physically as it has screw terminals for the motors and external battery (and breaks out all the other pins in a very nice manner as well for possible other projects

I'd try getting a NodeMCU CH340 but also persevere with the CP210x drivers as well - might take some messing around to find an install sequence that works for you

I'll dig out my old Win10 laptop and see what happens when I try to get it work on that

Another option that springs to mind is to try using the original WEMOS D1 (not mini) that comes in Arduino form factor and match it up with an Arduino compatible motor shield

https://www.amazon.co.uk/ARCELI-ESP8266-Development-Compatible-Arduino/dp/B07J2QKNHB/ref=sr_1_9?crid=3W41ZFFGAZJEW&keywords=wemos+d1&qid=1659430228&sprefix=wemos+d1%2Caps%2C82&sr=8-9

https://www.amazon.co.uk/AZDelivery-L293D-4-channel-Diecimila-Duemilanove/dp/B07CZZVPZV/ref=sr_1_4?keywords=arduino%2Bmotor%2Bshield&qid=1659430076&sr=8-4&th=1

I've got a few WEMOS D1, so I've ordered one of the motor shields from Amazon and I'll report back when it arrives

[edit] - I thought I'd just check what my WEMOS D1 mini uses for its USB, and it's a CH340

@dardoro To the best of my ability, I can't find a problem, but that may be a bit above my pay grade. I'll try to get someone in our IT department to take a look.

@cymplecy Here's our device manager. I disabled the other port that's showing (Intel AMT) thinking there might be some sort of conflict, but that didn't seem to make a difference. I'm working on trying the CH340 driver now. Windows keeps telling me the best driver is already installed, so I'll probably going to have to remove the first one.

Also, here's a photo of the back of the board, which does recommend the CP210 driver.

You have the right driver for that NodeMCU

What I'm saying is that some NodeMCU come with a different USB chipset that use a CH340 driver

So, if you can't get the one you have to work then I'm suggesting buying a CH340 version

[edit] Can I suggest trying some other software (such as the Arduino IDE) and see if that recognises the device

I've found only one board with the CP2102 chip from the NodeMCU family.
snap
snap (1)

An attempt to "update firmware on board" was not successful.

But, there should be two buttons on the other side of the board. I held the right one (sometimes described as "Flash") for a few seconds during the "Connecting..." phase, and the firmware was updated.