274: Swiss Knife of Embedded Systems

Ivan Kravets (@ikravets)  spoke with us about PlatformIO (@PlatformIO_Org), IDEs, embedded libraries, and RISC-V.

PlatformIO is an editor, an integrated development environment with debugging and unit testing, and/or a library index. Its goal is to make embedded development easier and more consistent across host operating systems and development hardware. It is also a .org because the goal is to make all of this open source and free to engineers.

Ivan Kravets is the founder of PlatformIO.org. Personal site, Github, LinkedIn, and a neat interview. He recommends seeing the Dnieper River if you are in his area.

Ivan recently attended the RISC-V Summit. RISC-V is an open source processor core (like ARM but open source). SiFive was mentioned as one of the RISC-V processor vendors. RISC-V is being used extensively in research. Western Digital is planning to develop RISC-V based controllers. And MIPS recently joined RISC-V.


273: Off the Topic of My Jammies

Chris and Elecia chat with each other about the new year. All is fine until she starts quizzing him about some language details of his new project.

Many object-oriented resources suggest using composition (has-a) over inheritance (is-a-type-of) (wiki). Where do swift extensions fit in? It seems to me (Elecia here) that extension is invisible composition that allows adding of functions.

For example, say you want a TiltSensor and you already have an ImuSensor object so  you need to add a function for TiltComputation.

You could make the TiltSensor contain an ImuSensor (composition). You call the ImuSensor functions to check the readings when running TiltComputation function. You don’t need to know what is in ImuSensor, only what the API is.

You could have TiltSensor be a child class of ImuSensor (inheritance) so that TiltSensor responds to all ImuSensor functions as well as its new TiltComputation function. You could use the variables in ImuSensor directly for TiltCompulation but you will need to know what is in ImuSensor for that to work.

Or, in Swift, you could have TiltSensor be an extension of ImuSensor. Except it wouldn’t be called TiltSensor, it would be part of ImuSensor: any file that had access to your extensions would be able to create an ImuSensor instance and call TiltComputation as if it was part of the original ImuSensor API. The TiltComputation function would only have access to its extension’s variables and ImuSensor’s API. You get to add new functionality without breaking backward compatibility.

Some more resources on this topic:

Swift Programming: The Big Nerd Ranch Guide by Matthew Mathias and John Gallagher

iOS Programming: The Big Nerd Ranch Guide by Christian Keur and Aaron Hillegass

LinkedIn Learning Courses

Blender Beta with EEVEE renderer

The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin

Code Complete: A Practical Handbook of Software Construction by Steve McConnell

Gelly Roll Glitter Pens (by Sakura)

Google Podcast Link (or see the Subscribe page)

272: Stick ‘Em on Whales

Chris Gammell (@Chris_Gammell) of The Amp Hour (@TheAmpHour) joined us to talk about the state of the industry, listeners, guests, and life in general.

Embedded’s accounting episode (150: Sad Country Song)

Contextual Electronics Consulting forum (requires you to apply)

Remote work

250: Yolo Snarf

Excellent video on how prototype PCBs have improved over the years

Quickly falling cost of dev boards

Elecia worked on learning and building robots and happily got a related job

Chris W is building IOS apps

Object oriented

Prototype to Product: A Practical Guide for Getting to Market by Alan Cohen (Emebdded.fm interview)

CircuitPython

Visual Basic as a prototyping language

ESP32 and EXP8266 longevity and use in products

WiFi provisioning

Electric Imp, Particle.io

Azure IoT Hub, AWS IoT, Google Cloud Iot, Ubidots, and IoT App Story (the one Chris G remembered later)

Wallet.fail

Anki Vector robot

Genuine People Personality (from Hitchhiker's Guide to the Galaxy)

Genuine people personalities are coming to our gadgets (ArsTechnica)

LoRA and chuckable sensors

LoRaWAN and ARM Mbed OS

Telepresence and mirroring others

The Amp Hour ToorCamp episodes

Sourdough (a novel about robotics and AI) and Embedded’s interview with the author

Energy and Civilization: A History by Vaclav Smil

Jeri Ellsworth spoke about the demise of CarstAR in The Amp Hour 394

The Stone Monsters music products

Llama and the IoT zines

Related Oatmeal comic


Supporting Embedded Patreon leads to a link to their slack channel, mentioned in this show. Supporting The Amp Hour Patreon is also a great idea.

271: Shell Scripts for the Soul

Alex Glow (@glowascii) filled our heads with project ideas.

Alex is the Resident Hardware Nerd at Hackster.io. Her page is glowascii and you might want to see Archimedes the AI robot owl and the Hardware 101 channel. They have many sponsored contests including BadgeLove.

Lightning round led us to many possibles:

There were more software and hardware kits to explore:

For your amusement Floppotron plays Bohemian Rhapsody

Alex gave a shout out to her first hackerspace All Hands Active

Ableton is audio workstation and sequencer software. Alex recommends Women’s Audio Mission as a good way to learn audio production and recording if you are in the San Francisco area.

There is an Interplanetary File System and Alex worked on a portable printer console for it.

Elecia is always willing to talk about Ty the typing robot and/or narwhals teaching Bayes Rule. She recommended the book There Are No Electrons: Electronics for Earthlings by Kenn Amdahl.


270: Broccoli Is Good Too

James Grenning (@jwgrenning) joined us to talk about Test Driven Development, dealing with legacy code, and cleaning out very large pipes.

James is the author of Test Driven Development for Embedded C. If you want to take his live online course, check out the remote delivered TDD classes on Wingman Software. His blog has many great articles including TDD How-to: Get Your Legacy C into a Test Harness and TDD Guided by ZOMBIES.

Book: Working Effectively with Legacy Code by Michael Feathers

James mentioned Given-When-Then, a testing design pattern (brief intro). Kent Beck also wrote about test && commit || revert style testing.

James and Bob Martin present IoT implementation strategies in a series of videos on Clean Coders. James mentioned working with a Synapse Wireless radio.

269: Ultra-Precise Death Ray

Alan Cohen (@proto2product) wrote a great book about taking an idea and making it into a product. We spoke with him about the development process and the eleven deadly sins of product development. We did not talk about ultra-precise death rays.

Books we discussed:

Alan mentioned writing software graphically with Enterprise Architect


164: Heatsink in a Shoebox (Repeat)

Christopher White resurrects an Apple ][+ with his brother Matthew White. This is a show about the software Christopher and Matthew wrote when they were kids and the hardware they wrote it on.

Matthew's favorite fictional robot (we should have asked): Venus Probe from Six Million Dollar Man. We did ask about his favorite fictional computer and there is a video for that too.

Apple ][+ Wiki

Timex Sinclair Z81 Wiki

 Eric Schlaepfer's Monster 6502

Grant's 6502 Computer

Kerbal Space Program for the Apple ][

Elecia got to $42 in Lemonade Stand by the end of the show

Matthew's Nebula Wars and Eye of Eternal Death BASIC games circa 1982 and 1981 respectively.

If you feel like it, you can try out an Apple ][ in your web browser, with tons of disks available at the Internet Archive or in a Javascript Emulator.

Elecia's book is Making Embedded Systems.

268: Cakepan Interferometry

After many bouts of lightning round, we finally got our lightning questions answered by Eric Brunning (@deeplycloudy). Eric is a Professor of Atmospheric Sciences at Texas Tech University specializing in storm electrification and lightning .

You can hear some of Eric’s field adventures by listening to his episode of the Don’t Panic Geocast show.

The Wikipedia page for lightning will lead you down many strange pathways. Though the Wikipedia Lightning Energy Harvesting page may convince you that it isn’t feasible (though some math might as well, as discussed on this show).

For more about lightning interferometry, check out Michael Stock’s in-depth site.

You can hear lightning on Jupiter if you listen to the right bands.

Neat video of the Milky Way in radio waves reflecting off the moon

Elecia really enjoyed The Cloudspotter’s Guide by Gavin Pretor-Pinney.

267: Cute and Squishy

Lindsey Kuper (@lindsey) spoke with us about !!Con West, being a new professor, and reading technical journals.

The call for speakers for !!Con West is open until November 30, 2018. The conference will be in Santa Cruz, CA on February 23-24.

Lindsey’s blog is Composition.al and it has advice for !!Con proposals, advice for potential grad students, and updates on Lindsay’s work.

The Banana Slug is the UCSC mascot.

Time, Clocks, and the Ordering of Events in a Distributed System by Leslie Lamport, 1978

266: Drive off the End of the Universe

Chris (@stoneymonster) and Elecia (@logicalelegance) talk about conferences, simulations, and future episodes.

Simulation/Emulation: QEMU and Renode. Chris also noted there were QEMU for STM32 instances such as this one from beckus.

For conferences, we named several but had no particularly useful advice. We did recommend classes such as James Grenning’s training on TDD in Embedded Systems and Jack Ganssle’s Better Firmware Faster.

There are several (free) machine learning courses available from Udacity including Intro to Machine Learning which was part of the Self-Driving Car series that Elecia took.

The future basics episodes were grouped into:

  • Flow of program control (pre-RTOS)

  • Design patterns

  • RTOS information

264: Do It for the Herd

Chris Svec (@christophersvec) returns to chat about recruiting for embedded jobs and to help us answer listener questions. Also, he’s looking for engineers to join him at iRobot.

Want to get into embedded and don’t know how? We did a show about that: 211: 4 Weeks, 3 Days. Also, there is an EdX class that is popular and a Coursera course that may be useful.

You can meet up with Chris at Hackaday Supercon in Pasadena, CA on Nov 2-4.

Fulgurites are cooled lightning.

109: Resurrection of Extreme Programming (Repeat)

James Grenning (@jwgrenning) returns to discuss TDD, Agile, and web courses. 

James was on Embedded.fm episode 30: Eventually Lighting Strikes.

James' new company is Wingman Software.

His excellent book is TDD for Embedded C

James suggested Training From the Back of the Room! as resource to people looking to put together a class. He uses and recommends CyberDojo as a coding instruction tool.

Before Agile was Agile-for-business, it was Extreme Programming. James recommends Extreme Programming Explained.

James will be the keynote speaker at AgileDC in October.

262: Egg Freckles

Noah Leon made a film: Love Notes to Newton. It features the people who love and the people who built the Apple Newton. We spoke with him about the Newton and about filmmaking.

Noah runs Moosefuel Media. He wanted to mention Frank Orlando of OrlandoMedia, the art designer for the film and promotional material. Profits from Love Notes to Newton go to Be The Match, a registry of bone marrow donors.

You can sign up for the Newton mailing list at NewtonTalk.net. The book about the Newton development is Defying Gravity: The Making of Newton by Markos Kounalakis. The documentary about Compaq is Silicon Cowboys (Netflix).

261: Blowing Their Fragile Little Minds

Helen Leigh (@helenleigh) is an author, education writer and maker. She spoke with us about making learning fun (and subversive).

Her latest book is The Crafty Kid's Guide to DIY Electronics, out in November 2018.

The instrument gloves were the mi.mu (full version) and the mini.mu DIY kit (coming soon to Pimoroni and Adafruit). The mini.mu uses the BBC Micro:bit.

Helen worked on earlier books including Mission Explore from the Geography Collective. These are out of print but still obtainable (and may be in your local library).

She recommends the book The Subversive Stitch: Embroidery and the Making of the Feminine. For meeting people in education and technology, Helen is looking forward to the next EMF Camp. As far as tech and education conferences, the BETT trade show is interesting.

We mentioned “Phoenix” a few times, that is Phoenix Perry who was on episode 204: Abuse Electricity.

260: We Talked a Lot

Christopher (@stoneymonster) and Elecia (@logicalelegance) talks about vacations for learning and hobbies then answered listener questions.

Chris’ toys include the Prusa I3 Mk3 and the UAD Arrow.

Elecia likes Camille Fournier’s book, The Manager’s Path. She also got to plug her own book, Making Embedded Systems: Design Patterns for Great Software.

Pacific spiny lumpsucker ( Eumicrotremus orbis ) at the  Seymour Science Center

Pacific spiny lumpsucker (Eumicrotremus orbis) at the Seymour Science Center

259: Calculators Changed My Life

Brandon Wilson (@brandonlwilson) shared his stories about hacking TI calculators (and other things).

TICalc.org has the latest on getting started yourself including Z80 assemblers, or start on Brandon’s website: brandonw.net

Bradon will be speaking at Hardwear.io, a security conference for the hardware and security community. The conference consists of training (11th - 12th Sept 2018) and conference (13th - 14th Sept 2018). It is in The Hague, Netherlands. His talk is The Race to Secure Texas Instruments Graphing Calculators. He will also be hosting a village called Dumping the ROM of the Most Secure Sega Genesis Game Ever Created.

Topics:

00:00:00    Introduction    
00:00:33    Brandon Wilson    
00:01:39    Lightning Round    
00:02:37    Calculators!    
00:03:58    Programmable calculators, using TI BASIC    
00:05:00    Ti-85, programmable via assembly language    
00:06:35    App store for my calculator?    
00:07:34    How does TI prevent cheating?    
00:09:41    Testguard for teachers    
00:12:53    Some are WiFi capable    
00:13:41    How Brandon learned to hack the TI
00:15:12    Processors used in the TI calcs
00:16:39    What tools are available for reverse engineering?
00:17:42    Breaking the keys    
00:18:49    Flash unlock protection    
00:20:14    TI hacker  community    
00:21:32    TI used 512-bit RSA keys     
00:22:32    Key broken after 2 months of brute force
00:22:58    TI threatened the first key breaker    
00:23:31    Built a distributed community to attack keys
00:24:38    TI was not happy     
00:25:03    DMCA takedown notice
00:27:28    EFF offered to help     
00:29:30    The ethics of circumventing TIs protection    
00:33:23    Calculators as a platform for learning HW/FW    
00:35:11    Hackers' responsibility toward the hacked    
00:39:05    Hacks Brandon is uncomfortable with    
00:42:55    Bug bounties, are they effective?    
00:44:02    Brandon's other projects     
00:44:26    TI calculator processors used all over    
00:44:50    Sega Genesis
00:47:54    Code execution via the Sega Genesis CD    
00:53:35    Calculators changed my life (back up)    
00:54:21    Other projects, USB     
00:55:31    Abuse the USB protocol    
00:58:24    Modifying USB flash drive FW    
01:03:21    Reverse engineering tools    
01:06:13    Hardwear.io conference, Brandon's hacking village    
01:09:22    Brandon's Final Thought    
01:10:19    Outro    
01:11:20    Final Quote

 

 

258: Security Is Another Dimension

We spoke with Axel Poschmann of DarkMatter LLC (@GuardedbyGenius) about embedded security.

For a great in-depth introduction, Axel suggested Christof Paar’s Introduction to Cryptography class, available on YouTube. We also talked about ENISA’s Hardware Threat Landscape and Good Practices Guide.

Axel will be speaking at Hardwear.io, a security conference for the hardware and security community. The conference consists of training (11th - 12th Sept 2018) and conference (13th - 14th Sept 2018). It is in The Hague, Netherlands.

DarkMatter is hiring

Elecia has some discount coupons for the Particle.io Spectra conference.

257: Small Parts Flew Everywhere

Derek Fronek spoke with us about FIRST robotics. His TechHOUNDS (@TechHOUNDS868) team is based in Carmel, Indiana. They won the state competition and placed 5th in the high school FRC championship.

Derek mentioned the roboRIO controller board, TalonSRX speed controller, and the Spark motor controller. Many of these offer deep discounts to FIRST robotics participants.

Check out FirstInspires.org to find a team near you. The game comes out in January but many teams start forming in September.

Derek’s personal website includes his other projects and a way to contact him.

Sparkfun has an autonomous vehicle competition, this is their 10th year.

Elecia wrote a related blog post for Derek, a few notes about media training. 

Music for after you finish the episode