🎉 Announcing Firia Labs Code Collective: an educator forum to Connect. Create. Code. Join the community!

Frequently Asked Questions

Welcome to our FAQ section, designed to address your most common queries and provide helpful insights to our offerings. Whether you're curious about licensing, navigating connectivity, exploring curriculum details, troubleshooting issues, understanding hardware specifications, or making a purchase, you'll find comprehensive information in the corresponding categories.

Explore the categories below to find answers to your specific questions:

We're here to assist you on your journey, and we hope this FAQ provides the information you need. If you can't find the answers you're looking for, feel free to reach out to our team for personalized assistance.

Licensing

I can’t find my license, what should I do?

Licenses for all curriculum are sent from info@firia.com. Please check your spam and trash folders, if you still can’t find it please email support@firialabs.com.

How do I set up my license? (CodeX, CodeBot, CodeAIR, and Virtual Robotics)

Check out our Getting Started with CodeSpace Page for directions on getting your license set up.

What happens when my 1 year license expires?

If the license is not renewed you will lose access to the licensed Mission Pack. However, you retain access to the CodeSpace development environment and of course all the code that you've written. You can still develop new Python programs and build projects with your physical device with no license needed. Additionally, we are committed to also maintaining a fully-functional free tier of the CodeBot simulation environment. If you haven't already done so, please check that out at make.firialabs.com (opens in a new tab).

How do I add another teacher as an admin onto my license?

Go to license.firialabs.com (opens in a new tab) and sign in. Click on the license that you want to add the other teacher on. A screen will pop-up that looks like this.

You can add another Admin on the left side of the box. Please note, that the new teacher will NOT have access to your class in the teacher dashboard. The teacher will need to make their own class in the dashboard in order to see students’ progress.

Can I bulk add students to a new class?

No, at this time there is no way to bulk add your students. When you add, it's only one at a time. However, you can set your classroom up with a Join Code. This would allow the students to join (versus you adding them) when they sign into CodeSpace. For directions on this, head over to our Getting Started with CodeSpace Page - scroll down to 'Step 3: Adding Students to a Classroom'. You'll find directions on how to set up the Join Code and directions for your students to join.

Getting Connected

Does CodeSpace run on Chromebooks? What about Windows, Mac, or Linux PCs?

Yes! Check out all of our system requirements here.

Is a google account required for CodeX, CodeBot or Virtual Robotics?

No, you can create an account with any email address!

My student has a new computer, will they need to re-enter the share token or join code for CodeSpace?

No, as long as the student is using the same account login there should be no need to re-enter any extra codes.

I’m getting a ‘No Device Connected’ while trying to connect my device.

Follow the directions in this google document - Target Device Connections (opens in a new tab). If you're still having issues, please email us at support@firia.com](mailto:support@firialabs.com).

Curriculum

Why are Firia Labs devices and curricula better than "free stuff"?

Here are a few things that set us apart, delivering a massively better experience for students and teachers alike:

Authenticity: Professional tools, real-world projects (not toys)

Firia Labs provides students with access to professional-grade tools and resources, ensuring they are working with the same technologies used in the industry. This authenticity fosters a deeper understanding of real-world applications, better prepares students for future careers in technology, and most importantly students feel respected and empowered.

Curriculum: Written by experienced industry professionals

Firia Labs' curriculum is crafted by experienced industry professionals who infuse the latest industry trends, best practices, and fun, anectdotal lore into the learning materials. This approach ensures that the curriculum is not only educational but also engaging and relevant to students' interests.

Infinite Ceiling: Students can go as far or as deep as they want

Firia Labs' curriculum is designed to be flexible, allowing students to explore coding at their own pace. Whether they want to master the basics or delve into advanced topics, the open-ended hardware/software platform provides the resources and support needed for continuous learning and growth.

Scaffolded: Debugging tools empower students and support teaching

Firia Labs' curriculum includes built-in debugging tools that empower students to troubleshoot their code effectively. These tools not only enhance the learning experience but also support teachers in guiding students through the debugging process, fostering a deeper understanding of coding concepts.

Project-based: Solve a diverse range of problems with code

Firia Labs' curriculum emphasizes project-based learning, allowing students to apply their coding skills to solve real-world problems. This hands-on approach not only makes learning more engaging but also helps students develop critical thinking and problem-solving skills that are essential in today's technology-driven world.

Cross-curricular: Science, Engineering, Math, Computer Science

Firia Labs' curriculum is designed to be cross-curricular, integrating coding with science, engineering, math, and computer science concepts. This interdisciplinary approach helps students see the connections between different subjects and understand how coding can be applied in various fields.

I finished the Python with Robots curriculum, but would love to complete more projects, any suggestions?

Where can I find Jumpstart Python curriculum?

All of our curricula that use micro:bits have been moved to makebit.firialabs.com (opens in a new tab). This includes Jumpstart Python and Mission Pack: Lift-Off! micro:bit edition.

Why is the new CodeSpace platform “dark mode”?

Firia Labs seeks to provide an authentic engineering environment for students, reflecting the current tools and technologies used by practitioners in industry. The majority of software engineers today have moved to dark-themed editing environments, so with the new version of our CodeSpace platform we followed suit. However, it is easy to change to “light mode” if you prefer! Just click the Settings “gear” at the lower left of your screen to select that.

How do I reset my progress?

Log into make.firialabs.com (opens in a new tab), find the gear on the bottom left. A box will pop-up, on the right side you should see a 'Delete Saved Progress' Trash Can.

  • This will delete progress in the currently active Mission Pack, so be sure you want to do this before proceeding.
  • This will not delete your account OR your saved code.

Why can I not access all the teacher resources on the Learning Portal?

You must be a "licensed teacher" to access the login-required teacher resources. This restriction is in place to prevent students from accessing answer keys and other teaching materials. Your access will remain active until your license expires.

Troubleshooting

Issues with Google SSO, OAuth, or App approval within Google?

To fix this problem, your IT department will need to add "CodeSpace" as an OAuth app under the Security settings in Google Admin as shown below. You should see two CodeSpace apps available when you search this way.

How can I troubleshoot my device?

My USB connection is not working. What can I do?

  1. Fully reboot your device: Power off your device and unplug the USB cable. Wait a few seconds, then plug the USB cable back in and power on your device.
  2. If that doesn't work, click the RELOAD button in you web browser to refresh the page. (ie. reboot the CodeSpace app)

Still not working? A few more things to try:

  • Try a different USB port on your computer.
  • Try a different USB cable.
  • Try a different computer.

Before you give up, try the Troubleshooting guides for your device (see links above)

  • If none of these steps fix the issue, email us!

My CodeBot will run on USB, but won’t run on battery.

Make sure that the batteries are fresh, Check that all the batteries are in the proper orientation according to the diagram in the battery holder, Check for contamination on the battery terminals and metal contacts in the holder (remove batteries for this step), and be sure the power switch is in the BATT position. If none of these items fix the issue, email us!

My computer is crashing when I try to run code with my CodeBot.

The issue could potentially be the USB power consumption when the CodeBot motors are running. Start by reformatting the filesystem (opens in a new tab). Then load a program that does NOT use the motors - for example, an LED test. Some laptops are not able to supply sufficient power for the motors. If that works, then try running from batteries when you need to use the motors. To do that, make sure batteries are loaded and the USB/BATT switch is in the BATT position when you're plugged into your laptop.

Why am I getting a Firebase DB error when logging into makebit.firialabs.com, and how can I do to fix it?

If you are getting this message below, it’s often due to a network firewall or a security extension on the Chromebook, set by IT through Google admin settings. In this case, IT support will likely be needed to resolve it.

In this case, IT support will likely be needed to resolve it. To test if the issue is tied to the CodeSpace account, try this on another Chromebook:

  • Instead of logging into the Chromebook with the Google account, select the "Guest" option on the login screen.
  • Once in Guest mode, navigate to the CodeSpace login and sign in using the Google account there. The reason for using Guest mode is that logging in directly to the Chromebook with the Google account could bring over any restrictive settings applied by Google Admin. Since CodeSpace works fine on Windows, this suggests a Chromebook-specific configuration as the likely cause.

Programming

Can I use open source tools to develop for CodeBot / CodeX / CodeAIR?

YES, as a matter of fact, you can use open source tools to develop for CodeBot / CodeX / CodeAIR. Moreover, the firmware in our devices is built on open source!

  • Python Lineage: MicroPython → CircuitPython → Firia IoT Python
  • The CodeBot, CodeX, and CodeAIR all run our Firia version of MicroPython, which has been augmented with debugger capabilities.
  • Our open Python libraries are detailed on our docs pages, with full source code.
  • AND you get the full schematics and hardware designs for the CodeBot, CodeX, and CodeAIR.

This open software and hardware approach makes Firia Labs perhaps the most open educational robotics platform available today! So grab your favorite text editor, open the REPL, access the filesystem, and start coding!

  • You can use any serial terminal to connect to the REPL, or use our CodeSpace platform.
  • Be sure to make your device writable if you want to edit Python code from your editor directly on the device. Do that by rebooting it into "USB writable mode" (see the Working With Files (opens in a new tab) document for your device).

Can I connect my device with other IDEs?

Firia Labs devices run CircuitPython, so you can use other development environments or editors (e.g. VS Code) to create Python programs and load them through the filesystem. Our library docs here will be useful in that instance: https://docs.firialabs.com/ (opens in a new tab). We reference these docs also in the online lessons, to familiarize students with using online documentation like this - even though most concepts and APIs are explained inline in the lessons as well.

What Python libraries are pre-loaded on my device?

To list the pre-loaded libraries on your device, go to the REPL and type:

help('modules')

What built-in functions are available in my device's Python implementation?

To list the pre-loaded libraries on your device, go to the REPL and type:

import builtins
dir(builtins)

Can I use other micropython libraries on my device?

YES! See the notes here on using external libraries: https://docs.firialabs.com/overview/adding_libs.html (opens in a new tab). To copy files to your device, check out the corresponding Working With Files (opens in a new tab) document.

How do I load external modules onto my device's filesystem?

There are two ways to load external modules onto your device's filesystem:

  1. Inside CodeSpace, make a new file (example: "metered_motors.py"), copy the contents of above into it, and Run it. Using a proper Python filename with .py extension will trigger CodeSpace to persist the file as a module you can import later.

  2. Reboot your device into "USB writable mode" by holding down a button while rebooting it. (see the corresponding Working With Files (opens in a new tab) document for your device)

    Once in USB writable mode, your device will appear as a mass storage device on your computer. You can then copy .py files directly to the device's filesystem. You'll need to wait a second after copying files and reboot the device before it will actually recognize the new files and allow importing them.

Do Firia Labs devices require Wi-Fi or internet to code with Python, and do you have to use CodeSpace to program them?

None of our devices themselves rely on a Wi-Fi or internet connection. However, to use our CodeSpace learning platform you will need an internet connected computer (Windows, Mac, Chromebook, etc). Our mission packs in CodeSpace provide a great way to learn about all the features of each device, and the Python code to control them.

However, if you need to program your device when there is no internet connection available, it is also possible to use a text editor of your choice, e.g. VS Code, and a serial terminal. You will of course not have all the tutorial lesson content you'd get in CodeSpace, but you have complete access to programming your device, including all the features of the hardware and embedded software.

Is MicroPython really Python?

We can assure you that MicroPython is 100% "real" Python! All of our devices run our Firia version of MicroPython which has been augmented with debugger capabilities. So we ARE running Python on the device itself. That's not true of every vendor out there, which may be in part where this question comes from. Going a little deeper into the question of what constitutes "real" Python, we should point out that there are multiple Python implementations commonly used for different hardware platforms and environments. Here are a few:

  • CPython is the original implementation of Python, written in the C language. It's the most likely choice if you just want to run Python on your desktop computer.
  • PyPy is a highly optimized implementation of Python, using JIT compiler technology to dramatically increase execution speed for performance intensive applications.
  • IronPython is an implementation of Python running on Microsoft's .NET runtime environment.
  • Jython is an implementation of Python running on the Java runtime environment.
  • MicroPython is an implementation of Python running on microcontrollers, optimized for small memory footprint.
  • ... and there are many more implementations in use! Each of these implementations implement the full core Python language, so if you learn Python on one of them you can use that knowledge with any of the others. Sometimes there are minor differences inherent to the platform, but all implementations attempt to minimize these differences in the interest of portability of code and knowledge. Outside the core language there are libraries. Most Python applications will make use of some standard libraries as well as some domain-specific or platform-specific ones. For example, if you are developing a Python application for AI applications on Google's cloud your Python code would import the tensorflow library. Whereas, if you're developing a Python program for Firia Labs CodeBot your Python code would import the botcore library. The Python coding knowledge you gain from working on either of these systems carries over to the other. So yes, students learning Python with Firia Labs will have no trouble jumping into writing Python on the Cloud or desktop.

What version of Python is taught in CodeSpace?

CodeSpace teaches Python 3, the latest and most widely used version of the Python programming language. For more information check out Python 3 Docs (opens in a new tab).

Hardware

If my students accidently mix up or switch the CodeX, CodeAIR, or CodeBots, will this cause any issues?

No, mixing up devices won't cause any issues. Students can use different devices each day without any problems since the access to the curriculum and progress tracking is based on their CodeSpace account. However, if students download their own pictures or audio files into their device, those files will remain on the specific device they used.

Where can I find Schematics for my device?

You can find CodeBot, CodeX, and CodeAIR schematics at (https://docs.firialabs.com/ (opens in a new tab)).

  • Look under the "Hardware Reference" section for your device.

Where can I find commands relating to GPIO or any other functions concerning the expansion breadboard?

If you have a CodeX, you should take a look at our Lift-Off Kit (opens in a new tab) which includes a breadboard and a variety of sensors and actuators. The Lift-Off Kit is designed to help you get started with the CodeX's GPIO and other hardware features.

For all our devices, see the Schematic and Expansion Connector documentation:

Core CircuitPython docs:

CodeAIR

The UART and I2C (QWIIC) interfaces are standard. To use the UART connection, the built-in functions in the codeair_drivers module are provided. https://docs.firialabs.com/codeair/codeair_drivers.html (opens in a new tab) Just look for the debug_uart_xxx() functions in that documentation. For I2C programming, refer to the CircuitPython busio documentation: https://docs.circuitpython.org/en/latest/shared-bindings/busio/index.html (opens in a new tab)

CodeX / CodeBot

In the codex and botcore modules, see the exp expansion interface. Also take a look at the source code for the module, and the CircuitPython docs.

CB2

Documentation for using GPIO and many of the internal STM32 hardware peripherals can be found here: http://docs.micropython.org/en/v1.10/library/machine.html (opens in a new tab)

Where can I locate the preloaded MP3 audio files on CodeX?

You can find them in the Toolbox - Mission 5, Music Maker. It is called CodeX Sound Collection. Also if you open the USB filesystem on your CodeX, you can find the audio files in the sounds folder.

Can I stream video from the CodeAIR?

If you need real-time streaming of video (ex 30fps) to a server, then CodeAIR is not the right platform. The CodeAIR uses the espcamera which can only generate about 5fps best case streamed over Wi-Fi. That would require you to write a small TCP socket based program (maybe an HTTP server if you want web browser access) but the refresh rate is going to be very slow. Of course there are many FPV drones with standard R/C and fast video made for drone racing, etc., but CodeAIR is instead designed for onboard Python code processing and autonomous flight (not so much for radio control). Maybe CodeAIR is a good fit for you IF you need some of its special computing capabilities.

Can I use rechargeable batteries with my CodeX and CodeBot?

Absolutely! We recommend using rechargeable batteries for both the CodeX and CodeBot. They are designed to work with standard AAA batteries and AA batteries respectively, which can be replaced with rechargeable NiMH batteries. Just make sure to use batteries that fit the specifications of your device.

Purchasing

How can I purchase from Firia Labs?

We accept POs (send to info@firialabs.com) or purchases through our online store.

Miscellaneous

What does “Firia” mean? How do you pronounce it?

Firia is the mythological “Fire of Inspiration” that sparks the imagination and inventiveness in all of us. The mission of Firia Labs is to “ignite in students a passion for creating”. It is pronounced “FɪRɪ̈ə”