Close
0%
0%

Circuit Python Hack Chat

We'll be chatting with Scott and Dan from Adafruit about coding in Circuit Python

Friday, February 2, 2018 12:00 pm PST - Friday, February 2, 2018 12:30 pm PST Local time zone:
Hack Chat
Similar projects worth following

Join this Hack Chat by clicking on the JOIN HACK CHAT button. 


______________________________________________________________________________

Scott Shawcroft and Dan Halbert from Adafruit will be co-hosting the Hack Chat this week.
This Hack Chat is at noon PST, Friday, February 2nd.

Time Zones got you down? Here's a handy count down timer!

CircuitPython is based on the open-source MicroPython which brings the popular Python language to micro-controllers. The goal of CircuitPython is to make hardware programming as simple and easy as possible. You can also support MicroPython and the creator, Damien George by purchasing official PyBoards at Adafruit as well as MicroPython stickers

In this week's chat, Scott Shawcroft and Dan Halbert from Adafruit will talk about Circuit Python and answer any questions that you may have. 

Scott Shawcroft started working with Adafruit on MicroPython in September 2016 and has led the (renamed) CircuitPython effort ever since. He has a Computer Engineering degree from the University of Washington ('09). He worked at Google on Google Maps prior to starting his own hardware and freelance software engineering company Chickadee Tech. He has two cats, Vin and Spook.

Dan Halbert starting using and working on CircuitPython early in 2017 and joined Adafruit in August of that year. He has CS degrees from MIT (SB '78) and UC Berkeley (PhD '84). He's worked on programming for non-programmers, object-oriented programming languages and IDEs, and also speech and face recognition. Dan is the original author of the UNIX `more` command.

In this chat, we'll discuss:

  • What is CircuitPython? (history, current boards, etc.)
  • What is the goal for CircuitPython?
  • What are the future plans for CircuitPython?
  • Answer technical questions abut Circuit Python!

Adafruit launched Circuit Python in 2017, and came on the Hack Chat to discuss it with us. Here's a video of what went on.

  • Circuit Python Hack Chat Transcript Part 2

    Shayna02/02/2018 at 21:08 0 comments

    PART 1 OF TRANSCRIPT: https://hackaday.io/event/34310-circuit-python-hack-chat/log/86930-circuit-python-hack-chat-transcript-part-1

    Stephen : This running CircuitPython on other boards is getting at @Clifton 's question: How easily can I get started with Circuit Python? Can I use CircuitPython on a standard Arduino board or do I need a custom board or a custom setup?

    mxwrench : I bought Feather M0 express, Playground express, ESP32 Huzzah, and Trinket express. Was hoping to use ESP32 for project, because of multiple AtoD inputs, but if M0 will work then that is my 2nd option.

    Dan Halbert : @clifton you could arduino zero, if you have one: we have a build for that

    Dan Halbert : does NOT work on AVR boards like Uno R3: much too little flash and RAM

    Dan Halbert says:3:50 PM does NOT work on AVR boards like Uno R3: much too little flash and RAM

    Kattni : @Clifton It's incredibly easy to get started if you have the right board, you plug it in and using any plain-text editor you can begin coding. The M0 and M0 express boards are the best and easiest to use.

    Dan Halbert : The Circuit Playground is wonderful because it has so many builtin peripherals: NeoPixels, mic, speaker, IR, temp, light, acceleromters.

    Stephen : Tell us more about the Circuit Playground

    limor : My favorite is the Trinket M0 https://www.adafruit.com/product/3500 IT IS SO SMOL

    David Glaude : It is Circuit Playground Express. Express is important because it mean more space for libs.

    tannewt : 

    DLBoyd151 : A good editor to check out is the Mu-editor

    Dan Halbert : right, CPy won't work on Circuit Playground classic: that's an AVR-based board

    Kattni : @Stephen The Circuit Playground Express has a beginner library written for it that makes it super simple to get started with CircuitPython. There's tons of stuff built in so you can learn a lot about electronics and hardware as well without needing to solder or breadboard anything.

    limor :

    limor : *so tiny* *so python*

    David Glaude : And there is a great demo code for the CPE (ho wait... not available yet).

    Kattni : It also works with more complicated projects, so you're not limiting yourself by starting with this board.

    Clayton G. Hobbs : so small that the silkscreen for the board name is on an extra tab :v

    ɖҿϝիɟթվ : I made a bunch of shields for the trinket m0: #Trinket Shields

    Todd : Awesome work Adafruit!

    Dan Halbert : built-in dotstar, has touch, and all the usual peripherals

    Shayna : I want that and I also want the manicure

    limor : yeah those are some nice nails - inspiring :)

    Thomas Shaddack : lots of interesting photonics and material engineering and photochemistry can be found in nailwork.

    Stephen : One more tech timeline question from @Charlie Lindahl : So when will ESP32 Feather support be real instead of just beta?

    tannewt : @Stephen MicroPython support for esp32 is currently in beta and up to Damien when that will be stable. We'll probably work on it after 4.0 which is a ways away.

    Stephen : And let's end with one final fun question: what's each of your favorite projects you've seen or worked on using CircuitPython?

    DLBoyd151 : The pixeldust project

    DLBoyd151 : https://learn.adafruit.com/digital-sand-dotstar-circuitpython-edition/code

    tannewt : @Stephen my favorite is @ɖҿϝիɟթվ 's uGame

    Dan Halbert : I like the Circuit Playground Express sound and motion-sensitive projects.

    Kattni : I have 2: I'm still super happy with my first project in CircuitPython - a tone piano...

    Read more »

  • Circuit Python Hack Chat Transcript Part 1

    Shayna02/02/2018 at 20:08 0 comments

    Stephen : Okay, it's GO TIME! A huge welcome to @tannewt and @Dan Halbert from Adafruit, here to talk to us about CircuitPython.

    sommersoft : GO TIME!

    Stephen : Would you two start us off by introducing yourselves?

    Shayna : woohoo

    Stephen : Who you are, what you do, and what you're excited to share with us today?

    limor : Hii its me ladyada! i'm the lead engineer and owner of adafruit industries! i love to do electronics and write firmware

    tannewt : I'm Scott, I'm the project lead for CircuitPython. I do core work in addition to organizing our awesome community.

    Dan Halbert : I'm Dan. I've been on staff with Adafruit working on CircuitPython since August. We're having a wonderful time building CPy for you folks for your maker, educational, protototyping, and fun projects.

    tannewt : I'm excited to talk about how awesome CircuitPython is for beginners

    Kattni : Hello, I'm Kattni. I'm a Creative Engineer and one of the CircuitPython developers. I'm super excited to share how amazing CircuitPython is and how important the community is to it's development!

    Jani Turunen : what is ETA for CircuitPython 3.0?

    tannewt : @Jani Turunen hoping to do it by pycon in May. We have a long list of open issues for it still

    Stephen : Fantastic. Welcome! Let's get started with the basics: What is CurcuitPython, and why was it created?

    Stephen : An extra hello to @Kattni as well

    x : w00t https://us.pycon.org/2018/

    pt : (I'm phil, here for support, made hackaday 13 years ago, ladyada is my boss)

    limor : ok! first Q!

    limor : CircuitPython is a variant of MicroPython which is itself a variant of Python 3

    tannewt : We'll be at pycon US!

    x : how does CircuitPython compare to the micropython project itself, and what's the process for upstreaming contributions?

    tannewt : @x Differences are documented here: https://github.com/adafruit/circuitpython#differences-from-micropython We don't actively upstream anything but all of our code is open source so upstream can merge it as they like.

    Clifton : Is the video live? I don't see Lady Ada's messages here.

    Professor Fartsparkle : https://www.youtube.com/watch?v=JH-b2Gk5gfU

    limor : Python is the most popular programming language, and has some really cool things built in to it that makes it easy to teach electronics

    limor : I have been using other microcontroller systems like PIC CCS, AVR and Arduino for a reallllly long time. but its challenging for beginners

    pt : adafruit is a pycon 2018 sponsor https://us.pycon.org/2018/

    limor : you have to set up an IDE, compiler, toolchain. What I <3 about Python is that all goes away, the code lives on the device. Its easy to edit and very fast to iterate

    ɖҿϝիɟթվ : @pt awesome, are you going to have a booth this time?

    limor : and best of all *no more* BUFSIZE

    limor : we as humans are *bad* at BUFSIZE

    limor : :)

    limor : so thats what it is and why it was created

    tannewt : @ɖҿϝիɟթվ No booth, they take too much time

    ... Read more »

View all 2 event logs

Enjoy this event?

Share

Discussions

David Glaude wrote 02/02/2018 at 20:08 point

Do you plan to have a "more" command on the CircuitPython REPL to be able to visualise code from the console?

  Are you sure? yes | no

Dan Halbert wrote 02/02/2018 at 21:58 point

(Discussed this with the poser of the question on discord) The question is whether we'd have something like `more('filename.py')` for boards without direct access to the filesystem. It would be not too hard to add, though also file browsing might be provided through the webRepl. Also could be a convenience function in the regular REPL. It's something to consider.

  Are you sure? yes | no

timonsku wrote 02/02/2018 at 20:07 point

Do you plan to do a larger Mega 2560'ish board for the SAMD51 in addition to your standard Feather and Metro footprints? Given the insane amounts of pins those ICs have.

  Are you sure? yes | no

tannewt wrote 02/02/2018 at 21:46 point

We've thought about it. We've gotta start with the other form factors first.

  Are you sure? yes | no

David Glaude wrote 02/02/2018 at 20:06 point

Is ESP8266 a secondary citizen of CircuitPython because you adafruit has competition on that where there is almost no competition on the M0 side?

  Are you sure? yes | no

tannewt wrote 02/02/2018 at 21:55 point

Its not due to competition. We focus on the M0 because of its built-in USB which makes it very easy to use. The ESP8266 has a USB Serial -> UART chip which prevents us from doing the mass storage based workflow that is a huge part of the CircuitPython workflow.

  Are you sure? yes | no

md wrote 02/02/2018 at 20:05 point

bottom line: differences between CktPy & MicroPy??

& supported HW?

  Are you sure? yes | no

Kattni wrote 02/02/2018 at 21:47 point

@md Supported hardware is: Circuit Playground Express, Trinket M0, Gemma M0, Feather M0 Express, Metro M0 Express, the various iterations of the Feather M0 basic, and the ESP8266.

There are other boards that are in beta at the moment but there's no release dates available. These include the M4, and nRF52.

  Are you sure? yes | no

tannewt wrote 02/02/2018 at 21:50 point

Our main difference is the hardware API which is uniform across ports. This makes it a good foundation for all of our libraries and examples. We also auto-reload files after they are written to the internal file system which makes it even easier to develop with. We also choose to be a strict subset of the CPython APIs. MicroPython has utime with extra methods whereas we have time with only methods that CPython has. There is larger, more detailed list here: https://github.com/adafruit/circuitpython#differences-from-micropython

  Are you sure? yes | no

David Glaude wrote 02/02/2018 at 20:04 point

When do we get to buy M4 board from adafruit?

  Are you sure? yes | no

Kattni wrote 02/02/2018 at 21:28 point

@David Glaude When it's released :)

  Are you sure? yes | no

Charlie Lindahl wrote 02/02/2018 at 20:03 point

Like the jigging :-). Can you make a jigging robot? 

  Are you sure? yes | no

Kattni wrote 02/02/2018 at 21:43 point

Sounds like a fun project! :)

  Are you sure? yes | no

Charlie Lindahl wrote 02/02/2018 at 20:03 point

Ok, so this is where you want the questions, right? First question: do you have a favorite source of  tutorials on python and Circuit questions? 

  Are you sure? yes | no

Stephen Tranovich wrote 02/02/2018 at 20:04 point

correct!

  Are you sure? yes | no

tannewt wrote 02/02/2018 at 21:31 point

Adafruit's Learning System is a great place to start for both topics! https://learn.adafruit.com/welcome-to-circuitpython

  Are you sure? yes | no

deʃhipu wrote 02/02/2018 at 20:02 point

Are you not afraid that people who learn Python from CircuitPython will pick up some bad practices that are "unpythonic" and that will hold them back with the "grownup" Python?

  Are you sure? yes | no

tannewt wrote 02/02/2018 at 21:36 point

We try our best to define Pythonic APIs and have Pythonic examples. Its a work in progress because many of our contributors have an Arduino backgrounds which can lead to Arduino-style Python.

  Are you sure? yes | no

Todd wrote 02/02/2018 at 20:02 point

Can you start out with the basics? What is Circuit Python? Why do we want to use it?

  Are you sure? yes | no

Kattni wrote 02/02/2018 at 21:41 point

CircuitPython is a derivative of MicroPython, a flavor of Python designed to run on microcontrollers. CircuitPython specifically is designed with beginners in mind. We want to lower the barrier for entry to the maker world by simplifying learning and experimentation with programming and electronics. And it's based on Python which is a great language.

CircuitPython has a variety of hardware and drivers supported, and the number of libraries available is constantly growing. It works with both beginner and more complex projects so you're not limited in what you can do.

  Are you sure? yes | no

jorch wrote 02/02/2018 at 20:02 point

what boards are supported?

  Are you sure? yes | no

Kattni wrote 02/02/2018 at 21:32 point

Circuit Playground Express, Trinket M0, Gemma M0, Feather M0 Express, Metro M0 Express, the various iterations of the Feather M0 basic, and the ESP8266.

There are other boards that are in beta at the moment but there's no release dates available. These include the M4, and nRF52.

  Are you sure? yes | no

jorch wrote 02/02/2018 at 22:06 point

Thanks!

  Are you sure? yes | no

shamylmansoor wrote 02/02/2018 at 20:02 point

How good is Circuit Python for real time applications compared to C / Assembly?

  Are you sure? yes | no

tannewt wrote 02/02/2018 at 21:37 point

Python in CircuitPython is terrible. However, both desktop Python and CircuitPython make it easy to extend with modules written in C. That C code can handle time sensitive tasks as needed.

  Are you sure? yes | no

Stephen Tranovich wrote 02/02/2018 at 20:01 point

What applications does CircuitPython excel at compared to a more common uC?

  Are you sure? yes | no

deʃhipu wrote 02/02/2018 at 21:37 point

Everything where you need speed of development. It has an insanely quick modify-test cycle, you just edit a file on the USB drive, and the board automatically restarts and runs your new code, so you can see what happens. This, together with the console, allows to do really rapid prototyping. Once you have your code working, you can always re-write it to C.

CircuitPython/MicroPython is also good for use cases where you want the users to provide some of the functionality for your device, but you want it to be easy for them. For example, the #OpenMV camera lets you script in Python the vision-processing algorithms and how they should affect the pins, and then you can have other devices connected to those pins to do the actual work.

  Are you sure? yes | no

timonsku wrote 02/02/2018 at 19:59 point

Is CircuitPython going to be your new main focus, as opposed to the Arduino Ecosystem or are they always going to be equals at Adafruit?

  Are you sure? yes | no

tannewt wrote 02/02/2018 at 21:40 point

We are currently putting a lot of work into CircuitPython but continue to support Arduino for new products. In the future, that may change depending on how things go.

  Are you sure? yes | no

Interested in attending?

Become a member to follow this event or host your own