ANAVI Arrows and ANAVI Macro Pad 12 Are Open Source Hardware Certified

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:

BG000094 for ANAVI Arrows version 1.0
BG000095 for ANAVI Macro Pad 12 version 1.0

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.

You may also like

Understanding I2C: Exploring OLED Displays and Peripherals on Futuristic Mechanical Keyboards

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.

ANAVI Arrows and ANAVI Macro Pad 12 are open source mechanical keyboards with mini OLED I2C displays

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.

Seeed Studio XIAO RP2040 module on ANAVI Macro Pad 12 mechanical keyboard

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.

Mini yellow-blue 0.96″ OLED display attached to ANAVI Macro Pad 12 with QMK firmware for mechanical keyboards

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.

ANAVI Macro Pad 12 with a breadboard and additional I2C peripherals

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!

You may also like

Improving the Firmware of ANAVI Macro Pad 10, ANAVI Knobs 3 and ANAVI Knob 1

There are two different options for mechanical keyboard open source firmware for ANAVI Macro Pad 10, Knobs 3, and Knob 1: KMK and QMK. Both of which have been getting upgrades recently!

KMK is a feature-rich and beginner-friendly open source firmware for mechanical keyboards, written in CircuitPython, which comes preloaded on the Macro Pad 10 and Knobs 1 and 3. The source code is available on GitHub under the GPLv3 license. So… if you have code suggestions to make it better, just open a GitHub pull request. This is exactly what Stefan Misch recently did, by improving the encoder resolution.

ANAVI Macro Pad 10, ANAVI Knobs 3 and ANAVI Knob 1

Huge thanks to Stefan for his valuable contribution to the upstream of KMK! If you own Macro Pad 10, Knobs 3, and Knob 1, please consider upgrading the KMK firmware on your mini mechanical keyboard to get his fix.

In other news: the GitHub pull request that adds support for ANAVI Knobs 3 was finally merged in QMKQMK stands for Quantum Mechanical Keyboard. It is probably the most popular firmware for mechanical keyboards and supports literally hundreds of devices, including ANAVI Macro Pad 8 and our other mechanical keyboards. The source code is available under GPLv2 license and written in C. Initial support for the Raspberry Pi RP2040 microcontroller in QMK was added in September 2022. We started the porting efforts in October, and shortly after that, patches for ANAVI Macro Pad 10 and Knob 1 were merged. However, it took almost 6 months to merge the GitHub pull request for ANAVI Knobs 3. The long wait is over: now all of our mini mechanical keyboards are supported by QMK!

ANAVI Knobs 3

The community is very important and makes all the difference in any open source project. Thank you for supporting and improving our open source hardware mechanical keyboards!

You may also like

VisualStudio Keymap for ANAVI Macro Pad 8

Many thanks to Efthimios Iosfidis, an open source engineer, maker and developer from Greece. Efthimis added a QMK keymap with VisualStudio shortcuts for ANAVI Macro Pad 8.

ANAVI Macro Pad 8
ANAVI Macro Pad 8

Furthermore Efthimis modifed the hardware a little bit and raised the keypad 15 degrees from the back side with metal stand-offs. As you can see on the photos the result is pretty cool!

ANAVI Macro Pad 8 with modified enclosure

More details about the new keymap and the modification of the enclosure are available as a Crowd Supply field report submitted by Efthimios Iosfidis.

Efthimis, well done and thank you again!

By the way, “field report” is a program by Crowd Supply to highlight talented creators by publishing their projects, spreading the word among the community and also giving a $25 Crowd Supply credit. So if you are using any of our open source hardware products available at Crowd Supply don’t think twice and submit a Crowd Supply Field Report now 🙂

You may also like

ANAVI Macro Pad 2 – a Tiny 2% Mechanical Keyboard

ANAVI Macro Pad 2

Meet ANAVI Macro Pad 2! It is an open source, programmable two-key mechanical keypad with backlighting. Each of the keys on ANAVI Macro Pad 2 can be reprogrammed for use as a macro or even as a dedicated shortcut key, making it perfect for a number of applications across various industries.

ANAVI Macro Pad 2

ANAVI Macro Pad 2 runs on a Microchip ATtiny85, which is a reliable, low-cost, 8-bit AVR RISC-based microcontroller. It has a gold-plated printed circuit board, Gateron red mechanical switches, 3mm red LEDs and translucent keycaps.

Gateron red mechanical switches with 3mm LEDs on ANAVI Macro Pad 2

Only free and open source software tools like KiCad, OpenSCAD, and Inkscape were used to design ANAVI Macro Pad 2. Quantum Mechanical Keyboard (QMK) with V-USB is the default open source firmware. Source code and schematics are available on GitHub.

ANAVI Macro Pad 2 with stickers on the translucent keycaps of the mechanical switches

We kicked off a crowdfunding campaign for ANAVI Macro Pad 2 at Crowd Supply. We have a stable product and we are ready to proceed with low-volume manufacturing. We hope you help us bring this entirely open source project to life by ordering a developer or a maker kit!

You may also like

Getting Started with QMK Firmware

Out of the box, all kits of ANAVI Macro Pad 8 are powered by the popular open source QMK firmware.

ANAVI Macro Pad 8
ANAVI Macro Pad 8

QMK stands for Quantum Mechanical Keyboard and it is an open source community centered around developing various computer input devices. The project is hosted in GitHub. More than 1700 developers contributed to this open source firmware over the years. QMK supports more than 2000 keyboards and keypads brands.

Although QMK is very powerful and flexible, it might be a challenge to get used to it if you haven’t used it before. Over the next weeks and months, as part of efforts for increasing the documentation related to ANAVI Macro Pad 8, we will be rolling out updates related to QMK.

QMK Configurator loaded in a web browser with the default keymap for ANAVI Macro Pad 8

QMK offers several options to select, customize and flash a keymap for your keyboard:

  • Command-line interface – advanced but not very user friendly
  • QMK Toolbox – application for MacOS and Windows users
  • QMK Configurator – an online tool used for easily creating firmware files for keyboards supported by QMK.

You can use QMK on MS Windows, MacOS and GNU/Linux distributions. To get started with the QMK firmware please explore this tutorial from the official documentation and install all required software suitable for the operating system on your PC.

Keymaps for ANAVI Macro Pad 8

The QMK source code for ANAVI Macro Pad 8 is available as part of the main repository in GitHub. So far there are 5 keymaps available:

  • Default – with 2 layers for demo purposes
  • KiCad – free software suite for electronic design automation which as used to design ANAVI Macro Pad 8,
  • Kodi – for the free and open source media player application,
  • OBS – for the popular open source video recording and live streaming software,
  • Zoom – for the popular video communication software.

Over the time we plan to extend the list with keymaps for other popular software applications. Please feel free to submit your favorite keymaps for ANAVI Macro Pad 8 to the QMK repository in GitHub!

Compile QMK for ANAVI Macro Pad 8

After installing QMK software on your computer, from the command line you can compile QMK firmware with the default keymap for ANAVI Macro Pad 8 using the following command:

qmk compile -kb anavi/macropad8 -km default

Flash QMK on ANAVI Macro Pad 8

Follow the steps below to flash the compiled QMK firmware to ANAVI Macro Pad 8:

  • Connect ANAVI Macro Pad 8 to your personal computer with USB to micro USB cable
  • Execute the following command in a terminal to flash the default keymap:
qmk flash -kb anavi/macropad8 -km default
  • Press the RESET button on ANAVI Macro Pad 8 when asked:
Detecting USB port, reset your controller now.....
  • Wait until the firmware flashes successfully:
avrdude done.  Thank you.

The heart of ANAVI Macro Pad 8 is Microchip ATmega32U4. It is an 8-bit microcontroller part of the AVR family. QMK relies on avrdude as the utility to download, upload and manipulate the firmware of these microcontroller.

Microchip ATmega32u4
Microchip ATmega32u4 on ANAVI Macro Pad 8

ANAVI Macro Pad 8 is available at our distributors Crowd Supply and Mouser. Please contact us if you are interested in wholesale orders or if you prefer shipping directly from the EU.

You may also like

ANAVI Macro Pad 8 Manufacturing Progress

ANAVI Macro Pad 8 is an open source, programmable, eight-key keypad with backlighting, underlighting, and OLED screen. Following the successful crowdfunding campaign we manufactured the printed circuit boards in a small local factory in Plovdiv, Bulgaria, EU. We would like to explain in detail the whole manufacturing process.

The fabrication includes a procedure called panelization which groups together a number of PCBs on a larger board called a “panel”. In the case of ANAVI Macro Pad 8 the “panel” contains 3 boards. All of them are gold plated through electrolytic nickel-gold process. Gold is very expensive, especially at the moment, but it is still worth it. Gold-plated PCBs have excellent quality with high hardness, wear and oxidation resistance.

A panel with 3 printed circuit boards for ANAVI Macro Pad 8

Sourcing parts in the COVID-19 time is a challenge but we work with trusted and reliable suppliers. We bought Microchip ATmega32U4 microcontrollers from Mouser. They arrived from the warehouse in Texas, USA. Each microcontroller is with TQFP-44 package that requires surface mount technology (SMT). The local factory has already assembled them alongside with all other SMT components.

The assembly of Gateron red mechanical switches and the red 3mm LEDs for all developer kits requires through-hole technology, a.k.a. manual soldering. This is a time consuming process. To simplify the work and to keep the mechanical switches on their places we created this plate that matches the size of the panels.

There are special holes on each mechanical switch for the 3mm LED. After soldering all of them, the leads of the LEDs have to be cut from the back side of the panel.

After all these steps, testing and packaging the developer kit will not require any soldering. However, people who enjoy soldering like me can order a maker kit and experiment with various mechanical switches and 3mm LEDs with different colors. Furthermore, the maker kit allows to perform a hot-swap upgrade as explained in the previous post.

After burning a the same bootloader as in Arduino Leonardo, flashing the open source QMK firmware and testing our mechanical keyboards are ready for packaging!

ANAVI Macro Pad 8 Developer Kit
ANAVI Macro Pad 8 Maker Kit

You may also like

Microchip ATmega32U4 – The Heart of ANAVI Macro Pad 8

Have you already ordered our open source mechanical keypad ANAVI Macro Pad 8 from the recent crowdfunding campaign? It is powered by Microchip ATmega32U4: an 8-bit microcontroller with 32K bytes of ISP Flash, USB Controller and I2C. This microcontroller is part of the AVR family of microcontrollers developed since 1996 by Atmel and acquired by Microchip Technology in 2016.

Microchip ATmega32U4 on the open source mechanical keyboard ANAVI Macro Pad 8

Microchip ATmega32U4 is how ANAVI Macro Pad 8 connects to the USB port of a personal computer, shows graphics and text on the mini OLED display through I2C. Furthermore, this microcontroller has more than enough general-purpose input/output (GPIO) pins for the mechanical switches.

Photo of Microchip ATmega32U4 between microUSB connector and 4-pin slot for I2C mini OLED display on ANAVI Macro Pad 8

The popular open source Quantum Mechanical Keyboard (QMK) Firmware supports Microchip ATmega32U4 and therefore it is easy to use as the default firmware for ANAVI Macro Pad 8. However, it is technically also possible use ANAVI Macro Pad 8 as a development board and upload Arduino sketches compatible with Arduino Leonardo through Arduino IDE or PlatformIO. Many popular development boards such as Arduino LeonardoSparkFun Pro MicroTeensy 2.0Olimex eduArdu also use ATmega32U4.

ANAVI Macro Pad 8

You may also like

ANAVI Macro Pad 8 – (Not) Yet Another Mechanical Keyboard

After several months of development, the crowdfunding campaign for ANAVI Macro Pad 8 has been launched at Crowd Supply!

ANAVI Macro Pad 8

ANAVI Macro Pad 8 is an open source, programmable, eight-key mechanical keyboard with backlighting, underlighting, and OLED screen. The popular open source QMK firmware allows you to easily configure custom keyboard layouts and macros, even directly in a web browser.

The crowdfunding campaign has a very modest goal of just $1. We have 3 stretch goals! If we raise $500 or more we’ll add super cool 32 transparent emoji keyboard stickers to all kits. You can stick them to the top or the sides of the key caps.

Transparent stickers for the translucent keycaps on ANAVI Macro Pad 8

The crowdfunding campaign will help us manufacture it in a local factory in Plovdiv, Bulgaria, EU. We hope you’ll jump in and help us bring this entirely open source project to life!

You may also like