With the introduction of the Raspberry Pi Pico , “Raspberry Pi” can now be thought of as a brand with two distinct product types. The Pico board features a Foundation-designed chip on a small board only needing header pins, offering an inexpensive but very powerful and versatile microcontroller suited for applications where Linux is less well suited.
With two M0+ Cortex cores, six independent banks of SRAM totaling 254KB, support for execute in place (XIP) from up to 16MB of outboard flash (2MB on the Pico board) at up to 133MHz, and support for variable clock rate and novel programmable I/O control, this is not your everyday low-end Cortex board. Below is a list of links to more details about Pico, its processor chip, firmware, software and tool chain, as well as the complete collection of related source repositories. (1/26/2021: Some host platform-specific tools are also included now. Thanks, Mike Fulbright!).
(Notes by Paul MacDougal with some light editing by Pete and Jenny Soper. A volunteer for February notes is needed.)
Problem Of The Month (P.O.T.M.)
Paul MacDougal reviewed his long history of making some kind of puzzle to give to his nieces. A last minute flash of inspiration resulted in a maze in which two "pointers" following identical mazes were modified to be two "pointers" following different mazes. This requires the pointers to be able to move relative to one another. Controlling this movement and creating compatible mazes induced development of software for creating and manipulating mazes. The "problem" this month was to suggest new features for this maze software.
Code Review Of The Month (C.R.O.T.M.)
Carl converted Paul's short python script to a class-based implementation. There was some discussion of Paul doing a sys.exit(x) from within a script that is running separate threads and how that might mess up. "FOO" vs "foo" vs "_foo" vs "__foo" conventions in Python. (And let's not forget "Foo"!)
Presentation: ESP8266 OTA by Paul MacDougal
ESP8266 supplier Espressive has done all the hard work to use Over The Air firmware/data update (OTA) in its libraries. Paul showed a simple sketch to do OTA from the Arduino IDE which is just running a python script. Multicast DNS (mDNS) is used for identifying development boards via name rather than IP address. A simple sketch to do OTA by connecting to a device using HTTP was shown. There was discussion of using ports 80 vs 8080 (really < 1024 vs > 1023). A simple sketch to do OTA by device accessing a server at a known IP address was shown and there was discussion of security (or lack thereof) of OTA programming.
NC State, Centennial Campus Engineering Building One, Room 1007, 911 Partners Way, Raleigh, NC 27606 (same as IEEE/robotics/TAR meetings through May) Monday, Jan 13, 7-9PM. A map for finding the meeting and additional details here: http://triembed.org/blog/meetings/at-ncsu/Agenda:
Problem of the Month: Paul MacDougal
Presentation: Charles Lord, an area embedded development professional and expert instructor, will go over RTOS fundamentals as well as providing heuristics and guidelines to help answer the question of how much "real time behavior" you need. (Charles will be giving a presentation in February too: stay tuned for details)
Show and Tell and general discussion: Including examples of two new OSH Park PCB service offerings to be passed around for close inspection: do it yourself, pro quality flexible PCBs and clear solder mask over ENIG traces on a black substrate (so cool you should bring your shades to look at it!) Also, you can see their latest improvement over the old "mouse bite" tab routing that is being delivered more and more often.
Door prize giveaways: Protocol highly variable!
(Prospective donations for the giveaway box always welcome!)
The Hakko FR-300 is a wonderful tool, but it does a very poor job of bending the unsoldered tab of a through hole potentiometer. While bending the tab forward the thought was clearly in mind “this is dangerous”. The tool slipped and while it was on the way to finger said finger was being withdrawn from the scene at warp speed, but not fast enough. You can even tell what size hole the tip fits.