Review: Device Simulator Express emulates a Circuit Playground Express #CircuitPlaygroundExpress @MSFTGarage @Adafruit

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.

The initial Adafruit blog post is here describing the initial availability.

Here we’ll quickly outline the installation and use of the simulator.

The software consists of a download available through the Visual Studio Marketplace. It is open source under an MIT license. The prerequisite software needed is quite extensive:

The following dependencies are required to install before launching Device Simulator Express.
You will be prompted to install the Python dependencies during the first use.

The following dependencies can be installed for you by the extension by clicking yes when you are prompted to (except pywin32 which is needed only on Windows platform).

  • Playsound
    install by typing the following commands in a console: pip install playsound
  • Pywin 32
    install by typing the following commands in a console (only for Windows computers, you must run it manually): pip install pywin32
  • Python-Socketio
    install by typing the following commands in a console: pip install python-socketio
  • Requests
    install by typing the following commands in a console: pip install requests
  • Application Insights
    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.

"New File" animation

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.

Conclusion

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.


Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in! adafruit.com/mastodon

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.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.