Development Environment

CircuitPython on hardware including Adafruit's boards, and CircuitPython libraries using Blinka on host computers.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
pgrunwald
 
Posts: 36
Joined: Tue Jul 14, 2009 10:32 pm

Development Environment

Post by pgrunwald »

Hi All,

Brand new to CircuitPython. I just got a Circuit Playground Express for a prototype sensor project I want to experiment with.

Background, I'm an experienced developer but very rusty, as I have been doing more business and management stuff for the past couple of decades. I was an ET in the service, and I have a BSCS. I have done some Arduino and RPi projects, just not any production coding for a long time. I have professionally programmed in C, Autolisp, C++, VB, Java, and SQL. I was of the church of Emacs for a long time but again, so rusty... I DON'T have a favorite editor right now, hence this post.

I have a little Python experience and want to become an expert. I'm trying to decide what environment to use going forward. I have searched this forum and the web and didn't really find a good answer. I thought this might be a good thread to have here at the mothership for both beginners and newbies to CircuitPython!

I'm on Windows 10-64bit. I see my main choices as below with pros and cons. Please comment and advise!

Mu
https://learn.adafruit.com/welcome-to-c ... -mu-editor
Recommended as Atom.io is going away this month. Focus on the code, not the environment. Not a "professional" environment for commercial/production programming.

Jupyter
https://learn.adafruit.com/circuitpytho ... -notebooks
I'm using it for Big Data and other Python AI classes I have going. Also, I may want to collect a lot of data for off-line so Pandas and whatnot might be handy. Good environment to self-document my project and potentially share. Anaconda is well supported and should be around for a while.

VS Code
https://marketplace.visualstudio.com/it ... cuitpython
"Professional" development environment, also well supported. Support for GIT, and just about any other tool I might need including big data. Not as portable to Mac, Windows does have WSL for Linux support.

TIA,
Paul

User avatar
dastels
 
Posts: 15608
Joined: Tue Oct 20, 2015 3:22 pm

Re: Development Environment

Post by dastels »

With CircuitPython you can use anything you want. Some have better support for Python than others.

Personally I use Emacs with elpy, working with local files with a custom command line script (written in python currently) to deploy/update code/libs/files to /CIRCUITPY.

Given your experience, I suspect you may find Mu overly simple and limited. It's a great beginner environment, though. VS-Code is well reputed.

I think the key is to find something that you are comfortable using.

Dave

User avatar
pgrunwald
 
Posts: 36
Joined: Tue Jul 14, 2009 10:32 pm

Re: Development Environment

Post by pgrunwald »

dastels wrote: Tue Dec 06, 2022 4:28 pm
Personally I use Emacs with elpy, working with local files with a custom command line script (written in python currently) to deploy/update code/libs/files to /CIRCUITPY.
Thank you for the reply Dave. Is your script publicly available? I'm intrigued and for whatever reason, I had not considered EMACS for python development but I will! https://realpython.com/emacs-the-best-python-editor/

Best,
Paul

User avatar
dastels
 
Posts: 15608
Joined: Tue Oct 20, 2015 3:22 pm

Re: Development Environment

Post by dastels »


User avatar
chadlung
 
Posts: 13
Joined: Tue Oct 04, 2022 11:57 am

Re: Development Environment

Post by chadlung »

I've been using PyCharm and Adafruit has a guide to get things set up correctly:
https://learn.adafruit.com/welcome-to-c ... cuitpython

Good luck.

User avatar
westfw
 
Posts: 2006
Joined: Fri Apr 27, 2007 1:01 pm

Re: Development Environment

Post by westfw »

I don’t know that I’d want to use a circuit/micro-python-specific ide. VSCode seems to be popular partially because it supports multiple languages, presumably similar to EMACS modes…

PC-side I’ve used “spyder” (it came with “Anaconda”, that some MOOC recommended.)
It has pretty impressive debugging support, but I don’t know whether it has any support for talking to micros.

And EMACS’s Python mode is just fine…

Locked
Please be positive and constructive with your questions and comments.

Return to “Adafruit CircuitPython”