ANAVI Handle

Use Wii Nunchuk-compatible controllers as USB HID peripherals

May 29, 2024

Project update 7 of 9

Getting Started with CircuitPython

by ANAVI Technology

CircuitPython is an open-source framework tailored for low-cost microcontroller boards and constrained hardware devices, making it perfect for beginners and educators. A variant of the popular programming language Python, CircuitPython has been designed to be easy to learn and use. By simply connecting to a personal computer, you can write and test code directly on the microcontroller.

CircuitPython also facilitates rapid firmware development with its extensive hardware support and comprehensive built-in libraries. Among the supported microcontrollers is the Raspberry Pi RP2040, which allows us to develop firmware for the ANAVI Handle and other devices built using the Seeed Studio XIAO RP2040 module.

Installing CircuitPython

Out of the box, ANAVI Handle comes with open source firmware written in CircuitPython installed. So, under normal circumstances, installing CircuitPython should not be necessary. However, if you need to reset the ANAVI Handle and restore it to factory settings, follow these exact steps as shown in the video above to install CircuitPython and the open-source firmware:

For this task, it is recommended that you use CircUp. It is an open-source command-line tool, developed by Adafruit Industries to manage CircuitPython libraries. It simplifies updating, installing, and uninstalling libraries on CircuitPython-compatible microcontrollers. First and foremost, ensure that you have circup installed in your Python environment on your personal computer. If it’s not already installed, you can do so with the following command:


pip3 install circup

With circup installed and your CircuitPython device connected use the following command to install:


circup install adafruit_bus_device adafruit_hid adafruit_nunchuk adafruit_seesaw neopixel

Or the following command to update an existing version:


circup update

Thonny IDE

If you need a lightweight and user-friendly IDE for writing and debugging CircuitPython code, consider using Thonny. This free, open-source IDE is beginner-friendly and works on Windows, macOS, and Linux distributions. Thonny supports development on microcontrollers, making it a versatile choice for novice and experienced programmers alike who are working on CircuitPython or MicroPython projects. You can even use Thonny IDE on a Raspberry Pi single-board computer with the Raspberry Pi OS!

Thonny supports various Python environments, including standard Python and CircuitPython, making it suitable for various programming tasks. To use Thonny with CircuitPython on XIAO RP2040, follow these steps:

This CircuitPython tutorial is beneficial not only for the ANAVI Handle, but also for our other open-source hardware devices powered by the XIAO RP2040. These include the ANAVI Knob 1, ANAVI Knob 3, ANAVI Macro Pad 10, ANAVI Arrows, and ANAVI Macro 12 mechanical keyboards.

One last thing: the ANAVI Handle crowdfunding campaign ends this week, so here’s a huge thank you to everyone who has already supported this entirely open-source project. If you haven’t ordered your ANAVI Handle yet, now is the perfect time to ensure you become one of the first owners!


Sign up to receive future updates for ANAVI Handle.

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects