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.

View all 2 event logs

Enjoy this event?

Share

Discussions

tinkeringtech wrote 02/02/2018 at 20:59 point

what's the max number of neopixel you can drive with a trinket m0? Assuming you have proper power. 

  Are you sure? yes | no

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

Something like 8000+ but you will start to have issues with speed depending on the length of the strips.

  Are you sure? yes | no

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

Love the Trinket shields, where do I BUY ONE? 

  Are you sure? yes | no

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

I only made them as one-offs to see if they can be done, but all the design files are available at #Trinket Shields, so you can order them from OSHPark and make your own versions. I can help you with that.

  Are you sure? yes | no

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

So when will ESP32 Feather support be real instead of just beta? I'm not being super fancy in my application --- just controlling some LEDS and/or playing via the MusicMaker Feather board. 

  Are you sure? yes | no

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

Thats up to Damien for MicroPython support. We haven't started looking at the ESP32 for CircuitPython yet.

  Are you sure? yes | no

tinkeringtech wrote 02/02/2018 at 20:39 point

my experience with uF2 has been great so far!

  Are you sure? yes | no

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

@tinkeringtech That's great  to hear!

  Are you sure? yes | no

xBeau wrote 02/02/2018 at 20:33 point

are you adding ESP32 to the CircuitPython ports

  Are you sure? yes | no

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

Its on our radar but won't happen any time soon. We're currently focused on the SAMD51 and nRF52.

  Are you sure? yes | no

tinkeringtech wrote 02/02/2018 at 20:32 point

have you seen problems with the UF2 bootloader approach as yet with certain PCs not enumerating the M0 properly? Is this the approach you will take for future boards?

  Are you sure? yes | no

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

We haven't seen enumeration problems, but on Windows the boards appear as three different COM ports (Arduino, UF2, and CircuitPython). The Arduino IDE isn't good at picking the right one automatically, so you have to do it yourself. We love UF2 in general because it makes it really easy to update firmware, whether CircuitPython, MakeCode, or something else.

  Are you sure? yes | no

Ben Vinson wrote 02/02/2018 at 20:27 point

Since it was "leaked" earlier in the chat, I'll be brave and ask: What is the performance boost over the SAMD51 (M4) vs the SAMD21 (M0)? Also, when the M4 is released, will it be the 1MB flavor and how much will be available for CP?

  Are you sure? yes | no

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

The performance boost is something like 10x due to faster processor speed and faster floating point operations. @limor measure 6x for pin toggling.

The first versions will be the 512k flash 192k ram because they are more readily available.

  Are you sure? yes | no

peter wrote 02/02/2018 at 20:25 point

 Has the web interface improved?

  Are you sure? yes | no

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

We haven't improved the web interface in CircuitPython at all.

  Are you sure? yes | no

Clifton wrote 02/02/2018 at 20:24 point

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?

  Are you sure? yes | no

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

Very easily! You'll need a board running a SAMD21 and load it with bossac. The Arduino Zero will work. Older Arduinos will not because they are not 32-bit CPUs.

  Are you sure? yes | no

James wrote 02/02/2018 at 22:01 point

  Are you sure? yes | no

brentru wrote 02/02/2018 at 20:22 point

Is support for asynchronous io in the pipeline for 3.0 or later?

  Are you sure? yes | no

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

Not for 3.0 but we'll look into it later.

  Are you sure? yes | no

xBeau wrote 02/02/2018 at 20:17 point

does CircuitPython have any roadmap for WebREPL support

  Are you sure? yes | no

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

It works already in ESP8266 as it does in MicroPython. We haven't changed it at all for CircuitPython.

  Are you sure? yes | no

xBeau wrote 02/02/2018 at 20:17 point

have you thought about implementing a ++ & -- operation to CircuitPython I really miss being about to do something like "if i++ < 10:"

  Are you sure? yes | no

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

Nope, Python chose not to implement it and we want to preserve compatibility with it.

  Are you sure? yes | no

Clifton wrote 02/02/2018 at 20:16 point

What major applications/devices/products has Micro Python been used in?

  Are you sure? yes | no

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

Damien, the creator of MicroPython, is currently working with the European Space Agency to qualify it for running on satellites. There are development boards such as WiPy, pyboard and Adafruit's Trinket and Gemma that use it as well.

  Are you sure? yes | no

Felix wrote 02/02/2018 at 20:16 point

Will numpy or scipy be ported someday for CircuitPython?

  Are you sure? yes | no

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

Not any time soon. They are very large libraries. However, you can use CircuitPython to collect data to analyze with numpy and scipy on a desktop computer.

  Are you sure? yes | no

stephensb wrote 02/02/2018 at 20:16 point

Are there any circuitpython boards with onboard wifi/ble or plans to make them in the future?

  Are you sure? yes | no

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

The ESP8266 has support for CircuitPython and provides wifi. We've just incorporated BLE support into our master branch for the nRF52. Those both support existing Feather boards and we'll likely create a new feather for CircuitPython and the nRF52840.

  Are you sure? yes | no

Bryan wrote 02/02/2018 at 20:16 point

Question: The Adafruit Feather M0 Wifi also runs the SAMD21 chip, so I'm wondering if there's any docs related to running/flashing the CircuitPython env onto a Feather?

  Are you sure? yes | no

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

You can run CircuitPython on it but it won't be able to use the wifi. Instructions to flash it are here: https://learn.adafruit.com/welcome-to-circuitpython?view=all#non-uf2-installation

  Are you sure? yes | no

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

You can simply flash the M0 basic firmware on it, and it will work fine, it won't however give you access to WiFi. You could write a library to do that, but you will quickly run out of memory.

  Are you sure? yes | no

xBeau wrote 02/02/2018 at 20:15 point

what have the major performance challenges been with CircuitPyton, and do you differ to C/C++ for anything in particular vs straight Python

  Are you sure? yes | no

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

The memory is a huge issue, there is never enough of it — all those dynamically allocated objects can fragment your memory quite fast. I'm really looking forward to some of the improvements for memory allocation in 3.0. Other than that, when you need speed, you simply write that part in C and import it as a Python module, so you can do pretty much anything.

  Are you sure? yes | no

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

We do defer to C code when we need stronger timing guarantees. For example, the neopixel code is written in C because we need to precisely control the pin output.

  Are you sure? yes | no

bejecreimer wrote 02/02/2018 at 20:11 point

How close can you get to the hardware layer and still maintain python/cython syntax? Will new syntax be created to give more control over specific hardware?

  Are you sure? yes | no

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

Pretty close! We can use Python unless we need specific timing guarantees. We won't add new syntax per se but we will add additional modules for new functionality. We are careful to do it in a way that will work across different microcontrollers.

  Are you sure? yes | no

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

Any CircuitPython presence at FOSDEM in Belgium this week-end?

  Are you sure? yes | no

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

There is going to be a MicroPython table, and I sent some of my CircuitPython projects to be shown there, but I don't know of any person involved with CircuitPython coming.

  Are you sure? yes | no

James wrote 02/02/2018 at 20:09 point

per the front page of hackaday there were several comments debating compiled vs interpreted languages and also python vs javascript. 

What makes this a good starting point for getting involved with electronics, programming, and making things? why should someone choose this over other choices(arduino, makecode, javascript etc)?

  Are you sure? yes | no

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

In my experience the most important game-changer is the interactive console. It really makes a huge difference when you can type a command and *immediately* see an effect — you just *feel* what is happening much better then.

  Are you sure? yes | no

Frank Buss wrote 02/03/2018 at 15:05 point

IKR? Forth had this in 1970, and only now people are beginning to add this to languages and embedded systems again.

  Are you sure? yes | no

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

@James CircuitPython is designed with beginners in mind. The whole concept was built around lowering the barrier to entry to the maker world and simplifying experimentation with code and electronics. Getting started is as easy as plugging in the board, opening any plain-text editor, and writing code. The boards show up as a USB drive, so you can drag files directly to them. There's no compiling code, the copied file runs immediately, and you get to see results right away. Further, there is a huge support ecosystem as well including Learn Guides, documentation, forums and a live chat on Discord. The community built around it is already solid and is still growing. You can start from knowing nothing about these things and begin learning immediately. And when the are problems, the community and support ecosystem are available to help you through.

  Are you sure? yes | no

Interested in attending?

Become a member to follow this event or host your own