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. 

For any other miscellaneous questions or inquiries that may not fit into the predefined categories, check out our "Miscellaneous" section. We aim to cover a wide range of topics to ensure you have the resources you need for a smooth experience with our products and services. 

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. 



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

Licenses for all curriculum are sent from info@firialabs.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 for Python with CodeX, CodeBot, or Virtual Robotics?

Check out our Getting Started with CodeX, CodeBot & Virtual Robotics Blog for directions on getting your license set up. 

How do I set up my license for Jumpstart License?

Check out our CodeSpace Licenses and Share Token Blog for directions on getting your license set up.

What’s the difference between Share Token and Join Code for Jumpstart Python?

Share Token - you only have one of these. Students enter this to get access to your license seats. If you generate a new one it cancels the previous one.

Join Code - you can have many of these, one for each Classroom you create in the Teacher Dashboard

What happens when my 1 year license expires?

If the license is not renewed you will lose access to those lessons in the curriculum. 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 sim.firialabs.com.

How do I transfer my Jumpstart Python license to another teacher?

It's as easy as emailing the license key to the other teacher so it can be added to their account in CodeSpace. Anyone with the key can share the seats under the license. This applies to make.firialabs.com - which includes also includes Mission Pack: Lift Off!.

How do I add another teacher as an admin onto my license for CodeX, CodeBot, or Virtual Robotics? 

Go to license.firialabs.com 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 CodeX, CodeBot, and Virtual Robotics - 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 Apple computers?

Yes!  Check out all of our system requirements here


Is a google account required for Jumpstart Python?

Currently any curriculum used at make.firialabs.com requires a google login. As a stopgap, some of our non-google schools have created a set of "fake accounts" that the students can use for the express purpose of logging into CodeSpace as it stands today. We don't require any special email addresses, so ANY google login will do - they just need to enter your share-token to access the course.


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

No, you can create an account with any email address. Although a google login is the easiest way to sign in. 


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 google log in there should be no need to re-enter any extra codes. 


Do share tokens expire?

No, share tokens never expire.  But, you can change it whenever you’d like. Log into make.firialabs.com.  Click on ‘Help’, click on ‘Manage Licenses’, and then a box will appear that shows your current share token. This is also where you’ll change it. 


I’m getting a ‘No Device Connected’ when I log into sim.firialabs.com while trying to use Python with CodeX.  

Follow the directions in this google document - Target Device Connections. If that doesn’t fix the problem, email us at support@firia.com



Does your Jumpstart Python support Micro:bit v2?

No, it was a significant change from v1. We turned our engineering efforts into creating CodeX


What grade range is appropriate for Python with CodeX?

It depends. The curriculum was written with middle school standards and reading level in mind, but students in upper elementary who have been coding with block-based programs have used Python with CodeX successfully. Likewise, students in high school who have never taken computer science courses find it engaging. We feel that Python with CodeX is an appropriate intro to Python for students of all ages!


What grade range is appropriate for Python with Robots?

Python with Robots was written with high school standards and reading level in mind, however, students in middle school who have completed Jumpstart Python, Python with CodeX, or similar will find Python with Robots to be appropriately challenging. 


What grade range is appropriate for Python Level-1 with Virtual Robotics?

We typically recommend high school students, but there might be individuals who are capable of handling this more challenging course.  Firia Labs is always open to discussing if this is suitable for your classroom.


Should students complete Python with CodeX before Python with Robots?

Not necessarily. If your district is planning out a scope and sequence for computer science courses, we would certainly recommend doing them in that order. However, the concepts in Python with CodeX are also covered in Python with Robots, albeit at a faster pace. 


Should students complete Python with Robots before Python Level-1 with Virtual Robotics?

While it is not mandatory, comprehending the physical aspects of the CodeBot enables individuals to grasp concepts in a more tangible manner before immersing themselves in a virtual environment. 


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

  • Set up a line following course and try to improve speed through the course with better algorithms.
  • Try some inspiring "robotics competition" challenges like those listed here: https://outreach.cs.ua.edu/robotics-contest/past.html
    • We made some videos about that here: https://youtube.com/playlist?list=PL8AEwH8e433QbvSbfT6yiuvutSpBABrj5
  • Add a display or other peripheral using the breadboard:


What’s with the two versions of CodeSpace: “sim” and “make’?

With the launch of the Virtual Robotics platform, Firia Labs also launched a new version of CodeSpace. As of April 2024:

  • The new version https://sim.firialabs.com/ is used for Virtual Robotics, CodeX, and CodeBot curricula.
  • The original version https://make.firialabs.com/ is used for JumpStart (micro:bit) and Mission Pack: Lift Off! curricula. 
    • You will be able to use this CodeSpace version for Python with Robots until July 27, 2024.


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 sim.firialabs.com, 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.



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 CodeX?

CodeX Troubleshooting Guide


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

It’s time to rule things out!  Start with using a different cable. If that doesn’t fix the problem try a different computer. You can also try to reload chrome. Last, but not least you can reload the firmware, Firmware Updater. If none of these items fix the issue, email us!


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

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. HELP!

One possible the USB power consumption when running the CodeBot motors is the problem. Start by reformatting the filesystem. 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.


How do I do a hard reboot of the CodeBot?

With either USB or battery, making sure that there is power to the bot, press and hold button one. Press the reboot button and release while continuing to hold button one.  Wait until you hear four or five beeps and then you can release button one when it stops beeping.  At that point all the lights should turn and off and it is now reset. 


My microphone isn’t working on my CodeX, what can I do to fix it?

Make a new file in CodeSpace called “Mic Test” and paste this code into the file. 

The program will beep at your to begin.  Talk into the microphone for 2 seconds, listen for the recording to playback. The program will beep when it is complete.  If you hear it, your microphone works. If there isn’t any sound, reach out to support@firialabs.com


How do I reset my progress? 

Log into sim.firialabs.com, 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.



How do I use other micropython libraries on the CodeBot? 

For the CB3 you can use CircuitPython libraries, and compatible MicroPython libraries. We briefly mention it here, https://docs.firialabs.com/overview/adding_libs.html.  To copy files to your CodeBot, check out the Working With Files document.  


Can I connect the CodeBot with other IDEs?

CodeBot runs 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/.  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.


How do I load external modules onto CodeBot's filesystem?

There are two ways to load external modules onto CodeBot'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. Using the flash filesystem, drag-and-drop the .py files to the CodeBot "mass storage device". You'll need to wait a second after copying files and reboot CodeBot before it will actually recognize the new files and allow importing them.


Where can I find the CodeBot Schematics?

You can find both CB2 & CB3 schematics at CodeBot Specs


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

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

Expansion connector docs are here: https://docs.firialabs.com/Schematic.html



How can I purchase from Firia Labs?

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



Is MicroPython really Python?

I can assure you that MicroPython is 100% "real" Python!

The CodeBot, CodeX, and Firia Labs micro:bit all 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, I 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 are the physical dimensions of the CodeBot stand in Thingiverse?

The file in Thingiverse needs to be scaled by a factor of 10x. Changing the scale factor from 100% to 1000% should do the trick. 


Can I use rechargeable batteries with my CodeBot?



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ɪ̈ə”