Do you remember the ANAVI Macro Pad 2, our tiny mechanical keyboard with just two keys? Built around the Microchip ATtiny85 microcontroller, it comes with QMK version 0.13.19 and is often used as a cool copy-paste keypad. However, its open-source firmware can be reprogrammed for various uses. Recently, Henrik shared a Crowd Supply “field report” about his impressive setup, using the ANAVI Macro Pad 2 to control audio streams with his favorite songs. Although the ANAVI Macro Pad 2 was successfully funded on Crowd Supply three years ago, in June 2021, we continue to update the documentation and share news with our backers. It’s fantastic to keep improving the product based on community feedback.
Henrik created a custom QMK keymap for the ANAVI Macro Pad 2 based on his needs: the left button is for “play/pause,” and the right button is for “next song.” He even configured the LEDs to light up when the buttons control media playback. Why hire a DJ when you can be the DJ with your homemade setup using the ANAVI Macro Pad 2?
After modifying the firmware, Henrik made a hardware customization. For fun, he changed the keycap on the right button to one featuring a sleeping unicorn. This new keycap, being heavier than the default translucent one, adds weight to the otherwise lightweight ANAVI Macro Pad 2. The keyboard comes with Gateron red mechanical switches, which are Cherry MX compatible, allowing for easy keycap changes. Henrik also shared his plans for future modifications, including a second custom keycap.
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.
After months of diligent research and development, we’re thrilled to unveil the launch of the crowdfunding campaign for the ANAVI Handle at Crowd Supply. This open source USB adapter bridges the popular wired Wii Nunchuk controller to personal computers, integrating open-source hardware with free and open-source software.
Designed using KiCad, the printed circuit board is gold-plated. The main component is Seeed Studio XIAO module with Raspberry Pi RP2040 microcontroler. The firmware of ANAVI Handle, driven by CircuitPython, guarantees effortless functionality, featuring versatile modes for joystick, mouse, or keyboard use.
The crowdfunding target for the ANAVI Handle is intentionally humble, marked at a mere $1. Your backing will help production in Plovdiv, Bulgaria, EU, tapping into our trusted supply network. Join us by placing an order and breathing life into this wholly open-source endeavor!
Plovdiv Game Jam 2024 was an exciting and dynamic event that brought together a diverse group of over 150 passionate participants. Held from January 26 to 28 at the Technical University Sofia, branch Plovdiv, this game jam was part of Global Game Jam.
Ralitsa Kostadinova inaugurated Plovdiv Game Jam 2024
The event was orchestrated by a dedicated team of volunteers who worked tirelessly to ensure its success. Throughout the weekend, participants formed teams and engaged in an intensive and inspiring game development process. As a testament to the collaborative spirit and creativity within the gaming community more than 30 impressive computer and board games were created.
Assoc. Prof. Nikola Shakev delivered the opening address at Plovdiv Game Jam 2024
Plovdiv Game Jam 2024 started on Friday afternoon with six presentations. Leon Anavi had the opportunity to talk about ANAVI Handle, an open source hardware USB-C adapter for connection Nunchuk compatible controller to a personal computer. The printed circuit board has been designed with the open source software KiCad and relies on Seeed Studio XIAO module with Raspberry Pi RP2040 microcontroller. This is exactly the same microcontroller as in Raspberry Pi Pico.
Leon Anavi while explaining how to upload CircuitPython on XIAO RP2040
Nunchuk is a peripheral controller designed for use with Nintendo Wii and Wii U gaming consoles. Nunchuk connects to the Wii Remote through the communication bus I2C and a cord. It features an analog joystick, two buttons (C and Z), and an accelerometer. ANAVI Handle comes with an open source firmware written in CircuitPython to adapt a Nunchuk compatible controller as a joystick or a mouse for a personal computer. All schematics and source code are available in GitHub. The slides are in Bulgarian and are available at SlideShare.
ANAVI Handle with Nunchuk
After the presentations the theme of Global Game Jam and Plovdiv Game Jam was announced. For 2024 it was “Make me Laugh”. Participants registered and formed teams with up to 5 members. After 48 hours of hard work more than 30 computer and board games were presented at the main building of the Technical University of Plovdiv.
Plovdiv Game Jam 2024 Closing Ceremony
Plovdiv Game Jam commenced its journey a decade ago, with its inaugural edition taking place in 2014. The 2024 edition achieved a milestone by breaking records in both participant numbers and the creation of games. The whole event was live streamed on YouTube and Twitch. Plovdiv Game Jam atmosphere buzzed with innovation, camaraderie, and the shared joy of bringing imaginative concepts to life. This amazing event not only provided a platform for fostering talent but also underscored the thriving game development culture in the region.
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.
ANAVI Arrows and ANAVI Macro Pad 12
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.
ANAVI Miracle uHAT for Raspberry Pi
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!
The ANAVI Macro Pad 12 and ANAVI Arrows have received official certification from the Open Source Hardware Association (OSHWA). OSHWA, a non-profit organization based in the United States, manages the Certified Projects Directory and hosts the annual Open Hardware Summit. Notably, the summit takes place in different cities, and in 2024, it is scheduled to be held in Montreal, Canada.
The printed circuit boards of ANAVI Macro Pad 12 and ANAVI Arrows were designed the open source software KiCad
The certification program by OSHWA ensures that a project’s understanding of “open source hardware” is in harmony with the wider community’s definition of open source hardware. Subsequently, OSHWA assigns a unique identification number (UID) to every certified hardware version. This UID commonly comprises a blend of a country code and a numerical sequence, ensuring that each certified hardware version possesses a distinct identifier. For our two new keyboards, the UIDs are:
The OSHW Certification Mark serves a dual role: not only does it display the project’s unique certification ID, but it also streamlines navigation and information retrieval. In this context, the “BG” prefix signifies the country code for Bulgaria, indicating that these mechanical keyboards are crafted in Plovdiv, the second-largest city in Bulgaria and the oldest continually inhabited European city with over 6000 years of history. What sets our keyboards apart is their complete adherence to open-source principles. This means that every facet of their design and functionality is open and freely accessible to everyone. Our dedication to openness extends to utilizing only free and open source software in various project aspects, including designing the printed circuit board, creating acrylic enclosures, developing firmware, and thoroughly documenting the entire process.
The printed circuit boards for ANAVI Arrows and ANAVI Macro Pad 12 were designed with the open source software KiCad on Ubuntu Linux distribution. Furthermore, we use open source firmware called KMK, written in CircuitPython. Soon QMK firmware will be also ported to both keyboards. Open source ensures transparency, sharing knowledge and hopefully fostering collaboration and innovation within the community.
ANAVI Arrows and ANAVI Macro Pad 12 mechanical keyboards with how-swappable switches
Every kit features environmentally conscious simple packaging encased in recyclable cardboard boxes. These boxes are made from recycled materials and are readily recyclable once more, fostering a circular economy. Opting for this kind of packaging is in harmony with our sustainability objectives and a dedication to a more environmentally-friendly and conscientious approach to packaging materials.
Mechanical keyboard kits in eco-friendly packaging from recycle cardboard boxes
We want to express our profound gratitude for all backers of our open-source hardware offerings! If you missed the crowdfunding period you can still purchase a compact mechanical keyboard from Crowd Supply. In the coming months we will make ANAVI Arrows and ANAVI Macro Pad 12 available through our other distributors. Anticipate a consistent flow of technical enhancements. We trust that your new equipment will bring you both enjoyment and a boost in your productivity!
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.
BH1750 I2C light sensor attached to ANAVI CO2 uHAT and a Raspberry Pi single board computer running GNU Linux distribution
🔌 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!