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:
- Licensing
- Getting Connected
- Curriculum
- Troubleshooting
- Hardware
- Purchasing
- Miscellaneous
- Compliance
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@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, Virtual Robotics or Lift-Off?
Check out our Getting Started with CodeSpace Blog (opens in a new tab) 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 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 make.firialabs.com (opens in a new tab).
How do I add another teacher as an admin onto my license for CodeX, CodeBot, or Virtual Robotics?
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 Blog (opens in a new tab) - 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 (opens in a new tab).
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.
I’m getting a ‘No Device Connected’ when I log into make.firialabs.com while trying to use either my CodeX or CodeBot.
Follow the directions in this google document - Target Device Connections (opens in a new tab). If that doesn’t fix the problem, email us at support@firia.com.
Curriculum
Why are Firia Labs devices and curricula better than "free stuff"?
Firia Labs devices and curricula offer several advantages over "free resources" that enhance both the teaching and learning experience:
- Physical Computing Devices: Physical computing devices, like those offered by Firia Labs, provide a more immersive learning experience compared to purely on-screen curricula like several "free" options available. While platforms like "free options" introduce students to coding concepts, physical computing bridges the gap between code and the real world, allowing students to see how their programming translates into tangible outcomes.
- Hands-on Learning: By working with devices like CodeX or CodeBot, students gain hands-on experience with hardware, sensors, and robotics, which deepens their understanding of how coding powers the technology around them. This connection enhances engagement, creativity, and problem-solving, offering a more robust and relevant coding education.
- Real-World Application: With Firia Labs, students aren't just learning theoretical coding concepts; they are applying their skills to real-world challenges, such as robotics, AI, and data analysis. This practical focus ensures students gain skills they can use in future careers.
- Comprehensive Support: Firia Labs provides a structured curriculum designed to align with educational standards and cover essential coding and computational thinking skills. It saves teachers time from searching for or creating lesson plans and ensures that the material progresses logically, with clear learning objectives.
- Teacher Training & Professional Development: Firia Labs not only provides curriculum but also offers professional development for teachers, ensuring that they are confident and capable of teaching coding, even if they don't have a coding background.
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: University of Alabama Robotics Competition (opens in a new tab). We made some videos about it!
- Add a display or other peripheral using the breadboard:
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.
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 valuable 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 CodeX?
CodeX Troubleshooting Guide (opens in a new tab)
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 (opens in a new tab). 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!
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.
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 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.
Hardware
Can I use open source tools to develop for CodeBot?
As a matter of fact, you can use open source tools to develop for CodeBot. Moreover, CodeBot is built on open source. And likely any other robot you purchase will not have open source hardware with full schematics published. So in fact you have in your hands the best open source educational robotics platform around!
If my students accidently mix up or switch the CodeX or CodeBots, will this cause any issues?
No, mixing up devices won't cause any issues. Students can use different CodeX or CodeBots each day without any problems since the access to the curriculum is managed by license. However, if students download their own pictures or audio files, those files will remain on the specific device they used.
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 (opens in a new tab). To copy files to your CodeBot, check out the Working With Files (opens in a new tab) 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/ (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.
How do I load external modules onto CodeBot's filesystem?
There are two ways to load external modules onto CodeBot's filesystem:
- 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.
- 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 (opens in a new tab).
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 (opens in a new tab)
Expansion connector docs are here: https://docs.firialabs.com/codex/hardware_reference/Expansion.html (opens in a new tab)
Purchasing
How can I purchase from Firia Labs?
We accept POs (send to info@firialabs.com) or purchases through our online store.
Miscellaneous
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 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 our Python 3.12.4 Documentation Page (opens in a new tab).
Can I use rechargeable batteries with my CodeBot?
Absolutely!
Where can I locate the preloaded MP3 audio files?
You can find them in the Toolbox - Mission 5, Music Maker. It is called CodeX Sound Collection.
I tried uploading a file that didn't work, it was too large. What are the size limits for files?
The CodeX device uses a microcomputer with an ESP32 chip, and the size limitations are determined by the chip's memory capacity. The ESP32 has 520 KB of available SRAM, which includes 320 KB of DRAM and 200 KB of IRAM. You can refer to the ESP32 memory documentation (opens in a new tab) for more details on memory limitations.
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.
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ɪ̈ə”
Compliance and Non-compliance
US Federal Regulations
National Defense Authorization Act (NDAA)
- CodeAIR is compliant with Section 889 (opens in a new tab)
- Section 889 Policies | Acquisition.GOV (opens in a new tab)
American Drone Security Act (ADSA)
- CodeAIR is not compliant with ADSA
- This applies to military funding, including JROTC. Good summary here: FY20 NDAA Sec 848 Component Definition Guidance (opens in a new tab)
- Full text here: https://www.congress.gov/bill/118th-congress/house-bill/2670/text (opens in a new tab)
- Based on this and the summary/clarifications at diu.mil, we would have to change to a non-Chinese manufactured CPU/radio, camera, and SD card.
Florida State Regulations
CodeAIR is a Tier One drone, per FL 60GG-2.0075 (opens in a new tab) [Unmanned Aerial Systems (UAS) Minimum Security Requirements]
Background: Florida previously maintained a list of approved drone manufacturers. In April '23 they archived that list and published the 60GG-2.0075 security guidelines for procurement.
Approved Drone Manufacturers (opens in a new tab)
Office of Criminal Justice Grants | Drone Replacement Program (DRP) (opens in a new tab)