Close

(edited) Transcript for CircuitPython HackChat

A event log for CircuitPython HackChat

Adafruit’s @ladyada, @tdicola and @scott.shawcroft will be discussing CircuitPython beta.

sophi-kravitzSophi Kravitz 01/27/2017 at 21:090 Comments

WELCOME TO CircuitPython HackChat!

pt says:an hour ago

live behind the scenes video will be here in 9 mins -

turbinenreiter says:an hour ago

Has anyone heard of the BMF055? It's a 9DOF with an integrated SAMD20.

pt says:an hour ago

robot roll call @limor @tdicola @tannewt say hi!

limor says:an hour ago

hii!

tannewt says:an hour ago

hi @pt

an hour ago

hi @limor

limor says:an hour ago

s0phi3s0phi3s0phi3s0phi3s0phi3

an hour ago

Hey everyone, if you have questions, put them here: https://docs.google.com/spreadsheets/d/1hLJhOunlm62QfmURkpL0BDvyx7e6fGyU9Ie_0JOh06M/edit#gid=0

Benchoff says:an hour ago

Hey it's noon

pt says:an hour ago

z00m!

tdicola says:an hour ago

i hope PT has a jolly wrencher cape :)

an hour ago

ZOOM

tannewt says:an hour ago

stream is live

an hour ago

Sweet! you guys want to intro yourselves?

keebie81 says:an hour ago

mosfet needs a kitten cape

winkininkler says:an hour ago

Hi Phil!

an hour ago

Also welcome Adafruit!

pt says:an hour ago

ok video is live - https://youtu.be/jTNVra3IENs

todbot says:an hour ago

Hi Phil, Hi Limor!

tannewt says:an hour ago

Hi all, I'm Scott and go by tannewt online. I'm the core dev on CircuitPython

limor says:an hour ago

hi im limor

limor says:an hour ago

so about circuit python

winkininkler says:an hour ago

hi limor!

limor says:an hour ago

a version of python (the language/interpreter) that runs on small microcontrollers

tdicola says:an hour ago

Hey I'm Tony, I do lots of python related things like guides and videos for Raspberry Pi, MicroPython, CircuitPython, etc.

limor says:an hour ago

and is a derivative of micropython

limor says:an hour ago

micropython is by damien george!

limor says:an hour ago

he had a 'bet' - could python run on an stm32 or microbit

pt says:an hour ago

i'm @pt i work with these smart folks and a long time ago i started hackaday.com

limor says:an hour ago

whats neat is the microbit is

limor says:an hour ago

128k flash, 16k ram

limor says:an hour ago

soooo smalll

an hour ago

does it have sensors on it?

limor says:an hour ago

huh!

limor says:an hour ago

didnt know you could actually do that

limor says:an hour ago

so we were like

limor says:an hour ago

well, ya know

keebie81 says:an hour ago

it has temperature, microphone, accelerometer

limor says:an hour ago

it would be neat we port micropython to run on the atsamd21 proc

tdicola says:an hour ago

Yep the microbit has a few sensors like an accelerometer, light sensor, temperature, etc.

winkininkler says:an hour ago

Hey, I am WCHSPLTW. I teach digital circuits in high school and I excited to try out Circuit Python. I feel like Arduino has too many hurdles for some most high school kids. Also, I loved Visual Python in college.

limor says:an hour ago

a cortex m0 from atmela (now mcp)

todbot says:an hour ago

thumbs up for SAMD parts

limor says:an hour ago

this chip is sorta (imo) the next gen atmega328

limor says:an hour ago

used in the arduino uno

pt says:an hour ago

thanks @winkininkler that's why we are doing this, simple, no IDE even needed and python

limor says:an hour ago

cool thing about the 328 is its popular

limor says:an hour ago

not so cool, only 32k flash and 2 k ram

limor says:an hour ago

an no native usb

tannewt says:an hour ago

@winkininkler awesome! MicroPython and CircuitPython don't require any extra software to get going!

an hour ago

hi @winkininkler, welcome!

limor says:an hour ago

samd has DMA< spi, i2c, uart, native usb client host, 256k flash, 32 k ram, tons of extras

tannewt says:an hour ago

CircuitPython also auto-resets after you save a file which makes it really fast to experiment

limor says:an hour ago

and its kinda cheap, $2 EA

limor says:an hour ago

use it

limor says:an hour ago

arduino is grat

limor says:an hour ago

love it

limor says:an hour ago

its too hard to get started

limor says:an hour ago

nowadays we have to reach more people

limor says:an hour ago

c is too hard a languge

turbinenreiter says:an hour ago

I'm Sebastian, an Aersopace Engineering student in Munich and I'm currently writing my master thesis. Topic: Evaluation of MicroPython on SmallSats. I'm trying to put it on a CubeSat. I'm also already using it as flight computer in water rockets for teaching on my student job.

limor says:an hour ago

for many beginners

tdicola says:an hour ago

it still boggles my mind a tiny little chip like the SAMD21 can run a high level interpreted language like python so well--testament to Damien's smarts to cram python into a small memory environment :)

aalves says:an hour ago

Yeah python is great as a learning tool

turbinenreiter says:an hour ago

(also watching and reading may be just as confusing as talking and typing)

Radomir Dopieralski says:an hour ago

this chat is a bit one-sided

aalves says:an hour ago

learning C and python at the same time made me realize how python is a great learning language

tannewt says:an hour ago

@turbinenreiter awesome! I'll probably be in munich in. the next few months

limor says:an hour ago

we think python is easier

tdicola says:an hour ago

oh super cool @turbinenreiter Damien is actually working with the european space agency to put micropython on satellites. python in space :)

limor says:an hour ago

and python is taught to tons of kids

turbinenreiter says:an hour ago

@bruce.tanner

Kevin says:an hour ago

I totally agree with the too hard to get started with Arduino, and I'm a 10+ year professional developer. :) After that long doing something high level like C#, going back to C++ made me feel stupid and I got frustrated figuring out all the details just to get something simple done.

limor says:an hour ago

its def more popular than teaching c or c++

limor says:an hour ago

but arduino ide doesnt run on chromebooks

turbinenreiter says:an hour ago

@tannewt we should meet!

limor says:an hour ago

need to install a bunch of software

limor says:an hour ago

etimes thats challenging for students

pt says:an hour ago

@Radomir Dopieralski we are going to answer all the questions and you can ask anything too

limor says:an hour ago

if you've ever seen an arudino workshop

turbinenreiter says:an hour ago

@tdicola I know, that was the reason I had to balls to go to my thesis adviser with the idea.

limor says:an hour ago

akes 30 mins just to get people's computers set up

tannewt says:an hour ago

@turbinenreiter I'm game! email me

aalves says:an hour ago

Oh the cromebooks is a good point, and I've helped student install arduino, it can be rough sometimes

pt says:an hour ago

this is "what it is" and why

tdicola says:an hour ago

awesome! good luck with the project, that should be really cool to play with cubesats

limor says:an hour ago

so!

limor says:an hour ago

twe're now at this point where maybe we can solve all these issues

tannewt says:an hour ago

hi!

limor says:an hour ago

so thanks scott for porting to the samd!

limor says:an hour ago

and working on these details

Carol Willing says:an hour ago

Hi @tannewt

tannewt says:an hour ago

np :-)

tannewt says:an hour ago

hi @Carol Willing!

Carol Willing says:an hour ago

@tdicola Nice progress!

pt says:an hour ago

oh cool, hi @Carol Willing !

limor says:an hour ago

weird thing #1 no compiler

limor says:an hour ago

interpreted!

limor says:an hour ago

HIP

limor says:an hour ago

IN THE CHIP

Carol Willing says:an hour ago

Hi @pt. AdaFruit and Hackaday are awesome.

aalves says:an hour ago

Yeah I like no compiler in the cloud

aalves says:an hour ago

I've had mixed luck with that

tdicola says:an hour ago

Hi Carol! Nice to chat again. :)

turbinenreiter says:an hour ago

@tannewt the mail on your github still good?

Carol Willing says:an hour ago

I've been following the repo. Really looking good.

limor says:an hour ago

so video demo time

limor says:an hour ago

because the chip has native usb

tannewt says:an hour ago

@turbinenreiter yup should be

limor says:an hour ago

we show up as a disk

pt says:an hour ago

if you miss the video it will be up after the chat too -

tannewt says:an hour ago

thanks @Carol Willing! Your help is welcome!

limor says:an hour ago

and your code lives on the board

turbinenreiter says:an hour ago

then you got mail

Carol Willing says:an hour ago

Thanks @tannewt

limor says:an hour ago

edit with any text editor

winkininkler says:an hour ago

watching on youtube

aalves says:an hour ago

I think the code on the board is really cool

todbot says:an hour ago

emacs ftw

limor says:an hour ago

another neat thing

limor says:an hour ago

compoosite usb -> mass storage + USB CDC

tannewt says:an hour ago

@aalves @pt called it dropbox for hardware code :-)

tdicola says:an hour ago

but you totally can use a python IDE and get syntax highlighting, etc. if you want (it just won't know about micropython/circuitpython library intellisense)

tannewt says:an hour ago

its really mind blowing when you move computers and your code goes with you

Carol Willing says:an hour ago

Nice to see Mu being used too.

turbinenreiter says:an hour ago

I've got a Neopixel ring on a ESP8266 that I can control from the command line. I type 'blink make' and it will turn green when the build is done :)

todbot says:an hour ago

the acting like a MSD is sorta like what mbed does, but without the cloud compiler complication

Peter Berson says:an hour ago

You need the new board to run Circuit Python on the Circuit Playground correct

pt says:an hour ago

the other cool thing is there are tons of videos and guides that @tdicola did on micropython, so there are projects and resources as we work on circuit python - https://learn.adafruit.com/users/tdicola

turbinenreiter says:an hour ago

also done in micropython

tdicola says:an hour ago

yep the new circuit playground with SAMD21 processor is required, the current atmega32u4 circuit playground isn't powerful enough for python unfortunately

pt says:an hour ago

@Sophi Kravitz we can hit the spreadsheet in a min or so and start answering q's - sound ok?

tdicola says:an hour ago

but you can load something called firmata on the atmega32u4 circuit playground and control it from python on your computer. i have a little guide here :) https://learn.adafruit.com/circuit-playground-firmata/overview

Carol Willing says:an hour ago

@pt link to spreadsheet

tannewt says:an hour ago

I can stay past the half hour too

pt says:an hour ago

https://docs.google.com/spreadsheets/d/1hLJhOunlm62QfmURkpL0BDvyx7e6fGyU9Ie_0JOh06M/edit#gid=0

Peter Berson says:an hour ago

When is the new board going to be available? Just received the current board today and really excited to start playing with it. But very interested in the next version

Carol Willing says:an hour ago

Thx

pt says:an hour ago

@Peter Berson likely in a couple months, but it's possible to hack away now with FEATHER m0 for example

todbot says:an hour ago

sweet demo

Carol Willing says:an hour ago

If it works, it's good Python code ;-)

tdicola says:an hour ago

nice thing is you can experiment until you get things working. if you make a mistake python has great error messages and exceptions

Arsenijs says:an hour ago

Damn, I unexpectedly have to go now. Hope we get the transcripts later, as usual - would be interested to hear the answers to questions people asked! See you!

todbot says:an hour ago

I like the method completion in the REPL. super helpful for beginners

tdicola says:an hour ago

very difficult (but not impossible) to completely 'crash' the board :)

Carol Willing says:an hour ago

Tab completion.

turbinenreiter says:an hour ago

@tdicola I can you tell you soooooo many ways to crash the board :)

Carol Willing says:an hour ago

Wow code loads quickly

pt says:an hour ago

ok questions! "Any intent to use ESP32 for future CircuitPython powered boards?"

tdicola says:an hour ago

haha excellent :)

todbot says:an hour ago

"so you're saying it's like a BASIC Stamp?" :-)

limor says:an hour ago

yeah!

pt says:an hour ago

yep! pycom is working with damien (and adafruit) for MIT licensed port of esp32

Peter Berson says:an hour ago

It's all about debugging in real time that is why Python is so cool

limor says:an hour ago

esp32 is great, pycom has decided to contribute their code

pt says:an hour ago

"Arduino config shows -DCRYSTALLESS; that's awesome, I love crystallless USB. Any timing issues when not plugged into USB?"

limor says:an hour ago

so there is more esp32 stuff coming :)

Kevin says:an hour ago

awesome :)

Liam Kennedy says:an hour ago

Ima liking what I am seeing

limor says:an hour ago

so the samd proc has the ability to sync with the USB SOF pulse

limor says:an hour ago

there is trimming info in the nvram so you can tune it - never had an issue

pt says:an hour ago

next q "How's the relationship with the MicroPython team and PyCom? Understand the desire to fork but similar implementation are better for the community..."

tannewt says:44 minutes ago

@todbot I'm looking at the timing when off USB. I'm doing PWMOut now and getting 971.4hz for a 1khz signal off USB and 1khz on USB

limor says:44 minutes ago

they are working together now! MIT license FTW

todbot says:44 minutes ago

okay, cool. I also have not had issues so far, on SAMD11, but I was curious your experience

pt says:44 minutes ago

and here's a link! https://forum.pycom.io/topic/550/pycom-and-damien-george-join-forces-for-the-esp32

limor says:44 minutes ago

pycom and damein will keep on the esp32 port, expect more hardware soon

pt says:44 minutes ago

"Is there going to be a 10DOF FeatherWing? There are currently micropython-libs for different IMUs and Barometers i.e. a BMX055/BME280 combination would be awesome. I designed one myself (in various versions), but SMD soldering on an electric stove gets really annoying when you need more than one or two ... ."

turbinenreiter says:43 minutes ago

thats me! need for rockets.

todbot says:43 minutes ago

@tannewt, ahh interesting.... that's a pretty big drift

limor says:43 minutes ago

for DoF featherwing we will likely go with NXP 2-chip solution because BNO055 n friends can be weirdnesses on come chips

tannewt says:an hour ago

@todbot I'm looking at the timing when off USB. I'm doing PWMOut now and getting 971.4hz for a 1khz signal off USB and 1khz on USB

pt says:an hour ago

"How good is CircuitPython for graphics? Can you write a computer game in it? Are there any plans to go in that direction and make it easier? Things like menus, tile maps, sprites, sounds?"

tannewt says:an hour ago

@todbot I think I'll save the FINE tuning value from when its on USB and load it when its not

tdicola says:an hour ago

BNO055 has i2c clock stretching, it can be painful to use :/

limor says:an hour ago

you could have a TVOut from a pin and drive a tv

pt says:an hour ago

ok last questions from the spreadsheeet ""How complicated is it to switch a board from using C or arduino to CircuitPython (if the board is already suported)

limor says:an hour ago

with some C helper funcs - could make some simple games like pong, snake, etc

limor says:an hour ago

its super easy

Carol Willing says:an hour ago

turtle too

limor says:an hour ago

the circuit python boards will have a dual bootloader

tdicola says:an hour ago

it's still early days for graphics support, there's a need for a good C library that does fast graphics--like the equivalent of pygame but for micropython

limor says:an hour ago

boots both BOSSA and mass storage

tdicola says:an hour ago

so right now not the best but check back in a few months and i bet there will be more movement on graphics

limor says:an hour ago

you can update firmware by dragging a file

pt says:an hour ago

@tdicola and @tannewt get ready :)

josh king says:an hour ago

Will you guys or anyone you know be adding an android app to use the web repl for MicroPython on the CircuitPython platform?

todbot says:an hour ago

BOSSA and MSD bootloader cool, Arduino uses BOSSA. Can't wait to see MSD bootloader, wonder if it'll work on SAMD11

tdicola says:an hour ago

i don't know of an app for web repl but you can use it in a mobile browser

aalves says:an hour ago

That's awsome, makes it super flexibe

limor says:an hour ago

8 k flash required

tdicola says:an hour ago

however keep your eyes on the bluefruit m0 boards, we want to get BLE REPL working with our apps

an hour ago

hey everyone, before we wrap up, put your email address in the sheet https://docs.google.com/spreadsheets/d/1hLJhOunlm62QfmURkpL0BDvyx7e6fGyU9Ie_0JOh06M/edit#gid=0 so we can contact the board winners

Carol Willing says:an hour ago

Nice @tdicola

josh king says:an hour ago

Thanks @tdicola - the mobile browser version leaves much to be desired currently. I feel an app frontend is a huge missed opportunity! :)

todbot says:an hour ago

cool thx

tdicola says:an hour ago

oh yeah i agree it's barebones :)

tdicola says:an hour ago

good project for someone familiar with web dev though, the web repl just uses web sockets to talk to web repl. so a good JS dev could probably make a nicer interface

tannewt says:an hour ago

how are we choosing board winners?

pt says:an hour ago

ok 2 more mins for @limor we have to get back to work :)

todbot says:an hour ago

Android OTG embedded Python programming!

an hour ago

me, you, Limor, pt and tony will do it after the chat

tannewt says:an hour ago

kk

Carol Willing says:an hour ago

Cool

Carol Willing says:an hour ago

Is the gemma available now?

Matthew Trentini says:an hour ago

Any chance to backport to the ESP8266 port? I'm using the Feather and Feather Huzzah and Micropython is great on them but a little immature...

Carol Willing says:an hour ago

Would be good for FabLab workshops

josh king says:an hour ago

@limor - I'm taking python at MITx right now on Edx - and it's brutal! Did you go through it? :)

pt says:an hour ago

ok we are out! but ya'll can hang out :)

Carol Willing says:an hour ago

Excellent.

todbot says:an hour ago

@Matthew Trentini: backport already available https://github.com/adafruit/circuitpython/releases/tag/0.8.0

Peter Berson says:an hour ago

Is the Beta Closed?

aalves says:an hour ago

Bye, thanks

Carol Willing says:an hour ago

Any chance in time for pycon?

winkininkler says:an hour ago

Thank you!!

tdicola says:an hour ago

nope it's open, check out https://blog.adafruit.com/2017/01/09/welcome-to-the-adafruit-circuitpython-beta/

Peter Berson says:an hour ago

Thank you

Carol Willing says:an hour ago

Tony's stuff is amazing.

an hour ago

Thank you !!

tdicola says:an hour ago

you just need a samd21 board like a feather m0 to try it out

maclean.at says:an hour ago

Great stuff!

tdicola says:an hour ago

oh wow thanks :)

Carol Willing says:an hour ago

lol

Matthew Trentini says:an hour ago

Thanks @todbot! I'll check it out.

limor says:an hour ago

thanks forlks! we're done vidoing

todbot says:an hour ago

haha love the flag. thanks @limor & @pt

pt says:an hour ago

we

Carol Willing says:an hour ago

Thanks. This is going to be great for teaching.

winkininkler says:an hour ago

Take care!

winkininkler says:an hour ago

I can't wait to actually start using one.

Peter Berson says:an hour ago

So Circuit python will runn today on the Huzzah board is you get the beta it seems like?

Radomir Dopieralski says:an hour ago

yes, I have it running on the Huzzah

tdicola says:an hour ago

yep you can load it on the ESP8266 too

Matthew Trentini says:an hour ago

Awesome, thanks guys :)

Radomir Dopieralski says:an hour ago

it also runs on the M0 feathers

Carol Willing says:an hour ago

Hi @Radomir Dopieralski

josh king says:an hour ago

As someone who's really passionate about python and has completed several adafruit tutorials with microcontrollers and micropython, this couldn't have come at a better time for me

Peter Berson says:an hour ago

Cool need to get me a Huzzah

Radomir Dopieralski says:an hour ago

and on the arduino zero

aalves says:an hour ago

yeah I was a bit sceptical of this whole circuit python stuff, you're starting to changing my mind

Radomir Dopieralski says:an hour ago

hi Carol

tdicola says:an hour ago

SAMD21 has a few differences like it can act like a USB mass stroage drive, but it doesn't have wifi and has a bit less memory and space

tdicola says:an hour ago

compared to ESP8266

josh king says:an hour ago

@tdicola - you were my inspiration to write my first micropython guide for esp8266! If anyone wants to get started in a SUPER easy way that holds your hand, check it out here: http://www.instructables.com/id/The-Super-Easy-Micropython-ESP8266-Guide-No-Guessw/

tannewt says:an hour ago

I'm still around if people have questions

turbinenreiter says:an hour ago

Yes: SD card on the Adalogger. Possible?

tdicola says:an hour ago

oh that's too cool josh king! awesome!

pt says:44 minutes ago

@josh king +1 yay!

tannewt says:44 minutes ago

@turbinenreiter I got block reading and writing done but was waiting on damien to do some FS stuff

Peter Berson says:44 minutes ago

@tdicola What do you suggest to learn Circuit/Micro python for a board ESP8266 ?

tannewt says:44 minutes ago

he got it in today so I'll look next week!

Radomir Dopieralski says:44 minutes ago

@turbinenreiter sd card is already supported in micropython in pure python

turbinenreiter says:44 minutes ago

Nice

Matthew Trentini says:43 minutes ago

Is there a list of differences between Micropython and Circuit Python?

Radomir Dopieralski says:43 minutes ago

should work on circuitpython with minimal changes

tdicola says:43 minutes ago

oh check out the guides here http://learn.adafruit.com/category/micropython just be aware some are for micropython and some are for both micropython and circuitpython. you might start with micropython to follow the early guides, then check out circuit python when you get the hang of it

tannewt says:43 minutes ago

damien's new stuff allows for multiple FSes at once :-)

todbot says:43 minutes ago

nice, @airsoftp119

tdicola says:43 minutes ago

the guides say at the top if they work for both or just micropython right now

todbot says:43 minutes ago

ooops, I mean, @josh kane

tdicola says:43 minutes ago

working on getting them all to show both :)

tannewt says:42 minutes ago

@Radomir Dopieralski I ported it to the SPI Device library and tweaked it a bit

tannewt says:42 minutes ago

@Matthew Trentini https://github.com/adafruit/circuitpython/blob/master/README.md#differences-from-micropython

tdicola says:42 minutes ago

and in general you can start learning python on your desktop computer with python and any good python learning guide (i like hitchhiker's guide to python) - micropython/circuitpython has the same core python syntax

Carol Willing says:42 minutes ago

For those looking for a a quick dive into Python, this is a good resource: https://github.com/jakevdp/WhirlwindTourOfPython fyi @tdicola

josh king says:42 minutes ago

I don't want to gush too much, just want Phil, Ladyada and Tony Dicola especially to know that you took the mystery out of these processes for me, and helped me discover a lifelong passion. I actually feel like this is what I'm supposed to be doing with my life, and I totally owe much of that to your work and passion. Thank you from the bottom of my heart.

tdicola says:41 minutes ago

oh nice!

tdicola says:41 minutes ago

wow too kind josh king! :)

josh king says:40 minutes ago

<3! That is all

pt says:40 minutes ago

thanks @josh king this is a really cool community we are building together, big THANKS to @Sophi Kravitz and everyone at hackaday

tannewt says:40 minutes ago

@Matthew Trentini also @tdicola's video:

pt says:40 minutes ago

ok time to make electronics, see ya'll soon!

josh king says:39 minutes ago

I'm out too! SEE YA! :)

Not sure if I entered the contest appropraitely but that doesn't matter much, just happy to hang out. Cheers!

Carol Willing says:39 minutes ago

Thanks @Sophi Kravitz and the Hackaday crew.

aalves says:39 minutes ago

Thanks all

Carol Willing says:39 minutes ago

Bye all.

39 minutes ago

just need everyone's email address who entered!

39 minutes ago

here's the link again: https://docs.google.com/spreadsheets/d/1hLJhOunlm62QfmURkpL0BDvyx7e6fGyU9Ie_0JOh06M/edit#gid=0

39 minutes ago

thanks!

turbinenreiter says:37 minutes ago

I got a more technical question.nativeio.SPI has write(buf). When I need to write just a specific byte, I take an empty bytearray of the right length and set the byte in the right position. But to not overwrite any settings I don't want to change I actually have to do a read_into to populate the buf and then change only the one byte I need there.

turbinenreiter says:37 minutes ago

This seems a little more elaborate than it should be.

turbinenreiter says:37 minutes ago

why not write_to_mem(byte, address)

turbinenreiter says:36 minutes ago

That's what I use on the MicroPython port (and what I ended up implementing in Python based on read_into and write)

tannewt says:36 minutes ago

@turbinenreiter readinto and write have start and end now that act like you slice the bytearray

winkininkler says:35 minutes ago

I am off, too. @Sophie Kravitz, nmalatin@caldwellschools.com. I am not even sure if I entered, but what the heck. Thanks!!

turbinenreiter says:35 minutes ago

so write(buf, start, end)?

35 minutes ago

haha, thanks for coming everyone!

Ryder Sadlovsky says:35 minutes ago

@Sophi Kravitz how will winners be announced?

35 minutes ago

Next week we're going to be talking with @Sprite_tm about ESP32

Neon22

Discussions