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 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!

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

Join over 38,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


New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — New Products 9/4/2024 Featuring Raspberry Pi Pico 2 – RP2350! @adafruit

Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: The latest on Raspberry Pi RP2350-E9, Bluetooth 6, 4,000 Stars and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

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

Adafruit IoT Monthly — IoT Vulnerability Disclosure, Decorative Dorm Lights, and more!

Maker Business – Adafruit Daily — A look at Boeing’s supply chain and manufacturing process

Electronics – Adafruit Daily — Function Generator Outputs

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.