POPULARITY
Join Scott as he goes over a new optimization of the CP VM's garbage collection. He'll also answer any questions folks have. Visit the Adafruit shop online - http://www.adafruit.com Thanks to dcd for timecodes 0:00 getting started 0:47 hello everyone 1:24 intro to the Adafruit Metro rp2350 microprocess 5:00 Future plans while Scott is out/part time 5:59 Fruit Jam OS - ( capture video recording ... ) 8:47 with audio - recording that shows a couple of bugs ( 128 mS gaps triggered by garbage collection ) 11:00 Audio buffer with DMA through PSRAM which was too slow ( moved to SRAM ) 15:00 Bitmaps are not DMA'ed, but are still allocated outside the Python VM 17:00 Description of GC process 18:30 Mark-and-sweep in MicroPython and CircuitPython 20:28 Changing allocation to identify if there are allocations that don't containing pointers (for GC) 21:15 Bitmap.c - 22:36 gc.c gc_mark_+subtree 23:22 micropython split heap 25:49 Shared-bindings / displayio / Bitmap.C - mp_obj_malloc() vs. m_malloc() 30:49 misc.h allocations 32:43 dive into malloc.c and gc.c 44:00 continuing debugging with gdb 49:00 perhaps renaming the function will clarify things 53:22 gc_realloc() 56:17 if block is moved, need to copy the state 1:06:00 How do these improvements apply to micropython 1:09:10 Assertion failure in gc.c 1:13:51 Allocation/Debugging tools 1:28:42 handling re-alloc 1:31:55 consider TLSF tradeoffs 2:01:09 will be pushing the code to the leaf allocation branch 2:06:39 wrap up - should be here next week ----------------------------------------- LIVE CHAT IS HERE! http://adafru.it/discord Subscribe to Adafruit on YouTube: http://adafru.it/subscribe New tutorials on the Adafruit Learning System: http://learn.adafruit.com/ -----------------------------------------
For this week's EYE ON NPI, we'll Hazard a guess that you'll be excited to see the Raspberry Pi RP2350 chip available for purchase at Digi-Key for integration into your next design. We've been working with this chip for a few months and it's quickly becoming our favorite Arm Cortex chip, with fun peripherals and a well-supported toolchain. It also is one of the first mass-produced RISC-V chips: one that you can buy and start using for trying out RISC-V development without the 'risc' of worrying you may have picked the wrong core. Available in two chip sizes and with a boost in performance and peripherals, the RP2350 (https://www.digikey.com/short/mzpjhptm) represents a big upgrade to the RP2040 (https://www.digikey.com/en/products/detail/raspberry-pi/SC0914-13/14306010) that you've seen take over the microcontroller world over the last 4 years. Raspberry Pi is famous for their single board computers (https://www.digikey.com/en/products/filter/single-board-computers-sbcs/933) so much so that they created a full market for sub-$100 all-in-one PCs. The big disruption we feel they brought to the market was the creation of a hackable and open-source ecosystem with good main-line OS and driver support. With well-written documentation and up-to-date Linux software, purchasing a Pi meant you got to join in with a community that was having fun, not struggling with compiling out-of-tree kernel modules and closed-source firmware. So in 2021 when they announced the RP2040, folks were interested: could a SBC maker design low power silicon? Turns out, yes! The RP2040 was a fun dual-core 133 MHz Cortex-M0+ processor, with 264K of SRAM, with a satisfying collection of peripherals: USB, ADC, UART/SPI/I2C, PWM, DMA and timers plus the nifty PIO state machine (https://www.raspberrypi.com/news/what-is-pio/). The killer feature, though, was the price: at $1 a chip, and tons of availability with an on-going chip shortage, the RP2040 won our hearts and soldering stations! Three years later, Raspberry Pi is back with a sequel: The RP2350A (https://www.digikey.com/en/products/filter/microcontrollers/685?s=N4IgTCBcDaIE4AcwGYCsAGAgiAugXyA) and RP2350B (https://www.digikey.com/en/products/filter/microcontrollers/685?s=N4IgTCBcDaIE4AcwGYCsAGAQiAugXyA) two variants of an upgrade chip that keeps what was great about the '2040 but with some boosts. First up, the core was upgraded from dual Cortex-M0's to the M33: this means you get an FPU and better low-power performance, plus TrustZone security. The core is spec'd for 150MHz but we've overclocked it to 264MHz without too much complaint. You also have the option to get dual RISC-V cores (https://riscv.org/) instead. SRAM was also bumped: from 264K to 520KB. This is great for running interpreted languages like MicroPython (https://micropython.org/) or CircuitPython (https://circuitpython.org/). Like the original, the RP2350 does not have any built in FLASH memory. Instead, you will need to wire it to a QSPI flash memory chip (https://www.digikey.com/short/80t4zt5t). This way you can pick from 1 MBytes to 16 MBytes whatever your code size needs. This new chip adds the ability to wire in PSRAM (https://www.digikey.com/short/d8033bfw) to the same QSPI bus plus an extra chip select. This is not going to be nearly as fast as on-chip SRAM, but it's great when you want large working memory that the chip will manage for you: by configuring it in the CMakefile, you 'magically' get a huge area you can malloc. Another improvement is in the number of PIO blocks: the original had 2, the RP2350 has 3. The two biggest new features we found are the new HSTX peripheral and the 80-QFN RP2350B (https://www.digikey.com/en/products/filter/microcontrollers/685?s=N4IgTCBcDaIE4AcwGYCsAGAQiAugXyA) variant. HSTX stands for High Speed Transmission and its a high-speed peripheral that can drive 8 output lines - note that it's output only! There's a few possible use cases, but the core reasoning is that this lets you control a DVI display directly from the chip using just the DMA and internal memory without requiring overclocking, PIO, or an extra core. Note that the built in SRAM limits the size of the display if you want to have a video buffer: you can do 320x240 @16bpp or 640x480 @8bpp but, still! Second, if you found the original QFN-60 a bit constraining in terms of GPIO, the QFN-80 'B' version has 20 extra GPIO available for just 10 cents more. If you've been doing grabby-hands in hopes of getting a reel of RP2350 chips into your next design: today is your lucky day! Digi-Key has these chips in stock RIGHT NOW for immediate shipment. You can get a reel of either A or B type chips, with cut tape individual components coming shortly. Both types are great, but recently we've been having a lot of fun with the roomy B type (https://www.digikey.com/short/mzpjhptm), with the extra GPIO. Order today and you can start integrating the trendiest new silicon into your new PCB assembly by tomorrow afternoon.
In this episode, Joel and Aaron discuss the struggles of learning new technology on a late-night side project. They share tips for handling frustration and managing expectations.(00:00) - Late-night MicroPython struggles and revelations (02:15) - Overcoming complex hardware and language hurdles (05:15) - Balancing side projects with realistic expectations (10:30) - Silly bit Don't be a stranger. Check out the Mastering Laravel community.
Elecia and Chris talk with each other about the state of Chris' mind, what makes an embedded developer stand out, “LEGO block” based design, unit tests, and astronomy. Whew! Elecia was recently on the Changelog podcast, talking about the world of embedded systems. Chris has been working with Micropython (we talked with Damien George about Micropython on episode 456). He's using a Pyboard to start, but is looking to move on to this board from Sparkfun. Wikipedia has a nice reference on what the pulse-per-second signal is all about. Elecia talked about her experience using CFFI to drive unit tests. She also talked about some facts from Information is Beautiful. Chris' telescope is the ZWO Seestar S50. There's also a smaller Seestar S30 now which has a wider field-of-view. Title reference (Chris and Elecia both thoroughly enjoyed The Good Place, the TV show this is taken from.) Transcript Nordic Semiconductor has been the driving force for Bluetooth Low Energy MCUs and wireless SoCs since the early 2010s, and they offer solutions for low-power Wi-Fi and global Cellular IoT as well. If you plan on developing robust and battery-operated applications, check out their hardware, software, tools, and services. On academy.nordicsemi.com, you'll find Bluetooth, Wi-Fi, and cellular IoT courses, and the Nordic DevZone community covers technical questions: devzone.nordicsemi.com. Oh, and don't forget to enter Nordic Semiconductor's giveaway contest! Just fill out the entrance form, and you're in the running. Good luck! Here's one of the astrophotos Chris has taken: The Horsehead and Flame nebulae in Orion taken from a Seestar S50
In this episode of Inspiring Computing, I chat with Filip Rak, the team leader at the Czech Aerospace Research Center. Filip tells me about his journey from engineering to leading the development of attitude and orbit control systems for satellites. We talk about the technical challenges and triumphs, like launching satellites and using MATLAB and MicroPython. Filip also shares how they took a selfie from space at their facility and how this achievement inspired future projects. He also talks about the complexity of late attitude control, using cube sats with limited resources, and their agile risk tolerance approach. The conversation highlights how advanced computing is used in aerospace and emphasizes the importance of balancing innovation with practical constraints.Support the showSubscribe to mailing list here.
Andy drops some Microsoft Windows and 365 knowledge as we discuss the details on how we get to secure by default in our Windows and cloud environments. This week: The USB Army Knife that won't break the budget, I don't want to say EDR is useless (but there I said it), Paul's list of excellent hacking tips, FortiJump - an RCE that took a while to become public, do malware care if it's on a hypervisor?, MicroPython for fun and not for hacking?, an unspecified vulnerability, can you exploit speculative execution bugs?, scanning the Internet and creating a botnet by accident. Visit https://www.securityweekly.com/psw for all the latest episodes! Show Notes: https://securityweekly.com/psw-848
This week: The USB Army Knife that won't break the budget, I don't want to say EDR is useless (but there I said it), Paul's list of excellent hacking tips, FortiJump - an RCE that took a while to become public, do malware care if it's on a hypervisor?, MicroPython for fun and not for hacking?, an unspecified vulnerability, can you exploit speculative execution bugs?, scanning the Internet and creating a botnet by accident. Show Notes: https://securityweekly.com/psw-848
Andy drops some Microsoft Windows and 365 knowledge as we discuss the details on how we get to secure by default in our Windows and cloud environments. This week: The USB Army Knife that won't break the budget, I don't want to say EDR is useless (but there I said it), Paul's list of excellent hacking tips, FortiJump - an RCE that took a while to become public, do malware care if it's on a hypervisor?, MicroPython for fun and not for hacking?, an unspecified vulnerability, can you exploit speculative execution bugs?, scanning the Internet and creating a botnet by accident. Visit https://www.securityweekly.com/psw for all the latest episodes! Show Notes: https://securityweekly.com/psw-848
This week: The USB Army Knife that won't break the budget, I don't want to say EDR is useless (but there I said it), Paul's list of excellent hacking tips, FortiJump - an RCE that took a while to become public, do malware care if it's on a hypervisor?, MicroPython for fun and not for hacking?, an unspecified vulnerability, can you exploit speculative execution bugs?, scanning the Internet and creating a botnet by accident. Show Notes: https://securityweekly.com/psw-848
Conosciamo Salvatore Sanfilippo, creatore di Redis e sviluppatore open source. Entriamo con Salvatore nel mondo dello sviluppo di piccoli device embedded con MicroPython e scopriamo il suo nuovo progetto FreakWAN. Riferimenti MicroPython FreakWAN BBC Micro
Chris and Elecia talk about their current adventures in conference talks, play dates, and skunks. Elecia's talks are available on YouTube: Creating Chaos and Hard Faults: An introduction to hard fault handlings, stack overflows, and debugging hard bugs Introduction to Embedded Systems (O'Reilly Expert Webinar): An introductions to… well, embedded systems These are both advertising for the 2nd edition of Elecia's book, Making Embedded Systems: Design Patterns for Great Software. You can also find it on O'Reilly's Learning System and probably read it with your 30 Day Trial (here). Chris got a handheld game console, the Playdate (play.date), and has been writing a game for it. There is an interesting looking MicroPython port for it. We also mentioned Tiny Tapeout Demoscene which sounds pretty neat. And KiCanvas where you can see KiCAD schematics without loading KiCAD. Our newsletter has been off but will be back to normal next week. The RSS feed is probably not fun to look at but Elecia's Rebloginator shows some Python tools for parsing feeds. Neither the dog nor the skunk seem contrite. Transcript
Talk Python To Me - Python conversations for passionate developers
Python is one of the most popular languages of the current era. It dominates data science, it an incredible choice for web development, and its many people's first language. But it's not super great on front-end programing, is it? Frameworks like React, Vue and other JavaScript frameworks rule the browser and few other languages even get a chance to play there. But with pyscript, which I've covered several times on this show, we have the possibility of Python on the front end. Yet it's not really a front end framework, just a runtime in the browser. That's why I'm excited to have Ken Kinder on the podcast to talk about his project PuePy, a reactive frontend framework in Python. Episode sponsors Sentry Error Monitoring, Code TALKPYTHON Code Comments Talk Python Courses Links from the show Michael's Code in a Castle Course: talkpython.fm/castle Ken Kinder: @bouncing@twit.social PuePy: puepy.dev PuePy Docs: docs.puepy.dev PuePy on Github: github.com pyscript: pyscript.net VueJS: vuejs.org Hello World example: docs.puepy.dev Tutorial: docs.puepy.dev Tutorial running at pyscript.com: pyscript.com Micropython: micropython.org Pyodide: pyodide.org PgQueuer: github.com Writerside: jetbrains.com Michael's PWA pyscript app: github.com Michael's demo of a PWA pyscript app: youtube.com Python iOS Web App with pyscript and offline PWAs video: youtube.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy
Kwabena Agyeman joined Chris and Elecia to talk about optimization, cameras, machine learning, and vision systems. Kwabena is the head of OpenMV (openmv.io), an open source and open hardware system that runs machine learning algorithms on vision data. It uses MicroPython as a development environment so getting started is easy. Their github repositories are under github.com/openmv. You can find some of the SIMD details we talked about on the show: 150% faster: openmv/src/omv/imlib/binary.c 1000% faster: openmv/src/omv/imlib/filter.c Double Pumping: openmv/src/omv/modules/py_tv.c Kwabena has been creating a spreadsheet of different algorithms in camera frames per second (FPS) for Arm processors: Performance Benchmarks - Google Sheets. As time moves on, it will grow. Note: this is a link on the OpenMV website under About. When M55 stuff hits the market expect 4-8x speed gains. The OpenMV YouTube channel is also a good place to get more information about the system (and vision algorithms). Kwabena spoke with us about (the beginnings of) OpenMV on Embedded 212: You Are in Seaworld. Transcript Elecia is giving a free talk for O'Reilly to advertise her Making Embedded Systems, 2nd Edition book. The talk will be an introduction to embedded systems, geared towards software engineers who are suddenly holding a device and want to program it. The talk is May 23, 2024 at 9:00 AM PDT. Sign up here. A video will be available afterward for folks who sign up.
This week's EYE ON NPI is super phat not unlike a pair of ultra wide JNCOs (https://jnco.com/collections/womens-1/products/the-camilla-jeans-27-vintage-houndstooth) it's the Laird Sera NX040 Ultra-Wide Band and Bluetooth Combo Module (https://www.digikey.com/en/product-highlight/l/laird-embedded-wireless-solutions/sera-nx040-ultra-wide-band-and-bluetooth-combo-module), a compact solution that combines the best of NXP UWB and Nordic BTLE into a single easy-to-use module that is ready for instant integration into your location-based identification products or projects. We often get folks asking how they can do indoor location projects: where an object is tracked in a 2D or 3D space, with high precision. For outdoor projects, most people use GPS/GNSS (https://en.wikipedia.org/wiki/Satellite_navigation) which can give 10 meter accuracy anywhere in the world. Or, sometimes people use cell tower triangulation (https://blues.com/blog/use-cell-tower-and-wi-fi-triangulation-to-achieve-pin-point-locations-without-gps/) to give rough estimates of location world-wide. However, both of these require you to be outside, with either network connectivity or a GNSS fix - and like we mentioned, you can't get better than 10 meter accuracy without very expensive RTK modules (https://blog.adafruit.com/?s=eye+on+npi+rtk). Indoors, sometimes its possible to use WiFi time-of-flight, or BTLE ToF / AoA (https://blog.adafruit.com/2021/08/19/eye-on-npi-xplr-aoa-direction-finding-and-indoor-positioning-explorer-kit-eyeonnpi-digikey-ublox-digikey-adafruit/) More interesting, we can also use multiple stationary transmitters to determine the 3D location of a mobile device. Instead of looking for one pulse, we encode the transmitter ID into the pulses, and then can correlate each received pulse to the fixed 3D location of the station. As long as we have 4 stations, we can solve for XYZ and yes that's a lot of stations but you can get 10cm accuracy, which blows away BTLE and WiFi RSSI or ToF methods. Note that doing the triangulation on UWB pings requires a ton of math which is why having a ready-to-go module is great because NXP and Laird will provide example code to get you started. While most folks think of UWB as a 3D locator, NXP promotes some other use cases - most notably peer-to-peer payments (https://www.nxp.com/company/about-nxp/nxp-collaborates-with-ing-and-samsung-to-pilot-industrys-first-uwb-based-peer-to-peer-payment-application:NW-NXP-COLLABORATES-WITH-ING-AND-SAMSUNG-TO) and keyless car access. The key-less entry proffer is the most timely as there's been a spate of car theft rings that use relay attacks to amplify the signal from a key fob (https://www.nytimes.com/2015/04/16/style/keeping-your-car-safe-from-electronic-thieves.html) if the car is parked close to the house and the keys are kept near the door. Thanks to UWB now being included in iPhones and in the iOS API,you can likely have customers use their iPhones to directly interact with the Sera NX040. To save you time and integration costs, the Sera NX040 (https://www.digikey.com/short/hmzt8whq) include the NXP UWB chipset and all supporting circuitry, plus a Nordic nRF52833 (https://www.digikey.com/short/jj9r27p2) which is a Cortex M4 with all the peripherals, plus the best Bluetooth LE radio on the market. Nordic's chips are especially good at low-power use-cases so battery-powered designs will benefit from this combo. The NXP SR040 is wired to the nRF via SPI - you'll use the NXP SDK for that, which you need to contact NXP for. Or you can use the Laird MicroPython build which comes with some ready-to-go examples. The Seras are available with either built in tuned antenna (https://www.digikey.com/short/hmzt8whq) or a external antenna connection - you'll need to pick up a NanoUWB antenna (https://www.digikey.com/short/1wq0t5r0) to match (https://www.digikey.com/short/ctw5m4t8). As you can expect for a device with two wireless components, proper layout is essential to get good performance from both the BLE side and the UWB side - check the Laird documentation on how to set up keep-outs and ground planes. Finally, if you want to get started you can always pick up the NX040 Eval Board (https://www.digikey.com/short/hhtqhwc9) which has SWD debug for programming the nRF, USB connection for MicroPython or Zephyr debugging, and a separate RP2040+MikroBus+Qwiic half that can be used for adding sensors or displays. Whew, this NPI was not just ultra-wide but ultra-long: we learned a lot while researching the Sera NX040 (https://www.youtube.com/watch?v=KWf9fcx26wg) and the modern uses of UWB! If you want to get in on this multi-purpose RF protocol, you're in luck because DigiKey has the Laird Sera NX040 UWB+BTLE Module (https://www.digikey.com/short/hmzt8whq) and accessories in stock right now for immediate shipment. Order today and they'll send you parts faster than an UWB pulse so you can get started with integration in nanoseconds.
Ralph Hempel spoke with us about the development of Lego Mindstorms from hacking the initial interface to running Debian Linux as well as programming Mindstorms in Python. Happy 25th birthday to Lego Mindstorms! Pybricks is a MicroPython based coding environment that works across all Lego PoweredUp hubs and on the latest Mindstorms elements. The creators are David Lechner and Laurens Valk. Ralph was the first person to boot a full Debian Linux distro on the brick, see EV3Dev, a Debian Linux for Lego Mindstorms EV3. BrickLink was originally a site for third party resellers of new and used Lego sets and elements. The site was purchased by the Lego Group a few years ago. It's still a great place to buy individual parts - for example a 4 port PoweredUp hub to run the new PyBricks on :-) ReBrickable is a site dedicated to taking off-the-shelf Lego sets, and creating something new with the set. In particular see the MOCs Designed by LUCAMOCS, fantastic Technic vehicles as well as interesting designs for vehicle subsystems. Yoshihito ISOGAWA - YouTube is an absolute genius at coming up with practical applications of new LEGO Elements. Ralph recommends his books as “awesome to read”. LEGO uses 18 Cucumbers to build real Log House Ralph highly recommends Test Driven Development for Embedded C by James Grenning (who has been on the show: 270: Broccoli is Good Too, 109: Resurrection of Extreme Programming, and 30: Eventually Lightning Strikes). Origami Simulator and Elecia's origami generating python code on github Transcript Nordic Semiconductor empowers wireless innovation, by providing hardware, software, tools and services that allow developers to create the IoT products of tomorrow. Learn more about Nordic Semiconductor at nordicsemi.com, check out the DevAcademy at academy.nordicsemi.com and interact with the Nordic Devzone community at devzone.nordicsemi.com.
Talk Python To Me - Python conversations for passionate developers
One of the most exciting initiatives in the Python space these days is pyscript which enables Python running natively in your browser. With consistent support from the folks at Anaconda, this project has been making solid strides since its initial release. On this episode we catch up with Fabio Pliger and Nicholas Tollervey to see where they are with the pyscript project. Links from the show Guests and Host Links Nicholas Tollervey: @ntoll@mastodon.social Fabio Pliger: @b_smoke Michael Kennedy: @mkennedy@fosstodon.org pyscript: pyscript.net pyscript on Github: github.com Tic Tac Toe Example App: pyscriptapps.com PyperCard: github.com MicroPython: micropython.org pyscript core: pyscript.net Nich's PyScript gets Python anywhere there's a browser video: youtube.com HTMX: htmx.org Birth and Death of JavaScript: destroyallsoftware.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors PyCharm Sentry Error Tracing, Code TALKPYTHON Talk Python Training
Damien George spoke with us about developing with and for MicroPython while Elecia tries not to spill all the secrets about her client. To start at the beginning, you probably want to check out micropython.org. Wait, no, one step back. Before listening to the show, you probably should read the Wikipedia MicroPython entry because we kind of start in the middle in the show. You can find the code on github: github.com/micropython/micropython. The PyBoard can be found on store.micropython.org. It is out of stock but lead time trends show parts may be available soon(ish). For more about branes, Lie point symmetries and other physics fun stuff, check out Damien's list of papers on dpgeorge.net. Transcript
Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Python People Podcast Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too. Michael #1: Cython 3.0 Long in development, the new major release of the Python-to-C compiler sheds legacy Python support and readies Cython developers for big changes in Python. Cython 3 cleans up and modernizes Cython. Pure Python mode allows Python developers to use their existing Python linting and code analysis tools on Cython. Brian #2: Reading code : An important but seldom-discussed skill Eric Matthes A cool walk through of several techniques to read code Strategies Ignore function definitions And in the example, also ignore comments Simplify repetitive blocks Examples shows mentally lumping a bunch of print statements into “print message” Utilize IDE tools, like folding to hide functions your not looking at Also includes a note about writing readable code. Notes: People believe your function and variable names, they should be descriptive, and they should not be deceptive. Michael #3: Major new version of MicroPython: v1.20.0 via Matt Trentini >10 months, >1000 mainline commits from >100 contributors This release of MicroPython introduces a new lightweight package manager called mip. In the MicroPython runtime, core/built-in types have been compressed by only including in the C-level type struct as many slots for C function pointers as is needed for a given type → Any third-party C extensions will need to be updated to work with this change. Massive list of detailed changes. Brian #4: Advanced Python Tips for Development Scofield Idehen There's 15 in the article, here's a few 1 & 2. Use List Comprehensions and Generator Expressions. It's cool to see them side by side enumerate() is fun Embrace zip(). It's weird, but very useful. Utilize slots to Reduce Memory Usage Extras Brian: Hear the story behind the quote “I came for the language, but I stayed for the community.” and learn about fountain pens, tea, and a Murderbot, on this week‘s Python People. Michael: Search (LLM like) Talk Python: explore-talk-python-to-me.streamlit.app by Aguss Joke: You're full stack now Seriously, take the HTMX course :)
Martin Tan joins the show. He and Paul discuss Martin's new book, micro:bit Projects with Python and Single Board Computers: Building STEAM Projects with Code Club and Kids' Maker Groups. Martin's book at Apress: micro:bit Projects with Python and Single Board Computers Martin's book at Barnes & Noble 00:40 Martin's start with computers and electronics 02:25 micro:bit Projects with Python and Single Board Computers: Building STEAM Projects with Code Club and Kids' Maker Groups 04:06 What is a Code Club? 05:07 Whom is the book intended for? 6:07 How do you keep the kids engaged? 8:44 Scratch, MicroPython and Python curriculums 10:00 How do the kids collaborate? 12:02 Favorite story from running a Code Club 14:33 Which microcontroller?
This week, Linux Out Loud chats about alternative career paths. Welcome to episode 61 of Linux Out Loud. We fired up our mics, connected those headphones as we searched the community for themes to expound upon. We kept the banter friendly, the conversation somewhat on topic, and had fun doing it. 00:00:00 Introduction 00:00:52 Worlds Overview 00:15:04 Nate has a new job 00:24:10 Linode 00:24:52 Alternative Career Paths 00:41:57 Bitwarden 00:43:12 Using Pybricks at Worlds 00:50:30 Game of the Week 00:54:50 Nate going to SELF 00:55:36 Close Find the rest of the show notes at https://tuxdigital.com/podcasts/linux-out-loud/lol-61/ Our sponsor: - Linode - http://linode.com/tux - Bitwarden - http://bitwarden.com/tux Contact info Matt (Twitter @MattTDN (https://twitter.com/MattTDN)) Wendy (Mastodon @WendyDLN (https://mastodon.online/@WendyDLN)) Nate (Website CubicleNate.com (https://cubiclenate.com/))
This week marks the 10th anniversary of MicroPython, the project from which CircuitPython is derived. We've also been churning out lots of Raspberry Pi RP2040-based microcontroller boards - and maybe you'd like to also make your own designs based on the popular chip! Well you are in luck, there's tons of RP2040 chips and devboards available at Digi-Key. Let's look at some options for RP2040 integration and when you might want to pick one over the other. See the chosen part at Digi-Key at https://www.digikey.com/short/mvcnvtww
El artículo Robótica educativa #70 MicroPython es propiedad de Juegos Robótica. Qué es MicroPython y cómo puede ayudarnos a que nuestros alumnos pasen de bloques a código aprovechando Microbit o cualquier placa o kit. El artículo Robótica educativa #70 MicroPython es propiedad de Juegos Robótica.
Watch on YouTube About the show Sponsored by Influxdb Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too. Brian #1: Pydantic V2 Pre Release Terrence Dorsey & Samuel Colvin Alpha release available to everyone: pip install --pre -U "pydantic>=2.0a1" Headlines: pydantic-core - all validation logic rewritten in Rust and moved to separate package, pytest-core 5-50x faster separation will aid safety and maintainability Lots ready for experimentation BaseModel, Dataclasses, Serialization, … Much still under construction Docs, BaseSettings→ pydantic-settings, … Michael #2: microdot The impossibly small web framework for Python and MicroPython Microdot is a minimalistic Python web framework inspired by Flask, and designed to run on systems with limited resources such as microcontrollers. It runs on standard Python and on MicroPython. Support for async, websockets, tls, even ASGI servers. Less mem usage by a big margin. Brian #3: GitHub Actions Tools: watchgha, build and inspect, and pytest annotate failures watchgha Ned Batchelder Watch GH Actions progress on the command line build-and-inspect-python-package Hynek Test the build of wheels, check contents, lint README print sdist contents, wheel contents, and metadata pytest-github-actions-annotate-failures utgwkk Nice traceback annotations for pytest Michael #4: PEP 709 – Inlined comprehensions by Carl Meyer Comprehensions are currently compiled as nested functions, which provides isolation of the comprehension's iteration variable, but is inefficient at runtime. This PEP proposes to inline list, dictionary, and set comprehensions into the code where they are defined, and provide the expected isolation by pushing/popping clashing locals on the stack. This change makes comprehensions much faster: up to 2x faster for a microbenchmark of a comprehension alone. Extras Michael: Python Web Apps that Fly with CDNs Course Joke: Can't watch movies
This week, Linux Out Loud chats about past projects they miss. Welcome to episode 57 of Linux Out Loud. We fired up our mics, connected those headphones as we searched the community for themes to expound upon. We kept the banter friendly, the conversation somewhat on topic, and had fun doing it. 00:00:00 Introduction 00:00:31 Elitebook Failure 00:05:00 Atari VCS Review 00:11:35 Robotics Update 00:17:57 Projects Gone Bye 00:40:40 Framework Laptop 00:47:16 Cleaned PS3 00:51:53 New Build 00:58:46 Close Find the rest of the show notes at https://tuxdigital.com/podcasts/linux-out-loud/lol-57/ Our sponsor: - Linode - http://linode.com/tux - Bitwarden - http://bitwarden.com/tux Contact info Matt (Twitter @MattTDN (https://twitter.com/MattTDN)) Wendy (Mastodon @WendyDLN (https://mastodon.online/@WendyDLN)) Nate (Website CubicleNate.com (https://cubiclenate.com/))
This week, Linux Out Loud chats about out number-one tip for new users. Welcome to episode 56 of Linux Out Loud. We fired up our mics, connected those headphones as we searched the community for themes to expound upon. We kept the banter friendly, the conversation somewhat on topic, and had fun doing it. 00:00:00 Introduction 00:01:21 Button Making Party 00:08:33 Cubical Labs Improvement 00:15:50 Drive Time 00:18:02 Newbie Tips 00:35:27 Team Updates 00:40:50 Arch on Linux Saloon 00:44:44 Game of the Week 00:48:12 Close Find the rest of the show notes at https://tuxdigital.com/podcasts/linux-out-loud/lol-56/ Our sponsor: - Linode - http://linode.com/tux - Bitwarden - http://bitwarden.com/tux Contact info Matt (Twitter @MattTDN (https://twitter.com/MattTDN)) Wendy (Mastodon @WendyDLN (https://mastodon.online/@WendyDLN)) Nate (Website CubicleNate.com (https://cubiclenate.com/))
This week, Linux Out Loud chats about when is it time for older hardware support to go. Welcome to episode 55 of Linux Out Loud. We fired up our mics, connected those headphones as we searched the community for themes to expound upon. We kept the banter friendly, the conversation somewhat on topic, and had fun doing it. 00:00:00 Introduction 00:01:57 Nothing 00:02:38 Geek Crafting 00:06:59 Unresponsive Touchscreen 00:12:48 Kernel Cruft 00:29:11 Game of the Week 00:32:27 Pybrics Gyro Control 00:44:46 Adding New to Old 00:48:09 Close Find the rest of the show notes at https://tuxdigital.com/podcasts/linux-out-loud/lol-55/ Our sponsor: - Linode - http://linode.com/tux - Bitwarden - http://bitwarden.com/tux Contact info Matt (Twitter @MattTDN (https://twitter.com/MattTDN)) Wendy (Mastodon @WendyDLN (https://mastodon.online/@WendyDLN)) Nate (Website CubicleNate.com (https://cubiclenate.com/))
Temas tratados en este episodio: Episodio #174 Linux Connexion Distros no Debianitas Siguiente episodio: Hardware Raspberry Pi Pico Utilizando Thonny y MicroPython con la Pi Pico Wokwi, ¿un simulador libre para la Raspberry Pi Pico? Probando Megalodon, un cliente libre de Mastodon para tu Android ¿A veces los enlaces de Nitter te dan error? Cambio de batería del Thinkpad X260 Instalar Arch Linux con conexión Wifi Visita al colegio de Estrellas Compartidas Evento EsLibre en Zaragoza el 12 y 13 de mayo Recuerda que puedes contactar conmigo de las siguientes formas:
Tod shares some of his favorite talks from the recent Supercon conference in Pasadena, CA. Paul and Tod each share one thing they found interesting. Follow Tod on Mastodon: @todbot@mastodon.social Follow Paul on Mastodon: @prcutler@fosstodon.orgShow Notes0:00 Welcome to the Supersize Supercon episode3:17 The Supercon badge8:02 DIY Vacuum Tubes by Nick Pool10:31 Personal Electric Vehicles by Bradley Gawthrop13:00 Samy Kamkar's Random Walk Exploration15:45 How to Hang and Sell Your Blinky Goodness as Art byChris Combs18:15 Back in person19:40 Python in the browser22:00 Tod's PicoStepSeq
Talk Python To Me - Python conversations for passionate developers
No Python announcement of 2022 was met with more fanfare than pyscript. This project, announced at PyCon 2022, allows you to write Python files and run them in your browser in place of JavaScript or even with interactions between Python and JavaScript. There was just one catch: The runtime download was a 9MB WebAssembly file. That made its uses quite limited. On this episode, we dive into some news that might change that calculus. The MicroPython and PyScript folks have been teaming up to get PyScript running in the browser on MicroPython. Yes, that's the embedded chip Python. Here's the good news: MicroPython's WebAssembly is just 300k to download and loads in under 100ms. Now that could unlock some possibilities. We have Brett Cannon, Nicholas Tollervey, and Fabio Pliger on the show to discuss. YOUTUBE: id=ABVn6uMG1OI Links from the show Guests and Host Links Brett Cannon: @brettcannon@fosstodon.org Nicholas Tollervey: @ntoll@mastodon.social Fabio Pliger: @b_smoke Michael Kennedy: @mkennedy@fosstodon.org Web Assembly: developer.mozilla.org pyodide: pyodide.org micropython: micropython.org Picture of TFT ESP32 Board: pythonbytes.fm pyscript: pyscript.net Simon Willison's Post About micropython + pyscript: fedi.simonwillison.net WASI: github.com Watch this episode on YouTube: youtube.com Episode transcripts: talkpython.fm --- Stay in touch with us --- Subscribe to us on YouTube: youtube.com Follow Talk Python on Mastodon: talkpython Follow Michael on Mastodon: mkennedy Sponsors AWS Insiders Local Maximum Podcast AssemblyAI Talk Python Training
Tod and Paul share a few interesting things including virtual breadboards, Hey Github, and creating virtual synthesizers.00:00 Welcome00:26 MicroPython by Arduino Labs6:15 Home Assistant9:50 WithDiode.com and virtual breadboards14:09 Hey, Github17:40 Virtual Synthesizers - Turn Max patches into VST22:48 MastodonFor detailed show notes, transcripts, and to support the show, visit TheBootloader.net.
The focus of the new Ubuntu release, Gitea's surprising announcement, and Linux prepares to drop another architecture.
The focus of the new Ubuntu release, Gitea's surprising announcement, and Linux prepares to drop another architecture.
Jim Mussared, a maintainer of MicroPython, joins the show. He and Paul discuss how MicroPython started, collaborating with CircuitPython, being a maintainer, favorite uses of MicroPython, and more.This episode is brought to you by PCBWay. Make your designs a reality with ten boards starting at only $5!1:02 Welcome and Jim's start with electronics3:02 Damien George starting MicroPython3:50 MicroPython and CircuitPython5:32 Collaborating with CircuitPython6:10 MicroPython's Strengths6:45 What is it like to be a maintainer of an open source project?8:50 Balancing open source and professional work9:40 Favorite uses of MicroPython11:10 Performance improvements in MicroPython14:20 Where is MicroPython going next?16:20 Which microcontroller?
MEP EP#348: AVRDUDE All The Way DownNovember 5, 2022 - Extra Life Content for the stream API for Extralife Custom plugin that goes to a Duke Nukem Sound Board Trying to get it to play gifs Working with Open Broadcast Software now Live podcast Nov 22 in Houston Microchip woes? Microchip has got back to us about the firmware - no issues on their end Suggested using the command line interface Originally thought pullups on the reset line but they are not needed Tried them with no luck Jeep Prop Fan Recently talked about designing a PCM (Power Control Module) Essentially control all the none engine related functions in a car Need a new name since it's not for the Jeep nor uses the Parallax Propeller Raspberry pi pico Do we do Arduino style C or Micro Python? Micro Python will be cool to try out! PIO will be used for controlling reactionary lights Turn signals Headlights Solid State Relays are EXPENSIVE Mosfets for sure H-Bridge for bi-directional motors Combine with OCTOPROBER?
Working on hardware projects often has significant friction involved when compared to pure software. Brian Pugh enjoys tinkering with microcontrollers, but his "weekend projects" often took longer than a weekend to complete, so he created Belay. In this episode he explains how Belay simplifies the interactions involved in developing for MicroPython boards and how you can use it to speed up your own experimentation.
In this first episode, Paul and Tod each share a few things they found interesting. They discuss open source projects including tio and Belay, 3D printing, and a rock star's Python project.Follow the show on Twitter or visit The Bootloader for full show notes and transcripts. 00:23: Fullcontrol.xyz 02:11: tio 04:14: Belay 06:36: Rivers Cuomo 08:57: CircuitPython Camera Support 11:36: Bambu Labs X1 Carbon 3D printer reviewThe Hosts Follow Tod on Twitter Follow Paul on TwitterSponsor The Bootloader Your financial sponsorship helps with the cost of hosting, recording and transcripts. Thank you for your support!
This week, Linux Out Loud chats about the problems of being a fanboy/girl. Welcome to episode 30 of Linux Out Loud. We fired up our mics, connected those headphones as we searched the community for themes to expound upon. We kept the banter friendly, the conversation somewhat on topic, and had fun doing it. 00:00 Introduction 01:11 Robot Update 05:30 Flathub Games 08:56 Hardware Purge 18:00 Super Fandom 40:14 C64s 43:11 PyBricks 49:05 Game of the Week 54: Close Join in the chat on the Discourse forum here: https://discourse.destinationlinux.network/t/super-fandom-linux-out-loud-30/5463 Wendy - PyBricks - https://pybricks.com/ Nate - Tuxemon - https://tuxemon.org/ Matt - Game of the Week - https://www.gog.com/en/game/middleearthshadowof_mordro - https://store.steampowered.com/sub/51209/ Our sponsors: - Digital Ocean - http://do.co/tux2022 - Bitwarden - http://bitwarden.com/tux Contact info Matt (Twitter @MattGameSphere) Wendy (Mastodon @WendyDLN) Nate (Website CubicleNate.com)
Mais um episódio, dessa vez André Luis e Oriol Canalias conversam com André Paiusco e Cássio de Lazaro sobre Desenvolvimento de Software Embarcado. Venha conferir esse papo sobre Microcontroladores, Microprocessadores, Firmwares e Linux. Links: Yocto: https://www.yoctoproject.org/ Qemu: https://www.qemu.org/ Playlist youtube: https://www.youtube.com/playlist?list=PLPW8O6W-1chwyTzI3BHwBLbGQoPFxPAPM Arduino: https://www.arduino.cc/ Raspberry Pi: https://www.raspberrypi.com/ MicroPython: https://micropython.org/ Exemplo de vaga da nossa empresa do BR Sugestões de temas: https://medium.com/opensanca/opensanca-podcast-4717f4e35322 Slack do Opensanca: https://join.slack.com/t/opensanca/shared_invite/zt-ifdrhlr9-Qv9kQH_pQvp~b8jw1QZSDQ
This week, Linux Out Loud chats about how lack of ISP choice in rural areas and how it is causing a new digital divide. Welcome to episode 29 of Linux Out Loud. We fired up our mics, connected those headphones as we searched the community for themes to expound upon. We kept the banter friendly, the conversation somewhat on topic, and had fun doing it. 00:00 Introduction 01:05 On the Switch 03:50 Old Install 07:36 Ubuntu Summit 17:18 New Digital Divide 38:30 Game of the Week 43:23 Cubical Labs 45:47 Syncthing 52:08 Close Join in the chat on the Discourse forum here: https://discourse.destinationlinux.network/t/new-digital-divide-linux-out-loud-29/5433 Matt - Game of the Week - https://gog.com/en/game/princeofpersia Wendy - Ubuntu Summit - https://summit.ubuntu.com/ - Syncthing - https://syncthing.net/ Contact info Matt (Twitter @MattGameSphere) Wendy (Mastodon @WendyDLN) Nate (Website CubicleNate.com)
This week, Linux Out Loud chats about how do you value your time with tech. Welcome to episode 28 of Linux Out Loud. We fired up our mics, connected those headphones as we searched the community for themes to expound upon. We kept the banter friendly, the conversation somewhat on topic, and had fun doing it. 00:00 Introduction 01:38 FLL Run 11:56 Fender Bender 15:49 AC in the Studio 21:42 To Roll or Not to Roll 42:04 Codeberg 49:22 Game of the Week 54:03 Linux at the Fair 55:57 Close Join in the chat on the Discourse forum here: https://discourse.destinationlinux.network/t/solutions-to-roll-or-not-to-roll-linux-out-loud-28/5416 Wendy - Robot Run Video - https://youtu.be/P3ihiUc3FAE - Codeberg - https://codeberg.org/ - https://codeberg.org/Wendy.Hill Matt - Game of the Week - https://www.gog.com/en/game/observation - https://store.steampowered.com/app/906100/Observation/ Contact info Matt (Twitter @MattGameSphere) Wendy (Mastodon @WendyDLN) Nate (Website CubicleNate.com)
In this episode, we will learn about the new features of this great alpha product for the micro:bit. Its main goals are to make coding with Python per se and Python on the micro:bit more accessible: * An appealing user interface with bright colours * Contextual help and autocomplete * Example snippets of code you can browse and insert, like browsing blocks in MakeCode or Scratch * Simple code structure highlighting to aid understanding about indents in Python * Explanation of features of MicroPython useful in CS teaching, but not covered in device-oriented documentation * Built-in serial console and REPL so you can do more traditional Python coding using your keyboard input and printing to the screen – the micro:bit is your Python runtime! Special Guest: Giles Booth.
Chip Shortage is a new feature video by Adafruit's Ladyada to highlight items that are in short supply or possibly "unobtainium" (with no known return date to the market). This week is the ST Microelectronics STM32F405 microcontroller, used on the MicroPython PyBoard. The shortage unduly affects small manufacturers like MicroPython. --------------------------------------- Adafruit is working night and day to keep products in stock and deliver new products during the chip shortage. Visit https://www.adafruit.com/new to see what new items have been released to find redesigned products with chips that are available. Visit the Adafruit shop online - http://www.adafruit.com ----------------------------------------- LIVE CHAT IS HERE! http://adafru.it/discord Adafruit on Instagram: https://www.instagram.com/adafruit Subscribe to Adafruit on YouTube: http://adafru.it/subscribe New tutorials on the Adafruit Learning System: http://learn.adafruit.com/
In this video we're taking a look at the new Adafruit Feather ESP32 V2. This is a big upgrade over the original. The V2 has 8MB of flash - that's twice as much storage! It also has additional 2MB of PSRAM, Mini NeoPixel, Stemma QT and a USB-C port. Get ESP32 V2 Feather Huzzah https://www.adafruit.com/product/5400 Learn Guide for ESP32 V2 Feather Huzzah https://learn.adafruit.com/adafruit-esp32-feather-v2 It's designed for Low power usage so you can use a lipoly battery in deep sleep. It features the ESP32 Pico module, so you get extra space for pin labels and mounting holes! With STEMMA QT, you can just plug in your favorite sensor breakouts and start plotting data. It's a great way to quickly get your IOT projects up and running. You can use it with Arduino IDE just like other ESP32 boards - with the extra flash and RAM, even big complex projects are a breeze. With WipperSnapper you can easily make IOT projects without having to write any code! Just install the firmware with a chrome based browser, now your Feather will appear in Adafruit.IO automatically. ESP32 V2 also has MicroPython support so you can write python code and libraries to create your IOT Projects. Follow along with the Adafruit Learn Guide to install and set up your Feather ESP32 V2. Visit the Adafruit shop online - http://www.adafruit.com ----------------------------------------- LIVE CHAT IS HERE! http://adafru.it/discord Adafruit on Instagram: https://www.instagram.com/adafruit Subscribe to Adafruit on YouTube: http://adafru.it/subscribe New tutorials on the Adafruit Learning System: http://learn.adafruit.com/ -----------------------------------------
Watch the live stream: Watch on YouTube About the show Sponsored by Microsoft for Startups Founders Hub. Special guest: Anne Barela Brian #1: The Adam Test : 12 Questions for New Dependencies Found through a discussion with Ryan Cheley, who will be on an upcoming episode of Test & Code, talking about Managing Software Teams. The Joel Test dates back to 2000, and some of it is a bit dated. I should probably do a Test & Code episode or pythontest article on my opinions of this at some point. Nice shameless plugs, don't you think? The Joel Test is 12 questions and is a “highly irresponsible, sloppy test to rate the quality of a software team.” “The Adam Test” is 12 questions “to decide whether a new package we're considering depending on is well-maintained.” He's calling it “The Well-Maintained Test”, but I like “The Adam Test” Here's the test: Is it described as “production ready”? Is there sufficient documentation? Is there a changelog? Is someone responding to bug reports? Are there sufficient tests? Are the tests running with the latest language version? like Python 3.10, of course Are the tests running with the latest integration version? Examples include Django, PostgreSQL, etc. Is there a Continuous Integration (CI) configuration? Is the CI passing? Does it seem relatively well used? Has there been a commit in the last year? Has there been a release in the last year? Article has a short discussion of each. What score is good? That's up to you to decide. But these questions are good to think about for your dependencies. I also think I'll use these questions for my own projects. I've got a README.md, but do I need more examples in it? Should I have RTD docs for it? Have I updated the test matrix to include the newest versions of Python, etc? Have I hooked up CI? Michael #2: Validate emails with email-validator When you think about validating emails, you probably think regex (or just nothing) Regex is fine but so is this email: jane_doe@domain_that_doesnt_exist.com Problem is (at the time of the recording), domain_that_doesnt_exist.com is not a website. What about unicode variations that are technically the same but visually different? If the passed email address is valid, the validate_email() method will return an object containing a normalized form of the passed email address. Anne #3: The Python on Microcontrollers Newsletter One of my main focuses at Adafruit since the pandemic started is as editor of the Python on Microcontrollers Newsletter. With a weekly distribution of almost 9,400 subscribers, it's the largest newsletter of it's kind. It mainly focuses on CircuitPython and MicroPython and also discusses Python on single board computers (SBC) like Raspberry Pi. News about Python with a small computer emphasis Folks may subscribe by going to https://www.adafruitdaily.com/ which is separate from adafruit.com. The information is not sold or used for marketing and it's easy to unsubscribe (no “do you really want to do this, please reconsider…) The challenge, like for Python Bytes and other publications, is to find content. I scour the internet, with a bit of a focus on Twitter as I have an active account there. We encourage others to put in issues and Pull Requests on the newsletter GitHub, email information to cpnews@adafruit.com and using hashtag CircuitPython or MicroPython on Twitter. Brian #4: Git Organized: A Better Git Flow Annie Sexton Found through Changelog episode 480: Get your reset on A possible and common git workflow Branch off of a main branch to a personal dev branch Commit and Push during development to save your work When ready to merge, make a PR Problems Commits are hard to follow and messy, not ever really intended to separate parts of the workflow or anything. Commits are therefore useless in helping someone code review large changes. Annie's workflow Branch off of a main branch to a personal dev branch Commit and Push during development to save your work. But don't worry to much about commit messages, “WIP” is sufficient. Or a note to yourself. When ready to merge git reset origin/main Re-commit all changes in a logical order that makes more sense than the way the work actually happened. These will be several commits, with descriptive messages. Even partial commits, if there are unrelated changes in a file, work with this process Push all the new commits. (Is --force going to be necessary?) Create a PR. Now there are a set of commits that are actually helpful to break up large PRs into small chunks that tell a story. I'm looking to try this soon to see how it goes Michael #5: CPython issues moving to GitHub soon Update by The Python Developer in Residence, Łukasz Langa The Steering Council is working on migrating the data that is currently residing in Roundup at https://bugs.python.org/ (BPO) into the GitHub issues of the CPython repository hosted there. Laid out in PEP 581 -- Using GitHub Issues for CPython The ultimate goal is to move user- and core developer-provided issue-reporting entirely to Github. Each issue that currently exists on BPO will include metadata indicating where it was moved on Github. New issues will only exist on Github. Feedback, please: At the current stage, we're asking you to take a look at the links and important dates below, and share any feedback you might have. Timeline: Friday, March 11th 2022: Github starts transfer of the issues in the temporary repository to github.com/python/cpython/ . The migration is estimated to take anywhere from 3 to 7 days, depending on the load on Github.com. Anne #6: MicroPython, CircuitPython and GitHub What are Microcontrollers and Single Board Computers (SBCs)? Why not use CPython on Microcontrollers? MicroPython was originally created by the Australian programmer and theoretical physicist Damien George, after a successful Kickstarter backed campaign in 2013. Originally it only ran on a number of boards and was based on Python 3.4. CircuitPython was forked from MicroPython in 2017 by Adafruit Industries. Both MicroPython and CircuitPython are Open Source under MIT Licenses so adoption and modification by anyone is easy. Why fork CircuitPython? 1) Make a requirement that CircuitPython boards can enumerate to computers as a USB thumb drive to add or change code files with any text editor. 2) Aim to make CircuitPython use CPython library syntax whenever possible. 3) Make it easy to use and understand for beginners yet powerful for more advanced users. All CircuitPython code is on GitHub. GitHub Actions is used on repos like the Adafruit Learning System code to automate CI with Pylint, Black, and ensuring code has proper SPDX author and license tags, which is a new addition this year. Currently there are 283 microcontroller boards compatible with CircuitPython and 87 single board computers can use CircuitPython libraries in CPython via the Adafruit Blinka abstraction layer. Code portability between boards requires little if any changes. There are 346 CircuitPython libraries (all on PyPI / pip as well as GitHub) covering a wide range of hardware and real world needs. From blinking LEDs to using ulab (microlab), a subset of numpy, for data crunching. I just counted and there are exactly 1,000 Adafruit Learning System guides referencing CircuitPython, all free and open source/MIT licensed. https://learn.adafruit.com/ Extras Brian: Quick read: The Thirty Minute Rule, by Daniel Roy Greenfield summary: Stuck on a software problem for 30 min? Ask for help. Michael: The CircuitPython Show by Paul Cutler Follow up from my Python 3 == Active Python 3? James wrote: In episode #273, you guys were discussing supporting "Python 3" to mean any currently supported version of Python rather than "Python 3.7+" or similar. That's a really bad idea. There are still tons of people using unsupported versions of Python, and they're not all invalid use cases. For example, I am one of the upstream maintainers for cloud-init, and I was only recently able to remove Python 3.5 in order to make 3.6 our minimum supported version (which will continue for the next year). The reason is that our main consumers are downstream distro packagers (ubuntu, red hat, fedora, etc), and it's not uncommon for software released into long-term supported OS releases to be supported for 5-10 years or more. If I fire up an Ubuntu Trusty container, which still receives extended support until 2024, I get Python 3.4. So even though 3.4 is unsupported by Python upstream, it is still absolutely in use and supported by OS manufacturers. Joke: A case of the Mondays
Join Scott for his final Deep Dive before paternity leave. During the dive he answers questions, shows a PyUSB example and chats with @foamyguy who will be streaming in the Deep Dive slot while Scott is out. Check out FoamyGuy's other streams: https://www.twitch.tv/foamyguy_twitch https://www.youtube.com/channel/UCDfd9ZAcB8kpa3pyEQwLXVA Next week will be Deep Dive with Foamyguy at 2pm Pacific / 4 pm Central. Support Scott and foamyguy by buying Adafruit hardware. - http://www.adafruit.com All notes are available on GitHub with links into the videos. Thanks to @askpatrickw and @dcd for making and maintaining the notes. https://github.com/adafruit/deep-dive-notes/ 0:00 Getting started and hellos 1:30 is this the last one? 4:51 it's 2pm - let's get the show on the road 6:00 Housekeeping 7:10 Adafru.it/discord 8:15 foamyguy next week 11:00 github for notes https://github.com/adafruit/deep-dive-notes/ 13:15 Any tips for an electrical engineer that wants to be a hardware development engineer? 14:46 Are We building a whole usb phy stack in Python? 16:08 Last week - pyusb api in Circuit python 16:35 Tinyusb 17:25 learn.adafruit.com great resource - 20:05 good progress with usb host 22:07 usb/basic_mouse.py 24:33 pyusb basic example import usb.core 25:37 embedded C / microcontroller history / flight controller / dataflight / cleanflight drone / IMU 27:30 flight controller overview / baseflight / forked into cleanflight / forked into betaflight 29:45 Chickadee tech http://chickadee.tech/ 31:49 Polystack 32:32 transition to adafruit 33:28 “It was really interesting following his struggles on Show&Tell!” 34:37 any experience with telecom or signals ? what do you think about that kind of stuffs? 35:22 any CPy quadcopters out there? 36:56 “what's my hobby now that my hobby became my job” 38:00 https://adafru.it/discord 40:00 FPGA ideas for CP 41:00 do we have an FPGA channel on discord ? #fpga in discord 43:44 back to usb.core USB_VID and USB_PID 45:10 using CP to patch the FPGA 46:30 convert ID to strings and disconnect from kernel 47:15 loop on endpoint 0x81 47:38 lsusb 48:21 What is a boot mouse? / Boot Interface Subclass 49:47 endpoint 0x81 in 50:45 https://wiki.osdev.org/USB_Human_Interface_Devices 52:31 intellikey overlay - translating key presses using CP 54:15 starting with assuming that CP knows a lot about the device 55:50 teensy 4 and imx 1060 and rp2040 56:30 run the script 57:33 connect with foamyguy 59:10 foamyguy streaming over the past year 1:00:48 circle due to OBS and other meetings - virtualcam into teams 1:10:50 PopOS- but started on Windows ( https://pop.system76.com/ ) 1:02:58 foamyguy programming background 1:08:55 original rPi had instructions to accelerate java 1:12:55 RP2040 1:13:33 don't move away from google fiber :-) 1:14:35 seems like Damien really changed the game with Micropython? 1:15:20 BBC microbit was first experience with embedded python 1:17:25 Edge badge was first Hackaday CP device with CP - 1:21:00 Secrets.py transition to secrets.json, but toml has comments! 1:22:15 environment variables for CP 1:22:45 jsonc allows comments 1:25:16 interactive tablet application - more flushed out than py-portal 1:30:00 https://play.date/ 1:32:45 https://www.steamdeck.com/ 1:33:00 zync fpga zybo 1:38:21 blinka and ML / tensorflow lite 1:40:40 Digital Signage microprocessors - hard to compete with raspberry pi 1:43:53 https://www.screenly.io/ 1:46:12 foamyguy youtube stream content - similar to deep dive 1:48:00 Are you still going to do the saturday stream (10AM Central time) or are you moving this to the Friday deep dive. 1:49:18 interest in Async io as related to display io 1:50:48 CP Parsec noted 1:51:50 foamyguy working for Adafruit on mondays 1:55:53 android - ble workflow - glider app on ios 1:58:35 python editing experience / type enabled editing 2:02:27 https://www.twitch.tv/foamyguy_twitch 2:02:49 https://www.youtube.com/channel/UCDfd9ZAcB8kpa3pyEQwLXVA 2:04:32 wrap up adafru.it/discord 2:07:02 cat cam / pet the cat 2:08:00 end fo stream ----------------------------------------- LIVE CHAT IS HERE! http://adafru.it/discord Adafruit on Instagram: https://www.instagram.com/adafruit Subscribe to Adafruit on YouTube: http://adafru.it/subscribe New tutorials on the Adafruit Learning System: http://learn.adafruit.com/ -----------------------------------------
This episode is also available as a blog post Microbit: Micropython Class N Instance In Modules - Karate Coder
Join Scott as he recaps other folks' #CircuitPython2022, discusses ongoing ESP32-S3 work and answers questions folks have. Support Adafruit by purchasing hardware from https://adafruit.com Chat on the Adafruit Discord at https://adafru.it/discord. All notes are available on GitHub with links into the videos. Thanks to @askpatrickw and @dcd for making and maintaining the notes: https://github.com/adafruit/deep-dive-notes/ 0:00 Getting Started 1:00 hellos to all 3:00 cat cam 3:40 Hello/housekeeping 7:00 github notes https://github.com/adafruit/deep-dive-notes/ archive 9:09 CP 2022 - send emails - get blogged 10:07 Kevin - display io 11:25 Q: when debugging with print statements, is there a way to include the statement line number in the print string? 11:45 Question: does circuit python have the ability yet to play simultaneous audio? E.g. via 2 wav files or foreground / background. Maybe through mixer 12:58 Desktop - github - why is issue 5881 is "longterm"? https://github.com/adafruit/circuitpython/issues/5881 (BLE ) 14:45 github BLE Adafruit_CircuitPython_BLE 17:25 desired: want to disconnect the undesired centrals! / examine the source code 19:30 Various issues involved - connection central vs. peripheral 20:55 github Adafruit_CircuitPython_BLE issues / look into device info service 22:30 back to the 2 wave files 23:53 Q:working with the analog in features on a QT pi 2040 and when I tied the pin I was reading from to ground on the board it was giving me a value other than zero, around 160. Is this normal? 24:45 Q: built latest CPY for S3 - doesn't boot on any of my S3 boards. Known issue? copy firmware.uf2 over, seems ok, re-starts, never mounts. No error on UART0 output. 25:48 back to CP 2022 - graphical widgets 28:22 unpythonic.net 31:05 github gist / broadcom / midi 32:09 forums / 33:00 blog comment - 33:34 BlueMicro / skip forward to CircuitPython 2022 / seesaw / i2c peripherals / keyboards / very deep sleep 36:00 - RISC-V vs. ARM Core… 36:45 Awesome CircuitPython called Popular Projects Enabled by CircuitPython 37:44 forums / overclocking / platform knowledge 39:00 SPI peripheral 39:25 forums / CP.org login / my adafruit page ? 40:00 intuitive flash file system / handle secrets storage 40:53 limited multicore access 41:20 Q: if any of your viewers could please, please, take up i2c peripheral support for the rp2040 I would be grateful! 41:57 I2C peripheral thoughts - copy API 42:55 integrate learn guides with what user purchased 44:00 Unified event system 44:33 some comments on youtube re: CP 2022 45:20 github gist 46:50 Lego collaboration? 47:35 Python threading 48:20 considerations when setting priority 48:53 adafruit blog 50:30 Multicore 52:07 ulab extension 54:30 new CP podcast coming 55:20 I played with the Micropython multicore a few months ago and it wasn't stable 55:39 dafruit_requests and adafruit_minimqtt would be nice to be threaded / asyncio 56:15 AIOHTTP Async IO for networking 58:30 Does Wippersnapper use mqtt? 59:10 be more sciency 1:00:20 2022 will be different with weeks off from Deep Dives 1:01:49 switching gears to ESP-land 1:02:00 Adding BLE to ESP 1:03:30 How many cores are on the ESP32-S3 ? 1:05:11 tannewt esp_ble branch 1:06:49 beyond compare / sublime merge ( git manipulation tools ) 1:07:35 How much power does the ESP32-S3 use with BLE (no WIFI)? 1:10:10 Are there any examples in CP doing double buffering aka glitch free bucket logging ? Maybe via M2M ? 1:10:35 how well does the nordic power tool work with measuring other processors power usage? 1:12:09 also the JouleScope 1:12:55 any information if there are nRF52840 successors on the horizon with more RAM memory? 1:13:17 NRF 5340 1:15:00 Zepher support not in Circuit Python 1:15:18 rf 9160 1:15:39 dual M-33 1:16:30 https://www.youtube.com/watch?v=JFDiqPHw3Vc&ab_channel=AndreasSpiess 1:16:49 The second core is basically just a built in HCI adapter so if you can get the IPC to work on bare metal, you don't need Zephyr. 1:17:50 Bluedroid and Nimble ( grew up alongside Zepher ) 1:18:25 github nrf5340 apache mynewt nimble 1:20:11 back to esp_ble branch 1:23:20 start with scanning, advertising .. 1:25:08 talk over core issues 1:25:40 Pull requests 1:26:19 pr 5902 1:30:12 pr 5899 1:31:06 pr 5860 1:31:25 pr 5884 1:32:32 pr 5885 - first CP multicore bug fixed by tannewt 1:36:30 pr 3892 ESP NeoPIxel fixes / resetting pins 1:40:20 lower power when pins are ‘pulled' vs. floating 1:42:20 looking for the low power pin state pdf https://www.st.com/resource/en/application_note/an4899-stm32-microcontroller-gpio-configuration-for-hardware-settings-and-lowpower-consumption-stmicroelectronics.pdf 1:45:06 pr 5894 1:45:50 C3_writeable ports/esprif make BOARD=espressif_ep32s3_devkitc_1_n8r2 1:51:30 ESP32-S2-DEVKITC-1 on digikey 2:04:53 wrap up - follow on discord https://github.com/adafruit/deep-dive-notes 2:06:59 pet the cat 2:07:03 Have a great weekend ( timecodes may have drifted by 30 seconds or so )
Kelly and Sean revisit some of our favorite hardware that we use to teach Python. From the various versions of the BBC micro:bit to the ecosystem of CircuitPython boards, we talk about all the pros and cons! Whether you're just getting started with using Python in hardware or you're a seasoned teacher, this episode should have something for everyone. We use hardware to give tactile and tangible feedback for our students when they write code. Students learn to do everything from make lights blink and shimmer to driving motors to using sensors to measure the environment. Join us on a journey into Python hardware!
Live stream to http://twitch.tv/adafruit showing how to use the ILI9341 TFT LCD display & FeatherWing with MicroPython. Companion to the guide at: https://learn.adafruit.com/micropython-hardware-ili9341-tft-and-featherwing/overview Links mentioned in the video: - MicroPython Hardware: ILI9341 TFT & FeatherWing guide: https://learn.adafruit.com/micropython-hardware-ili9341-tft-and-featherwing/overview - TFT FeatherWing: https://www.adafruit.com/product/3315 - Feather HUZZAH ESP8266: https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/overview - micropython-adafruit-rgb-display library: https://github.com/adafruit/micropython-adafruit-rgb-display/ - MicroPython Displays: Drawing Text guide: https://learn.adafruit.com/micropython-displays-drawing-text - All MicroPython guides: https://learn.adafruit.com/category/micropython Acknowledgments: - Music: bartlebeats - Intro shuttle footage: NASA - Intro fonts: Typodermic - Intro inspiration: Mr. Wizards's World - Matrix background: cool-retro-term & cmatrix ----------------------------------------- Visit the Adafruit shop online - http://www.adafruit.com Subscribe to Adafruit on YouTube: http://adafru.it/subscribe Join our weekly Show & Tell on G+ Hangouts On Air: http://adafru.it/showtell Watch our latest project videos: http://adafru.it/latest New tutorials on the Adafruit Learning System: http://learn.adafruit.com/ Music by bartlebeats: http://soundcloud.com/bartlebeats -----------------------------------------
We talked to Damien George about his work on the Micro Python interpreter and the PyBoard SOC (Systom On a Chip). The combination of the interpreter and SOC allows Python developers to get involved in hardware hacking, as well as letting electronics afficionados try their hand at development. Damien explained to us where this fits in with the expanding landscape of low cost embedded devices and why you should get one to start playing with it.