<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Products &#8211; Ronna Technologies</title>
	<atom:link href="https://ronnatech.com/category/products/feed/" rel="self" type="application/rss+xml" />
	<link>https://ronnatech.com</link>
	<description></description>
	<lastBuildDate>Sun, 21 Dec 2025 20:15:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://ronnatech.com/wp-content/uploads/2023/12/logo_ronnatech.svg</url>
	<title>Products &#8211; Ronna Technologies</title>
	<link>https://ronnatech.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>NiftyDrum</title>
		<link>https://ronnatech.com/2025/10/28/niftydrum/</link>
					<comments>https://ronnatech.com/2025/10/28/niftydrum/#respond</comments>
		
		<dc:creator><![CDATA[jeremy]]></dc:creator>
		<pubDate>Tue, 28 Oct 2025 08:03:33 +0000</pubDate>
				<category><![CDATA[Products]]></category>
		<guid isPermaLink="false">https://ronnatech.com/?p=2799</guid>

					<description><![CDATA[NiftyDrum is a trigger to MIDI module. It is the natural evolution of EveryDrum. It offers low latency MIDI over a USB via a USB-C connector. More info at https://niftydrum.com. With support for 9 piezos + 1 FSR, NiftyDrum packs unmatched versatility into a Raspberry Pi Hat-form factor board. In a nutshell, NiftyDrum is an [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="https://niftydrum.com/" data-type="link" data-id="https://niftydrum.com/" target="_blank" rel="noreferrer noopener">NiftyDrum</a> is a trigger to MIDI module. It is the natural evolution of <a href="https://ronnatech.com/2025/08/16/everydrum/" data-type="post" data-id="1012" target="_blank" rel="noreferrer noopener">EveryDrum</a>. It offers low latency MIDI over a USB via a USB-C connector. More info at <a href="https://niftydrum.com/" target="_blank" rel="noreferrer noopener">https://niftydrum.com</a>.</p>



<p>With support for <strong>9 piezos + 1 FSR</strong>, NiftyDrum packs unmatched versatility into a <strong>R</strong>aspberry Pi Hat-form factor board. In a nutshell, NiftyDrum is an affordable way to add professional MIDI triggering to your electronic or acoustic drum setup.</p>



<h2 class="wp-block-heading">Trigger to MIDI Interface</h2>



<h3 class="wp-block-heading">The board</h3>



<p>NiftyDrum is a trigger to MIDI interface. It is a sensor to MIDI interface, which means that it doesn&#8217;t produce sounds, rather it sends MIDI messages over USB. To convert those messages into sounds, you need a DAW (digital audio workstation).</p>



<p>There are 10 inputs: 9 of which are dedicated to piezoelectric sensors, and 1that is meant to be used for an FSR sensor. Each input is to be connected to a terminal block, and all the piezo inputs have an on-board potentiometer to adjust sensitivity in case the digital gain wouldn&#8217;t be sufficient.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;69f2215fedc81&quot;}" data-wp-interactive="core/image" data-wp-key="69f2215fedc81" class="wp-block-image aligncenter size-full is-resized wp-lightbox-container"><img fetchpriority="high" decoding="async" width="544" height="458" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://ronnatech.com/wp-content/uploads/2025/08/IMG_0361-bgr.png" alt="" class="wp-image-2605" style="width:400px" srcset="https://ronnatech.com/wp-content/uploads/2025/08/IMG_0361-bgr.png 544w, https://ronnatech.com/wp-content/uploads/2025/08/IMG_0361-bgr-300x253.png 300w" sizes="(max-width: 544px) 100vw, 544px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Enlarge"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p>The board has the same form-factor as EveryDrum: it can be connected to a Raspberry Pi and follows the Raspberry Pi Hat specifications. The GPIO port is connected to the 5V, GND, and serial output of the on-board microcontroller, so the MIDI notes can be received by a Raspberry Pi without connecting a USB cable to the board.</p>



<p>On the board, there are two LEDs, one of which is on as long as the board is connected via USB or to a Raspberry Pi. The other LED is a status LED, it is almost always on, except when the board is transmitting serial data.</p>



<h3 class="wp-block-heading">That&#8217;s a Blue Pill!</h3>



<p><strong>You can write your own firmware and upload it to the board!</strong> If that is something you&#8217;d like to do, read on! Otherwise, you can skip this section.</p>



<p>The on-board microcontroller is nothing more than the STM32F103C8T6, that&#8217;s a Blue Pill! If you are not familiar with the Blue Pill, it is a famous development board based on the STM32F103C family of microcontrollers.</p>



<p>If you want to hack the board and use your own firmware, you can use utilities available at <a href="https://github.com/TheKikGen/stm32-tkg-hid-bootloader" data-type="link" data-id="https://github.com/TheKikGen/stm32-tkg-hid-bootloader" target="_blank" rel="noreferrer noopener">TheKikGen&#8217;s repository</a>, as the STM32 has already been flashed with the STM32F10x TKG-HID-BOOTLOADER. To enter bootloader mode and upload a firmware to the board, simply double press the on-board button.</p>



<p>Another way to upload your own firmware to the board is to use the <a href="https://niftydrum.com/" data-type="link" data-id="https://niftydrum.com/" target="_blank" rel="noreferrer noopener">NiftyDrum App</a>.</p>



<p>That gives you a lot of freedom, as you can do whatever you want with the 72MHz, 64kB of flash, and 20kB of RAM that the STM32 gives you.</p>



<p>I have forked Roger Clark&#8217;s Arduino STM32 code to provide an easy to program the RonnaTech boards.</p>



<div class="wp-block-group is-layout-grid wp-container-core-group-is-layout-26923b4b wp-block-group-is-layout-grid">
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%">
<article class="wp-block-group has-global-padding is-content-justification-center is-layout-constrained wp-container-core-group-is-layout-8004bcfd wp-block-group-is-layout-constrained"></article>
</div>
</div>


<div class="sdm_fancy_template_wrapper"><div class="sdm_fancy2_item "><div class="sdm_fancy2_wrapper"><div class="sdm_fancy2_download_item_top"><div class="sdm_fancy2_download_thumbnail"></div></div><div class="sdm_fancy2_download_title">Arduino STM32 Ronna SDK</div><div class="sdm_fancy2_download_size"><span class="sdm_fancy2_download_size_label">Size: </span><span class="sdm_fancy2_download_size_value">44.9 MB</span></div><div class="sdm_fancy2_download_link"><a href="https://ronnatech.com/?sdm_process_download=1&download_id=3222" class="sdm_fancy2_download_dl_link" target="_self">Download Now!</a></div></div></div></div><div class="sdm_clear_float"></div>
</div>



<p>Be sure to <a href="https://ronnatech.com/sdm_downloads/arduino_stm32/" data-type="link" data-id="https://ronnatech.com/?sdm_process_download=1&amp;download_id=3222" target="_blank" rel="noreferrer noopener">read the instructions</a> before trying to use.</p>



<p>Just like the actualy Blue Pill, the on-board LED is connected to PC13. The hi-hat controller is connected to PA3, all other analogue inputs are connected piezo inputs from PA0 to PB1.</p>



<p>There is also an on-board EEPROM, it is a <a href="https://www.st.com/en/memories/m24c64-r.html" data-type="link" data-id="https://www.st.com/en/memories/m24c64-r.html" target="_blank" rel="noreferrer noopener">M24C64-R</a>, which can hold up to 8192 bytes and is accessible via I²C using the 0x50 address.</p>



<h3 class="wp-block-heading">MIDI messages</h3>



<p>Using the preloaded firmware, each piezo is considered to be a single-zone pad. Inputs are labelled with instrument names to help you wire your kit, but those names are only names, the only exception is the HHC input, which is to be used with the hi-hat controller/pedal.</p>



<p>Piezo inputs are treated as drum triggers. They emit two MIDI messages: note on, and note off. A note on is always followed by a note off after some delay.</p>



<p>The FSR (hi-hat controller) input emits more MIDI messages. It emits note on and note off messages when a foot chick is detected, and control change (CC) messages when the pedal is pressed or released. This allows for continuous monitoring of the pedal state and should allow DAWs to generate realistic hi-hat sounds.</p>



<h2 class="wp-block-heading">Desktop Application</h2>



<p>This section will show how the PC app works. It is a Windows, Mac, and Linux app that allows to control the board&#8217;s parameters, such as scan time, mask time, threshold, etc.</p>



<h2 class="wp-block-heading">Legal notice / Licenses</h2>



<p>The firmware is provided as is and can be replaced by any firmware that fits into the microcontroller flash memory, using the on-board bootloader, as described in this post.</p>



<p>Likewise, the bootloader can be replaced by any bootloader that is compatible with the microcontroller, using the J1 connector with a <a href="https://www.tag-connect.com/product/tc2030-idc-nl" data-type="link" data-id="https://www.tag-connect.com/product/tc2030-idc-nl" target="_blank" rel="noreferrer noopener">Tag Connect TC2030-NL connector</a>.</p>



<p>Doing so, whether it&#8217;s for the firmware or bootloader, may break the microcontroller, so there is no guarantee that the board will still work after such operation. In that case, Ronna Technologies would not be responsible for any issues that you would encounter with the NiftyDrum product as a whole. </p>



<p>If you choose to keep the default bootloader and firmware, here are some things that you need to know:</p>



<ul class="wp-block-list">
<li>The booloader is an unmodified version of <a href="https://github.com/TheKikGen/stm32-tkg-hid-bootloader" data-type="link" data-id="https://github.com/TheKikGen/stm32-tkg-hid-bootloader" target="_blank" rel="noreferrer noopener">STM32F10x TKG-HID-BOOTLOADER</a>. It is published under the GNU GENERAL PUBLIC LICENSE Version 3.</li>



<li>The firmware, on the other hand, is not open source. It may become open source at some point in the future.</li>



<li>The firmware uses the following libraries: 
<ul class="wp-block-list">
<li><a href="https://boost-ext.github.io/sml/" data-type="link" data-id="https://boost-ext.github.io/sml/" target="_blank" rel="noreferrer noopener">State Machine Language (SML)</a> library &#8211; <a href="https://github.com/boost-ext/sml?tab=BSL-1.0-1-ov-file#" target="_blank" rel="noreferrer noopener">BSL-1.0 license</a>.</li>



<li><a href="https://github.com/sparkfun/SparkFun_External_EEPROM_Arduino_Library" data-type="link" data-id="https://github.com/sparkfun/SparkFun_External_EEPROM_Arduino_Library" target="_blank" rel="noreferrer noopener">SparkFun External EEPROM Arduino Library</a> &#8211; <a href="https://opensource.org/license/MIT" data-type="link" data-id="https://opensource.org/license/MIT" target="_blank" rel="noreferrer noopener">The MIT License (MIT)</a>.</li>



<li><a href="https://github.com/RonnaTechnologies/flute" data-type="link" data-id="https://github.com/RonnaTechnologies/flute" target="_blank" rel="noreferrer noopener">flute</a>: C++20 fixed-point single header library &#8211; <a href="https://opensource.org/license/MIT" data-type="link" data-id="https://opensource.org/license/MIT" target="_blank" rel="noreferrer noopener">The MIT License (MIT)</a>.</li>



<li><a href="https://github.com/zserge/jsmn" data-type="link" data-id="https://github.com/zserge/jsmn" target="_blank" rel="noreferrer noopener">JSMN</a> &#8211; <a href="https://opensource.org/license/MIT" data-type="link" data-id="https://opensource.org/license/MIT" target="_blank" rel="noreferrer noopener">The MIT License (MIT)</a>.</li>



<li><a href="https://github.com/leaflabs/libmaple" data-type="link" data-id="https://github.com/leaflabs/libmaple" target="_blank" rel="noreferrer noopener">libmaple</a> &#8211; <a href="https://opensource.org/license/MIT" data-type="link" data-id="https://opensource.org/license/MIT" target="_blank" rel="noreferrer noopener">The MIT License (MIT)</a>.</li>



<li><a href="https://github.com/arpruss/USBComposite_stm32f1" data-type="link" data-id="https://github.com/arpruss/USBComposite_stm32f1" target="_blank" rel="noreferrer noopener">USB Composite library for STM32F1</a> &#8211; <a href="https://opensource.org/license/MIT" data-type="link" data-id="https://opensource.org/license/MIT" target="_blank" rel="noreferrer noopener">The MIT License (MIT)</a>.</li>
</ul>
</li>
</ul>



<p></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://ronnatech.com/2025/10/28/niftydrum/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>EveryDrum</title>
		<link>https://ronnatech.com/2025/08/16/everydrum/</link>
					<comments>https://ronnatech.com/2025/08/16/everydrum/#respond</comments>
		
		<dc:creator><![CDATA[jeremy]]></dc:creator>
		<pubDate>Sat, 16 Aug 2025 15:23:14 +0000</pubDate>
				<category><![CDATA[Products]]></category>
		<guid isPermaLink="false">https://ronnatech.com/?p=1012</guid>

					<description><![CDATA[This post aims to present the EveryDrum product. In a nutshell, EveryDrum is a drum trigger signal conditioner interface that is compatible with the Arduino Nano Every, as well as other microcontrollers that share the same pinout. What is EveryDrum? EveryDrum is a drum trigger signal conditioner interface.One side of the board is to be [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>This post aims to present the EveryDrum product. In a nutshell, EveryDrum is a drum trigger signal conditioner interface that is compatible with the Arduino Nano Every, as well as other microcontrollers that share the same pinout.</p>



<h2 class="wp-block-heading">What is EveryDrum?</h2>



<p>EveryDrum is a drum trigger signal conditioner interface.<br>One side of the board is to be connected to piezoelectric sensors. The voltage coming from the sensors is transformed in order to be constrained to the 0-3.3V range. This board was initially designed to be used with an Arduino Nano Every, but other pin-compatible boards can be used.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:25%"></div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:50%">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69f2215ff0857&quot;}" data-wp-interactive="core/image" data-wp-key="69f2215ff0857" class="wp-block-image aligncenter size-full is-resized wp-lightbox-container"><img decoding="async" width="800" height="800" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://ronnatech.com/wp-content/uploads/2024/01/DSC_0356-1.jpg" alt="" class="wp-image-455" style="width:400px;height:auto" srcset="https://ronnatech.com/wp-content/uploads/2024/01/DSC_0356-1.jpg 800w, https://ronnatech.com/wp-content/uploads/2024/01/DSC_0356-1-400x400.jpg 400w, https://ronnatech.com/wp-content/uploads/2024/01/DSC_0356-1-100x100.jpg 100w" sizes="(max-width: 800px) 100vw, 800px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Enlarge"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:25%"></div>
</div>



<p>Because the piezoelectric sensors (piezos) output voltages are constrained to the 0-3.3V range. The intended goal of this board is to make a drum module out of an Arduino, but it can be used for many other applications.</p>



<p>Any board that has the form factor of an Arduino Nano, and is pin-compatible, can be used to digitize piezos voltages.</p>



<h2 class="wp-block-heading">How to use EveryDrum?</h2>



<p>Using EveryDrum is fairly simple, you just have to connect your piezos, and optionally one FSR sensor (HHC) to the 8 terminal blocks. Each sensor is connected to the ground on the left side of its terminal block.</p>



<p>Then, you need an Arduino Nano Every, or a pin-compatible board. Connect it to the board using the two 15-pin headers. USB connector should be on the left side of the board.</p>



<p>It&#8217;s now time to install a firmware on your Arduino.</p>



<h2 class="wp-block-heading">Arduino firmware</h2>



<p>The current firmware is still a work in progress, but it is functional and usable as a drum module. It is available from GitHub: <a href="https://github.com/SpintroniK/exadrumino-Nano-Every">https://github.com/SpintroniK/exadrumino-Nano-Every</a>.</p>



<p>Instructions are on the GitHub repository. The firmware sends MIDI over USB, but the MIDI messages are received via a serial port. So this is not a USB MIDI device, rather a serial device that sends MIDI messages over a serial port.</p>



<h2 class="wp-block-heading">From MIDI messages to sounds</h2>



<p>This section will be completed in a near future. But for now, the best option is to use eXaDrums. On Ubuntu, Debian or Raspberry Pi OS, you can install it using the following command line: sudo apt install exadrums.</p>



<p>You can also build eXaDrums yourself using those two repositories: <a href="https://github.com/SpintroniK/libeXaDrums">https://github.com/SpintroniK/libeXaDrums</a> and <a href="https://github.com/SpintroniK/eXaDrums">https://github.com/SpintroniK/eXaDrums</a>.</p>



<p>This is a Linux only solution, but there are workarounds for Windows, and probably MacOS too.</p>



<p>Assuming that you have installed eXaDrums, you can go to the &#8220;Sensors Config&#8221; menu, and select the &#8220;SerialMidi&#8221; sensor type, and then fill the serial port field. Most of the time the serial port is /dev/ttyACM0, but that depends on your system.</p>



<p>Once that&#8217;s done, you can configure each instrument of the current kit by setting their MIDI notes. Start eXaDrums, and play drums!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ronnatech.com/2025/08/16/everydrum/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
