Free Trials

Download a free trial to find out which Altium software best suits your needs

How to Buy

Contact your local sales office to get started on improving your design environment


Download the latest in PCB design and EDA software

  • Altium Designer

    Complete Environment for Schematic + Layout

  • CircuitStudio

    Entry Level, Professional PCB Design Tool

  • CircuitMaker

    Community Based PCB Design Tool


    Agile PCB Design For Teams

  • Altium 365

    Connecting PCB Design to the Manufacturing Floor

  • Altium Concord Pro

    Complete Solution for Library Management

  • Octopart

    Extensive, Easy-to-Use Component Database

  • PDN Analyzer

    Natural and Effortless Power Distribution Network Analysis

  • See All Extensions

    World-Renowned Technology for Embedded Systems Development

  • Live Courses

    Learn best practices with instructional training available worldwide

  • On-Demand Courses

    Gain comprehensive knowledge without leaving your home or office

  • Altium 365 Viewer

    View & Share electronic designs in your browser

  • Altium Designer 20

    The most powerful, modern and easy-to-use PCB design tool for professional use


    Annual PCB Design Summit

    • Forum

      Where Altium users and enthusiasts can interact with each other

    • Blog

      Our blog about things that interest us and hopefully you too

    • Ideas

      Submit ideas and vote for new features you want in Altium tools

    • Bug Crunch

      Help make the software better by submitting bugs and voting on what's important

    • Wall

      A stream of events on AltiumLive you follow by participating in or subscribing to

    • Beta Program

      Information about participating in our Beta program and getting early access to Altium tools

    All Resources

    Explore the latest content from blog posts to social media and technical white papers gathered together for your convenience


    Take a look at what download options are available to best suit your needs

    How to Buy

    Contact your local sales office to get started improving your design environment

    • Documentation

      The documentation area is where you can find extensive, versioned information about our software online, for free.

    • Training & Events

      View the schedule and register for training events all around the world and online

    • Design Content

      Browse our vast library of free design content including components, templates and reference designs

    • Webinars

      Attend a live webinar online or get instant access to our on demand series of webinars

    • Support

      Get your questions answered with our variety of direct support and self-service options

    • Technical Papers

      Stay up to date with the latest technology and industry trends with our complete collection of technical white papers.

    • Video Library

      Quick and to-the-point video tutorials to get you started with Altium Designer

    Python Dragging Students into STEAM

    Clive Maxfield
    |  November 27, 2019

    CodeBot. Image source: Firia Labs

    I have a friend. It's true. I'm not joking. Settle down. Look -- I'm not going to continue until you cease squirming in your seat and stop giggling. That's better. Now, if you're quite finished, we'll continue.

    We'll call my friend David (because that's his name). David is one of the cleverest guys I know. He has a size-16 brain -- the type with the go-faster stripes painted down the side. He has expertise with all sorts of things, including self-forming, self-healing, low-power wireless mesh networks.

    I remember watching David give a presentation on such networks at an Embedded Systems Conference (ESC) a couple of years ago. Many members of the audience already had wireless mesh-enabled badges from an earlier session. Furthermore, some of us were sporting our propeller beanies from an earlier conference in which David and I had orchestrated what is, to date, the largest wireless mesh-network in the world to be implemented in propeller beanies (250 beanies spinning and flashing in synchronization -- my dear old mother was so proud -- I can hear her now, "For this, we sent you to university?").

    While giving his presentation showing how the time-of-flight of radio signals in wireless mesh network nodes could be used to provide a crude distance measurement (using the period of a flashing light on a beacon to reflect the distance), David noticed the badges and beanies in the audience. He became captivated by an idea and start coding on the fly in real-time while still giving his presentation. Before long, the badges were flashing in time with the beacon while the speed of the beanies' propellers varied in proportion to the beacon's rate.

    But we digress... David used to be the chief technical officer (CTO) at a company that did all sorts of cool stuff. In fact, David was the mastermind behind the lighting effects on the costumes in the Tron: Legacy movie. The thing is that David and his wife Geri are passionate about educating kids, so -- a couple of years ago as I pen these words -- David left his comfortable CTO position to form an educational company with Geri. The company in question is called Firia Labs.

    Geri (left) and David (right) Image source: Firia Labs

    I remember when David and Geri were starting Firia Labs. David was talking about how when kids are starting to learn to read and write, they commence with picture books that contain a lot of images accompanied by very few words. Over time, the pictures get fewer and farther between, while the words come to dominate. Unfortunately, when it comes to computer science (CS) education in K-12 schools, most of the students are still at the picture book stage using drag-and-drop graphical programming techniques.

    I actually have great sympathy for the teachers, many of whom are only slightly more knowledgeable than their students. Imagine trying to teach a language like Python to a bunch of beginners, with 20 hands desperately waving in the air because their code doesn’t work.

    In order to address this, Firia Labs provides a fully integrated solution that helps students teach themselves while teachers provide high-level supervision. On the hardware side of things, they've re-thought robotics with a focus on embedded programming, as opposed to constructing convoluted mechanical contraptions. Thus, we have the CodeBot, along with a suite of micro:bit based kits, where the micro:bit is a teeny-tiny single-board computer that is 70 times smaller and 18 times faster than the original BBC Micro computers used in schools. The micro:bit has 25 red LED lights that can flash messages and be used to create games. Also, there are two programmable buttons that can be used for control purposes.

    Now, there are a lot of robots and nifty little microcontroller development boards around. One thing that differentiates Firia Labs is CodeSpace, which is like an integrated development environment (IDE) on steroids. As we see in this video, CodeSpace provides each student with their own self-paced suite of tutorials, which start with quick-and-easy examples and work their way up to more sophisticated applications.


    CodeSpace also features a state-of-the-art integrated debugger that detects errors as the students type them in real-time and provides immediate feedback explaining what the problem is, thereby freeing up the teachers.

    In order to make all of this a success, the team at Firia Labs banded together with educators to address the need for an authentic, real-world, project-based curriculum to teach CS.

    • Problem: How to overcome student frustration when the code doesn't work (it never does the first time...)?
      • Solution: Develop the world's first embedded Python debugger.
    • Problem: Schools are using Chromebooks. What's the development environment?
      • Solution: Leverage new WebUSB browser standard, directly drive Python debugger on embedded system from the browser.
    • Problem: Teachers by-and-large aren't trained in CS and text-based code can be intimidating.
      • Solution: Team with educators to provide a complete set of teaching resources, including pacing guides, rubrics, etc.

    Now, with regard to CodeBot, you may be thinking: "What? Yet another robot? Aren't robots already being used in schools? Hasn't this been going on for years?" Actually, the state of affairs is pretty dire in most cases because the electronics is a "black box" and the software is a "necessary evil" in most of these programs. As a result, students are not coming out of existing programs with an appreciation for coding. By comparison, students working with CodeSpace and CodeBot gain low-level coding expertise and hands-on robotic experience. Consider this video of a student watching a CodeBot execute a program she's just created.



    You can see the elation on the student's face when the robot completes the sequence as she intended (I'm sure I will feel the same way when I finally get one of my own programs to do what I want it to do).

    I have to take my hat off to Geri and David. It's easy to say you have a passion for educating kids, but giving up your job to do so requires a lot of commitment. Also, breaking into the educational market requires a huge amount of effort and perseverance. Its not just a case of saying, "Hey, look at us, we have something really cool here!" Instead, you have to attend large numbers of educational conferences and spend a lot of time in classrooms to understand what teachers and students are going through on a daily basis.

    As David just told me, "All of this hard work is now paying off -- not only in terms of business success, but in each and every joyful teacher and student interaction that we are privileged to see and be a part off." I only wish this sort of thing had been around when I was at school. How about you?

    About Author

    About Author

    Clive "Max" Maxfield received his BSc in Control Engineering in 1980 from Sheffield Hallam University, England and began his career as a designer of central processing units (CPUs) for mainframe computers. Over the years, Max has designed everything from silicon chips to circuit boards and from brainwave amplifiers to steampunk Prognostication Engines (don't ask). He has also been at the forefront of Electronic Design Automation (EDA) for more than 30 years.

    Well-known throughout the embedded, electronics, semiconductor, and EDA industries, Max has presented papers at numerous technical conferences around the world, including North and South America, Europe, India, China, Korea, and Taiwan. He has given keynote presentations at the PCB West conference in the USA and the FPGA Forum in Norway. He's also been invited to give guest lectures at several universities in the US and at Oslo University in Norway. In 2001, Max "shared the stage" at a conference in Hawaii with former Speaker of the House, "Newt" Gingrich.

    Max is the author of a number of books, including Designus Maximus Unleashed (banned in Alabama), Bebop to the Boolean Boogie (An Unconventional Guide to Electronics), EDA: Where Electronics Begins, FPGAs: Instant Access, and How Computers Do Math.

    most recent articles

    Back to Home