ANAVI Dev Mic is an open source hardware computer microphone powered by Raspberry Pi RP2040 microcontroller. It was successfully crowdfunded through Crowd Supply on Sep 26 2024.
The initially estimated shipping date was Nov 17, 2024. However, we have great news to share! A few days ago we dispatched all ANAVI Dev Mic kits to Crowd Supply’s warehouse. This means that shipping to backers will start ahead of schedule. Over the next few weeks, orders will be processed through their fulfillment system.
If you have backed the crowdfunding campaign and you need to update your shipping address, please do so via your Crowd Supply account as soon as possible. Shipping to backers will begin soon, and you’ll receive a tracking number once your order is on its way. You can also check your order status and other details through your account.
Each kit is packaged in an eco-friendly cardboard box made from recycled materials, reflecting our commitment to sustainability and responsible packaging.
We sincerely thank you for supporting our open-source computer microphone! If you missed the crowdfunding period you can still order your new microphone from Crowd Supply. In the coming months we stock ANAVI Dev Mic through other trusted distributors and online stores. As usual, stay tuned for further technical updates and new exciting open source projects!
Our crowdfunding campaign at Crowd Supply for ANAVI Dev Mic successfully wrapped up on September 26th, and we couldn’t be more grateful! Thank you! Over 30 backers from eight countries supported this open-source hardware project for a computer microphone powered by the Raspberry Pi RP2040 microcontroller.
ANAVI Dev Mic is a compact, affordable, exceptionally adaptable open-source microphone. The printed circuit board has been designed with KiCad and feetures Seeed Studio XIAO module with the Raspberry Pi RP2040 microcontroller and an omnidirectional digital microphone that work together to ensure high-quality sound capture and processing.
The production of the printed circuit boards and component assembly is now complete, and we’ve also finished the laser-cut acrylic enclosures. Packaging materials, including cardboard boxes and stickers, are ready to go. In the coming weeks, we’ll complete packaging and transfer everything to the warehouse. From there, Crowd Supply’s fulfillment service will ship the ANAVI Dev Mic kits to all our backers.
Thank you again for your tremendous support, feedback, and contributions to our GitHub repositories. More updates are coming soon—stay tuned!
The ANAVI Dev Mic is a small, open-source microphone kit designed for hobbyists and developers. It’s easy to assemble on your own, even with minimal tools. While you can complete the assembly using just your hands, a screwdriver will make the process quicker.
Components
When you open the ANAVI Dev Mic kit, you’ll find the following parts:
Black PCB with gold plating and white markings
Acrylic top cover
Acrylic bottom cover
Four 10 mm screws (M2.5)
Eight M2.5 nuts
NOTE: The kit does not include a USB-C cable. You can use one you already have or buy one separately.
Step 1: Remove Protective Layer
The acrylic covers are laser-cut and come with a protective film on both sides. Carefully peel off this film to reveal the clear acrylic.
Step 2: Attach the Top Cover
Take the PCB and the top acrylic cover, which has a circular cutout for the microphone. Align the cover with the corresponding circle on the PCB. Insert a screw into each of the four mounting holes and secure them with the nuts provided.
Step 3: Install the Bottom Cover
Next, place the bottom acrylic cover over the side of the PCB where the XIAO RP2040 module is located. Secure the cover by tightening it with the remaining four nuts.
Step 4: Connect and Use
With these simple steps completed, your microphone is ready to go. Just plug ANAVI Dev Mic into your computer using a USB-C cable, and you’re good to go!
Let’s explore how to retrofit a classic Wii Nunchuk controller using ANAVI Handle, an open source hardware USB-C adapter that lets you connect a wired Nunchuk controller to any modern PC, be it a laptop or desktop. In this tutorial, you will learn how to configure the Nunchuk as a joystick and enjoy the open-source game “Tiny Crate”, all within your web browser.
Hardware Requirements
To get started, you’ll need:
A personal computer
A USB Type-C cable
An ANAVI Handle along with a Wii Nunchuk (or another compatible controller)
Software Configuration
Begin by connecting your Wii Nunchuk controller to your computer using the ANAVI Handle, an open-source hardware adapter. Next, edit the config.json file to enable joystick mode by adding:
{
"type": "joystick"
}
The ANAVI Handle’s default open-source firmware (written in CircuitPython) uses the analog stick and buttons on the Nunchuk to control movement in joystick mode. After modifying config.json, disconnect and reconnect the ANAVI Handle to apply the changes.
The ANAVI Handle’s RGB LED provides visual feedback on the connection status:
A green light indicates a successfully connected Nunchuk controller.
A blue light shows the controller has been disconnected from the ANAVI Handle.
A red light signals an absent or improperly connected Nunchuk controller.
In the video, you’ll see the green light illuminated, confirming that everything is functioning correctly.
To quickly verify that your controller is working in joystick mode, load the HTML5 Gamepad Test in a modern web browser. This open-source tool is available on GitHub under the MIT license and provides a simple way to check your controller’s functionality.
Let’s Play!
Once everything is set up, you’re ready to dive into games that support joysticks!
While preparing this video, I discovered an incredible game called Tiny Crate. It’s a 2D puzzle game with charming pixel art graphics and joystick compatibility. Despite being a puzzle game, its game play evokes a sense of nostalgia for classic jump-and-run titles. Tiny Crate is an open-source game, with its source code available on GitHub. Developed using the Godot game engine, it’s playable on multiple platforms including Windows, macOS, Linux, and even Android.
I featured Tiny Crate while demonstrating the ANAVI Handle during the “Show and Tell” segment of Pi Wars, a Raspberry Pi-based, non-destructive robotics competition. Pi Wars 2024 took place on April 20th-21st in Cambridge, UK, attracting 58 teams of robot engineers. During my demonstration, children of all ages were captivated by Tiny Crate, so much so that many were too absorbed in solving game levels to notice the ANAVI Handle or the Nunchuk controller. This speaks volumes about the quality of Tiny Crate and the effectiveness of the ANAVI Handle in seamlessly converting the Nunchuk controller into a USB HID device.
If you’re passionate about gaming innovation and eager for a new experience, all you need is a Nunchuk controller and an ANAVI Handle. After a successful crowdfunding campaign ANAVI Handle is available at Crowd Supply. We will soon stock it at our other distributors. Follow this guide and get ready to enjoy hours of fun with your favorite games!
Thanks to open source it is possible to enjoy your favorite arcade, home-console, and classic PC games on a budget setup. In this video tutorial, we will transform an old netbook into a portable retro-gaming machine using Raspberry Pi OS and RetroPie.
RetroPie is a software package designed to enable the emulation of classic video game consoles that sits on top of a full OS. In this tutorial we will install it on top of a Linux distribution. RetroPie allows users to play games from a wide range of vintage systems by using emulators for platforms such as:
Atari 2600, 5200, 7800, Lynx
Commodore 64
Nintendo Entertainment System (NES), Super NES (SNES), Nintendo 64 (N64), Game Boy, Game Boy Advance
Sega Genesis/Mega Drive, Sega CD, Sega 32X, Sega Master System, Game Gear
Sony PlayStation 1
Required Hardware
This is the required hardware for this tutorial:
Personal computer (PC). For example an old netbook like Acer Aspire One D257 or Asus EeePC (or similar) with an Intel Atom or AMD CPU is a great fit.
ANAVI Handle open source hardware USB adapter for Wiimote attachments
Wii Nunchuk controller (or another compatible controller)
Software
Follow the steps below to install and configure all the required software on your computer.
Step 1: Install Raspberry Pi OS for Desktop
Raspberry Pi Desktop for PC and Mac is a 32-bit GNU/Linux operating system designed for older and less powerful computers. It’s based on Debian, a popular Linux distribution, and includes the Raspberry Pi OS desktop environment along with a set of recommended software. If you have an aging computer that can’t handle modern commercial operating systems, Raspberry Pi OS can revitalize it, making it usable again. To get started, download the OS, flash the ISO file onto a USB drive, boot from the USB on your computer, and proceed with the installation.
Step 2: Install RetroPie
Follow the official documentation for installing RetroPie on a PC running Debian or Ubuntu. Use the RetroPie setup script to perform a Basic Install.
Step 3: Transfer ROM files
After RetroPie is installed, you’ll need to move ROM files for your favorite games into the correct directories. If you followed the steps above, the main directory for all ROMs is located at ~/RetroPie/roms (or /home/pi/RetroPie/roms, which is the same). There are subdirectories for each supported emulated system, such as NES, SNES, and others.
Step 4: Connect ANAVI Handle and Nunchuk
The next step is to connect a Wii Nunchuk controller to your computer using our open-source hardware adapter. Edit config.json and enable keyboard mode:
{
"type": "keyboard"
}
ANAVI Handle comes with open source firmware written in CircuitPython. The keyboard mode includes a D-pad (directional pad, aka arrows), along with A and B keys. Save the changes to config.json. Ensure they take effect by disconnecting and then reconnecting the ANAVI Handle. After that configure the controls in RetroPie using the Nunchuk controller and ANAVI Handle.
The RGB LED on ANAVI Handle indicates the connection state
Connection States Through RGB LED
The default open-source firmware uses the RGB LED to display three different connection states:
A green light means the Nunchuk controller is properly connected.
A blue light indicates the controller has been disconnected from the ANAVI Handle.
A red light warns that the Nunchuk controller is missing or not connected correctly.
In the demo video, you’ll see the green light on, signaling that you’re ready to enjoy some classic games!
Enjoy Retro Gaming on the Go
Once everything is set up, you can begin your retro-gaming adventure! Power on your computer. RetroPie will start automatically (unless you’ve configured it differently), allowing you to dive into a world of classic arcade, home console, and homebrew games. Whether you’re fighting aliens or challenging a heavyweight champ, a whole world of gaming awaits you. heavyweight champ, a whole world of gaming is waiting for you.
If you have an old Netbook, give it a second chance as portable gaming machine! Get a Nunchuk controller and our open source ANAVI Handle, follow this tutorial, and get ready to relive the golden age of gaming!
The Open Source Hardware Association (OSHWA) officially certified our new gadget ANAVI Handle in April. ANAVI Handle is a small USB-C adapter with XIAO RP2040 that allows you to use Wii Nunchuk-compatible controllers as USB HID peripherals on your personal computer. You can configure ANAVI Handle to adapt the controller as a joystick, keyboard or a mouse.
OSHWA, a prominent U.S.-based non-profit, manages the Certified Projects Directory and annually hosts the prestigious Open Hardware Summit. Their certification program ensures that a project’s interpretation of “open source hardware” aligns with the community’s standards, promoting transparency and accessibility.
Each certified hardware version is identified by a unique identification number (UID) that includes a country code and a numerical sequence. On April 19th, ANAVI Handle version 1.0 was certified with the UID BG000134. This UID, displayed through the OSHW Certification Mark, simplifies navigation and information access for interested parties. The “BG” prefix indicates that the ANAVI Handle is from Plovdiv, Bulgaria, a city renowned as Bulgaria’s second-largest and Europe’s oldest continuously inhabited city, with over 6000 years of history.
Our projects, including the ANAVI Handle, are distinguished by our unwavering commitment to complete openness. Every aspect of our design and functionality is made accessible to all, reflecting the true spirit of the open-source community. From the KiCad-designed printed circuit board to the highly-configurable firmware powered by CircuitPython, we exclusively use free and open-source software.
The ANAVI Handle is an open-source hardware USB adapter for the Nintendo Wiimote connector. Its open-source firmware transforms the Nunchuk controller into a USB mouse, keyboard, or joystick. If you missed out on the crowdfunding phase, don’t worry—you can still snag a kit from Crowd Supply.
As we step into 2024, we extend our warmest wishes to all makers and engineers passionately involved in open-source software and hardware ecosystem. May the coming year be filled with groundbreaking projects, collaborative efforts, and success in all your endeavors!
2023 in Review
2023 was a significant turning point for the tech industry. It marked rise of AI and also the end of the global chip shortage, providing relief to both small and large manufacturers and paving the way for new cutting-edge devices. Among the highlights of 2023 was the very anticipated release of Raspberry Pi 5 single board computer.
In 2023, our open source hardware lineup expanded with a couple of new mechanical keyboards ANAVI Macro Pad 12 and ANAVI Arrows. Both are OSHWA certified and support QMK and KMK. We have dedicated considerable efforts to streamline the production of our existing products, ensuring that we maintain competitive retail prices while meeting the growing demand for years to come. Despite rising production costs, we have maintained our prices without any increases.
2024 Roadmap
Looking ahead to 2024, we’re thrilled to unveil a range of exciting products. The ANAVI Miracle uHAT takes center stage, allowing users to conduct a symphony of color with this open source add-on board for Raspberry Pi single board computers. Featuring compatibility with addressable RGB LED strips like WS2812B, mini I2C OLED display, and sensors, it opens up a world of possibilities for dynamic and interactive projects. We hope to launch a crowdfunding campaign for ANAVI Miracle uHAT at Crowd Supply in Q1 2024.
But that’s not all. Our lineup for 2024 also includes plans for USB adapter board designed for Wii Nunchuk compatible joysticks, providing a seamless gaming experience. Additionally, we’re working on a USB microphone, IoT development boards and a CO2 sensor—innovations that align with our commitment to developing practical and meaningful open-source hardware solutions. Stay tuned for more surprises, including potential additions to our collection of mechanical keyboards, as we continue to push the boundaries of what’s possible in the world of DIY electronics. Here’s to another year of collaboration, creativity, and limitless innovation in the open-source hardware community!
In the world of electronics and IoT, gesture recognition has emerged as a fascinating and practical technology. Whether it’s controlling your favorite gadgets with the wave of a hand or adding a touch of magic to your projects, gesture recognition sensors play a pivotal role. Among the numerous sensors available, the APDS9960 stands out as a versatile and widely used I2C sensor at a very affordable price. In this blog post, we will take you on a journey through the fascinating world of gesture recognition using the APDS9960 sensor on a Raspberry Pi and any of our popular add-on boards: ANAVI Infrared pHAT, ANAVI Light pHAT, ANAVI Gardening uHAT, ANAVI Info uHAT as well as ANAVI Miracle uHAT and ANAVI CO2 uHAT (both of which are in final development).
What is APDS9960?
APDS9960 is an I2C (Inter-Integrated Circuit) sensor produced by Broadcom (formerly Avago Technologies). It is known for its versatility and is commonly used for gesture recognition, proximity sensing, ambient light sensing, and color sensing applications. Gestures are detected at a distance of 10 to 20 cm. The sensor has built-in UV and IR filters for better recognition. Its wide range of applications makes it a favorite choice among electronics enthusiasts, engineers, and hobbyists. Ovewr the years APDS9960 has been integrated in many popular consumer electronic devices, including Samsung Galaxy S5 smartphone.
In this tutorial, we will explore how to set up gesture detection on a Raspberry Pi running the Raspberry Pi OS Linux distribution. Specifically, we will use the APDS9960 I2C sensor connected to a Raspberry Pi uHAT (add-on board) and a mini OLED SSD1306 I2C yellow-blue display.
🔌 Hardware Setup
Both APDS9960 sensor and the mini yellow-blue SSD1306 OLED display rely on the serial communication protocol I2C that allows multiple electronic devices to communicate with each other using only two wires: serial data (SDA) and serial clock (SCL). Raspberry Pi single board computers have two different I2C busses. The primary I2C bus is at GPIO 2 (physical pin 3 for SDA) and GPIO3 (physical pin 6 for SCL). These pins should be used to attach APDS9960 and the mini OLED display to the Raspberry Pi. Also APDS9960 should be connected to 3.3V and GND pins of the Raspberry Pi to be powered. This makes 4 wires in total to attach the sensor. ANAVI HATs (Hardware Attached on Top) for Raspberry Pi offer dedicated slots for I2C sensors. On ANAVI Info uHAT and ANAVI CO2 uHAT there are even dedicated slots for the mini OLED display.
Of course the OLED display is optional and as an alternative we offer a simple command-line Python3 example for APDS9960 which can function without the OLED display.
🖥️ Software Setup
The software setup is straight forward: install Raspberry Pi OS on microSD card, boot your Raspberry Pi and enable I2C using raspi-config. More details are available in the user’s manual for our HATs.
🐍 Python3 Scripts
The heart of our demonstration are scripts written in the Python 3 programming language. We’ve tailored the script to work seamlessly with Raspberry Pi OS, but it should also run smoothly on any other GNU Linux distribution. These scripts rely on popular Python3 libraries like PIL and Luma OLED. You can find the source code on GitHub for reference and further experimentation: https://github.com/AnaviTechnology/anavi-examples/tree/master/sensors/APDS-9960/python
There are two different Python 3 scripts to demonstrate APDS9960 gesture detection:
gesture-oled.py for detecting gestures and showing them on the mini OLED display as in the video
gesture.py for detecting gesture and printing them in the command-line interface (use this one if don’t have a suitable mini OLED display)
👁️ Real-Time Gesture Detection
Experience the magic as the APDS9960 sensor detects your hand movements, including swipes, taps, and more. Witness how your Raspberry Pi interprets and responds to these gestures in real-time, opening up a world of interactive possibilities. The video provides insights into potential issues you might face during setup and offers practical tips to ensure a seamless experience.
So, if you are ready to embark on this exciting journey into gesture recognition technology, grab your Raspberry Pi, APDS9960 sensor, and let’s get started!
I2C (Inter-Integrated Circuit) is a popular serial communication protocol that allows multiple integrated circuits to communicate with each other over a short distance, typically limited to a few meters. Each device on the bus has a unique address, identifying it and allowing it to communicate individually. The protocol was developed by Philips (now NXP Semiconductors) in the 1980s. Over the years it has become a standard for communication between various electronic components in embedded devices. I2C can be used to connect various peripherals, such as sensors, displays and EEPROMs. The mini OLED yellw-blue displays on our compact mechanical keyboards ANAVI Macro Pad 12 and ANAVI Arrows are connected to the Raspberry Pi RP2040 microcontrollers over I2C.
I2C is easy to use becase it requires only two wires for communication:
SDA (Serial Data) for transmitting and receiving data between devices
SCL (Serial Clock) for a clock signal to synchronizes the data transfer between the devices
The core component of our hot-swappable mechanical keyboards ANAVI Macro Pad 12 and ANAVI Arrows is Seeed Studio XIAO RP2040 module. This is actually a tiny development board suitable for surface-mount technology (SMT) assembly and equipped with a Raspberry Pi RP2040 32-bit dual-core ARM Cortex M0+ MCU, 264 KB SRAM, 2 MB Flash memory, 11 GPIO pins and USB-C connector. The I2C interface is located on pins D4 (for SDA) and D5 (for SCL) of XIAO RP2040.
A yellow-blue mini OLED I2C display is included in all kits with ANAVI Macro Pad 12 and ANAVI Arrows. It has 4 pins: GND (ground), VCC (supply voltage), SCL, and SDA. This display relies on SSD1306, a single-chip CMOS OLED/PLED driver with controller for organic / polymer light emitting diode dot-matrix graphic display system which consists of 128 segments and 64 commons. It is the same display we include in our other mechanical keyboards like the ANAVI Macro Pad 10 and ANAVI Macro Pad 8, Internet of Things devices like the ANAVI Thermometer and ANAVI Gas Detector, tools like ANAVI Fume Extractor, and Raspberry Pi add-on boards like ANAVI Info uHAT. This versatile mini OLED display is a great fit for many projects, You can pick one up at Mouser if you need a spare.
There is a dedicated slot for the display on the printed circuit board. Just plug the mini OLED display into it and then connect the mechanical keyboard to a computer. In every kit with ANAVI Macro Pad 12 and ANAVI Arrows, you will find four additional male-to-female jumper wires included, providing you with an exciting opportunity to get creative with your project. If you decide to design your own 3D printed case for the keyboard, these jumper wires may become handy. They grant you the flexibility to reposition the mini OLED display to a location of your choice within the case.
ANAVI Macro Pad 12 is compatible the two most popular open source firmwares for mechanical keyboards: KMK and QMK. KMK is written in CircuitPython and QMK in the C programming language. Both support OLED displays over I2C.
Out of the box ANAVI Macro Pad 12 and ANAVI Arrows come with the KMK firmware. It uses the extension Peg Oled Display based on the open source CircuitPython libraries Adafruit_CircuitPython_DisplayIO_SSD1306 and Adafruit_CircuitPython_Display_Text. This extension allows your keyboard to display images or text and even to react to the currently selected keyboard layer.
Makers with advanced skills have a fantastic opportunity to extend the capabilities of the keyboard project by adding more I2C peripherals. Using a breadboard and without any soldering, makers can easily connect additional I2C peripherals, such as sensors or other modules that communicate via I2C, to the existing setup. This allows them to expand the project’s functionalities and explore various creative ideas. Those seeking a more permanent and tailored extension can even design their own custom I2C add-on printed circuit board. The mini OLED displays included in the kits work out of the box, but it is important to be aware that incorporating any other I2C devices into the keyboard will require adjusting the KMK firmware to support the additions.
Support our crowdfunding campaign and get the open source mechanical keyboards ANAVI Macro Pad 12 and ANAVI Arrows with a mini OLED display for real-time notifications and customizable graphics at your fingertips. Learn how to use I2C and unleash your creativity by extending the keyboard with additional peripherals!