Last month, Microsoft Garage, in collaboration with Adafruiit, created Device Simulator Express, a Visual Studio Code extension that enables developers to program the Adafruit Circuit Playground Express in CircuitPython, with or without a physical device.
Python 3.7.4: Make sure you’ve added python and pip to your PATH in your environment variables.
Python VS Code extension: This will be installed automatically from the marketplace when you install Device Simulator Express.
The following dependencies can be installed for you by the extension by clicking yes when you are prompted to (exceptpywin32 which is needed only on Windows platform).
install by typing the following commands in a console: pip install playsound
install by typing the following commands in a console (only for Windows computers, you must run it manually): pip install pywin32
install by typing the following commands in a console: pip install python-socketio
install by typing the following commands in a console: pip install requests
install by typing the following commands in a console: pip install applicationinsights
It would be nice if all this software were bundled into a Docker container or similar. Experience using the command shell/console is needed to use pip. Adding pip and python to ones PATH is explained in a footnote.
Running the Simulator
After installation, there is a code window on the left for CircuitPython and a simulated device on the right. This is somewhat similar to Microsoft MakeCode but with code and simulator flipped.
The Ctrl-shift-P then type the command is not as straightforward as a menu selection. Perhaps this could be integrated into the VSC menu system at some point?
Use is great, you can paste in some example code and watch it work. And with the growing popularity of Visual Studio Code as an open framework for programming in a wide array of languages, adding CircuitPython support and simulation is an impressive step.
Device Simulator Express is powerful software providing simulation of CircuitPython and Circuit Playground Express together.
The software installation is time consuming and use requires some time and multiple packages. The Visual Studio framework makes for powerful workflows but could be daunting for beginners.
For advanced students and professionals, Device Simulator Express may be the way to work with embedded devices and Python without having to have the actual device available. The ability to leverage VSC’s advanced features could save a great deal of time.
For beginners, I still recommend an actual device. That coupled with a good text editor or preferably the Mu editor (open source) provides an excellent experience with little to no software installation and immediate feedback on the device.
We are angry, frustrated, and in pain because of the violence and murder of Black people by the police because of racism. We are in the fight AGAINST RACISM. George Floyd was murdered, his life stolen. The Adafruit teams have specific actions we’ve done, are doing, and will do together as a company and culture. We are asking the Adafruit community to get involved and share what you are doing. The Adafruit teams will not settle for a hash tag, a Tweet, or an icon change. We will work on real change, and that requires real action and real work together. That is what we will do each day, each month, each year – we will hold ourselves accountable and publish our collective efforts, partnerships, activism, donations, openly and publicly. Our blog and social media platforms will be utilized in actionable ways. Join us and the anti-racist efforts working to end police brutality, reform the criminal justice system, and dismantle the many other forms of systemic racism at work in this country, read more @ adafruit.com/blacklivesmatter
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.