Arpie Manual v6
Arpie Manual v6
MIDI
ARPEGGIATOR
User Guide
Firmware V6
September 2019
Welcome!
Arpie is a MIDI arpeggiator. In its most basic application, you connect it between a
MIDI controller keyboard and a MIDI controlled synthesizer and it arpeggiates
chords that are held on the keyboard – meaning that it converts them into sequences
of notes. There is a lot more to it than that but it’s a good basic description.
Despite its simple construction and appearance, Arpie is fully featured with various
chord arpeggiation, tempo synchronisation and standalone features to enable it to
be used creatively with or without an attached keyboard.
Arpie is based around open-source software and hardware. The Arduino-based
firmware allows maximum hackability and the hardware is designed for easy DIY
assembly and customisation.
Know Your Arpie
The Arpie front panel looks like this
With some exceptions, functions of the Arpie are accessed by selecting a menu
option by pressing one of the 12 menu buttons, then changing the settings
associated with that menu option by pressing data buttons. The data LEDs provide
visual feedback on the data associated with the menu option.
Most menu buttons have two functions; the first function is selected by clicking
(pressing and releasing) the menu button, and the second function is selected by
holding it down for a longer period of time. The data LEDs change to show the
settings for that second, “long press”, function when this time has elapsed.
If, after a menu function is selected no data button is pressed, Arpie will revert back
to the “normal” display (PATN) after a few seconds. This auto revert can be switched
off if you prefer (via the long press PLEN menu)
In this document, long-press (second) functions are indicated with an asterisk (*) at
the start of the key name. For example, *MODE is the long press function of the
MODE button.
Arpie has connectors and additional switches arranged around the sides. The
location of these when viewed from above is as follows:
• Arpie can take power from any DC supply with 100mA or more current
capacity and a voltage of 9-12V. The connector is a barrel type with a 2.1mm
pin. Arpie can accept power with either positive or negative tip polarity. When
a plug is inserted, the internal battery is disconnected.
• The main midi input connector accepts MIDI input via a standard 5-pin DIN
connector, generally from a controller keyboard.
• The aux midi input accepts MIDI clock messages only via a standard 5-pin DIN
connector. This input can be used to accept a MIDI clock from a different
device to that providing the chord notes.
• The midi output connector accepts a standard 5-pin DIN connector and is
generally connected to a synth or sound module.
• The reset button performs a hard reset of Arpie, equivalent to a power off/on
cycle. This is typically most useful when loading new firmware.
• The Power LED should be on the whole time Arpie is being powered
• The hack header breaks out 5V power and four spare I/O lines from Arpie’s
microcontroller. It allows DIY add-ons or connection of “tab” expansion
boards, as described later.
• PIC Programming Header can be used to update firmware on the PIC chip,
using a PICKit2 type programmer. Usually it would be rare to need to do this,
and typically there is no need to solder a header here.
Chord Building
Arpie builds melody and basslines by ‘arpeggiating’ chords that you play (playing all
their notes in sequence). This process has the following steps
First a chord is built – this is usually done by playing a chord on an attached MIDI
keyboard; however, you can also enter a chord directly from Arpie’s front panel or
select a fixed or random chord.
If you are controlling Arpie using a MIDI keyboard, make sure that the MIDI OUT of
the keyboard is connected to the MIDI IN of Arpie and that the MIDI output channel of
the keyboard matching the input channel of Arpie (Long press CHAN button)
Use the HOLD button to keep a chord playing after you release the keys.
Arpeggiation
The chord is then built into an arpeggiated sequence (arpeggio). A chord typically
only has a few notes (e.g. 3 or 4), so in order to make arpeggios more interesting, we
can extend them in various ways:
• Firstly, we can extend the chord into multiple octaves – we can add up to 3
more octaves on top of the played chord (SPAN function) and we can also
transpose the chord itself up or down by three whole octaves (SHFT function)
• Next, the resulting set of notes are sorted into order, such as ascending pitch,
descending pitch, ascending then descending pitch, randomised order etc.
(MODE function)
• The final step in building the sequence is an option to extend the sequence
further by repeating certain notes (INST function). This allows us to alternate
every note with the highest or lowest note in the sequence or to “fold” the
sequence (e.g. 3 steps forward, 1 step back).
After the above steps, a simple chord of a couple of notes can be extended into an
arpeggiated sequence containing tens of notes.
Menu Functions
The following sections describe the functions of each menu button in turn.
The second function of a menu button (i.e. long press function) is indicated with an
asterisk before the button name (e.g. *MODE)
PATN Trig Pattern
During normal use of Arpie, the data LEDs show the “current layer” of the trig
pattern - this is usually the play/mute layer.
To change to another layer, hold down the PATN key and press the button below the
LED for the required layer as shown below. The currently selected layer is shown
with a brighter LED.
When the PATN button is released, the LEDs show the trigs for the selected layer.
Play-mute is the default layer, showing which of the trig pattern steps are active (i.e.
where the corresponding note from the arpeggiated sequence will be played).
Usually the note in the arpeggiated sequence is skipped over and not played when
the trig is inactive, however the separate note skip option (Long press MODE) allows
the sequence to advance only on active steps, so no notes are skipped.
• The accent layer causes the note to play with accented MIDI velocity (Long
press VELO). If the CV TAB is connected you can also optionally send an
accent trigger at these steps.
• The full gate option causes the note duration (via MIDI and CV TAB gate
output) to be equal to one full sequencer step for the specific note. This
overrides the duration set via the GATE function. The full gate option sounds
best when combined with short GATE settings to create rhythmic variation.
• The tied gate option causes the note to be played ‘legato’, meaning that the
MIDI note is stopped only when the next note has started playing. Depending
on your synth, this can produce a glide between the notes. If you have the CV
TAB, a voltage glide is triggered. The voltage sweeps from the current level
(i.e. left from the last note) up to the level of the new note, over a full step time
and the gate remains open for 1 step.
• The octave up, octave down and fourth down options transpose the note at
the current step by the stated amount
• The play-thru option allows consecutive notes from the arpeggio to play over
MIDI as a chord. Consecutive steps that have play-thru set are skipped
through together
During playback the trig pattern loops from the first step up to the selected step,
with each trig applying to the note from the arpeggio sequence that is playing at that
time.
Both the trig pattern and the arpeggio sequence loop after their last step, so by
selecting a trig pattern length which does not divide simply into the length of the
arpeggio sequence, you can get patterns that play for several bars without
repetition.
*PLEN Config Preferences
Press and hold PLEN to access the configuration preferences:
H1 through H8 control built-in functionality for the hack header (the small expansion
header on the Arpie base board) mode. The function of each LED depends on the
selected hack header mode, which is described later.
Auto Revert controls whether Arpie will time out to the PATN menu when no buttons
are pressed for about 10 seconds. Turn this off if you prefer - you can always press
the PATN button to exit from a selected menu option.
T1 and T2 (Long Press time) control how long you need to hold down one of Arpie
menu buttons to access it’s second function.
L1 and L2 (LED Profile) set the how the 16 data LEDs are controlled. Different types
of LEDs have different characteristics; some are much brighter than others and
need to be driven at shorter ‘duty cycles’ to get a decent contrast between the 3
different LED brightness (bright, medium, dim). The LED profile shown below are
recommendations but you may prefer to use a different one (don’t worry, it won’t
damage the LEDs to use the ‘wrong’ profile!)
L1 L2 Recommended For
OFF OFF Super bright white LEDs
OFF ON Super bright blue/green LEDs
ON OFF Bright red LEDs
ON ON Standard brightness LEDs
All preference settings are saved in EEPROM. This means they are remembered
when Arpie is switched off.
MODE Arp Mode / Set All Trigs
• up-down plays notes of the chord in ascending then descending order. If the
sequence spans multiple octaves, all octaves are spanned on the way up
before returning down.
• as played plays the notes of the chord in the order they are received on the
MIDI input.
• poly gate plays all the notes of the chord at the same time. Thicken up with
SPAN and add some groove with PATN to get some classic chord stabs!
The right side data entry buttons can be used to reset the PATN and PLEN
information.
• random all applies random accent, tie, full gate, octave up to all steps that are
active in the rhythmic pattern
• clear all sets all steps to mute (LED off), sets PLEN to 16 steps and clears all
other trig layers.
• reset all sets all steps to play (LED on), sets PLEN to 16 steps and clears all
other trig layers
*MODE Performance Options
Press and hold MODE to access the Performance Options. This menu contains
settings that control other Arpie functions, changing the musical performance.
• hold func 2 controls the long-press function of the HOLD button. When this
LED is OFF, the second function of HOLD is MIDI lock. When the LED is ON the
second function is transpose by MIDI input (See long press HOLD for a
description)
• skip on rest controls what happens when there is a rest (LED off) at the
current position in the PATN sequence. If the LED is ON, the note at that
position is skipped over and does not play. If the LED is OFF, Arpie inserts a
rest and plays the note at the next step.
• init patch resets all the arpeggiator settings, chord, tempo etc. to their power
on values
SHFT Octave Shift
This option works with Force to Scale Mode (long press SPAN) to set the root note of
the musical scale into which notes are forced. For example, if force to scale root
note is set to D# and force to scale mode is Locrian, notes will be forced into a D#
Locrian mode.
This option does not have any effect when force to scale is off (i.e. in Chromatic
mode)
SPAN Octave Span
This option determines the range of octaves the arpeggiated sequence will be
extended over. This also works in polyphonic gate mode to add additional octaves of
notes to the chord, thickening it.
Arpie’s Force to Scale feature makes sure that all notes from the Arpie fit within a
specific musical scale (or key). This can sound especially good when transposing
arpeggios while playing, as the note intervals within the chord change to keep it in
key.
The scales are set based on a “music mode” (i.e. the type of scale) together with a
root note. Musical modes have names derived from ancient Greek tribes, but don’t
let that put you off - they are just the sequences of note intervals you get when you
play along the white notes of a piano starting at different points.
For example, if you play white notes C through C you play a Major scale, which
happens to be the same as the ‘Ionian’ mode. If you play white notes A through A you
are playing a Minor scale, or ‘Aeolian’ mode.
The other modes are similarly just the sets of intervals you get by playing sequences
of white notes with different start points. Each mode has a different feel, so have fun
experimenting with them!
• The chromatic scale includes all notes. Selecting this option effectively turns
off force-to-scale. This is the default setting.
• The ionian mode is equivalent to the intervals between all the white notes on a
piano keyboard played from C to C. It is the same as the normal major scale.
• The aeolian mode is equivalent to the intervals between all the white notes on
a piano keyboard played from A to A. It is the same as the natural minor scale.
• The other modes follow the same pattern of white notes from D to D (dorian),
E (phrygian), F (lydian), G (mixolydian) and B (locrian). Each is a different way
of dividing up the 12 semitones of an octave into 8 notes and has a different
feel.
As well as changing musical mode, Arpie’s force-to-scale function lets us select the
root note (long press SHFT) and control how out of scale notes are corrected.
To the right of the musical modes are a set of options that control what happens to
those notes that do not fit within the selected scale. Each option has a different
musical feel, so play around – you may find something amazing.
• skip means out-of-scale notes are ignored and the next valid note is played.
There is no rest introduced.
• mute means out-of-scale notes are not played, but a rest of a single step is
added instead.
This option sets the step length for the arpeggiated sequence, as a fraction of a
whole note. While the BPM stays the same, the arpeggio will play faster or slower
with different settings, as the beats are divided up differently.
The default ‘normal’ note time (at least in 4/4 time) is one sixteenth of a beat, so for
example selecting 1/8 will play notes half the speed for a given BPM.
• dot means represent dotted time (one and a half times normal note duration)
This menu controls the MIDI velocity of the notes output by Arpie. There are two
velocity modes, described as follows:
• Fixed velocity mode allows you to override the velocity of all arpeggiated
notes or to mute them completely. You can select one of 15 different velocity
levels that are applied to all notes. The original velocity information from the
MIDI input (e.g. keyboard) is ignored.
• original velocity mode plays each arpeggiated note using the velocity as it
was played on the controller keyboard. To switch to this mode, press the first
data button (mute) twice. To switch back to selected velocity mode, press any
velocity button, including zero. This mode can be identified by the left and
right-most LEDs being on and all the others off.
Controls the gate length of the MIDI notes played by Arpie. You can select a
proportion of a whole step (in fifteen increments) or you can tie notes together with
the legato setting.
legato means that a note is held until the next note is started, with the MIDI note off
message being sent after the next MIDI note on. This allows notes to play right
across rests in the rhythmic pattern allowing for some nice grooves.
INST Arp Note Insert / Chord
This extends the length of the arpeggiated sequence by repeating notes from the
chord as follows:
• none plays the arpeggio sequence without adding any extra notes to it. This is
the default.
• highest inserts the highest note of the arpeggio sequence in between all the
other notes
• lowest inserts the lowest note of the arpeggio sequence in between all the
other notes
• 4f, 2b staggers the arpeggio sequence by moving forward four places then
back two.
To the right of the screen are some options for inserting chords without a keyboard.
random creates a chord from between 2 and 4 random notes. The other buttons
insert minor, minor seventh, major seventh, seventh. minor, major chords. The root
note is C but you can use the TRAN function to change this.
The HOLD function engages automatically have you insert a chord.
*INST Manual Chord
A long press of the INST button takes you to the manual chord insertion screen. Here
you can play a chord by simply pressing buttons to toggle notes on and off.
The HOLD function engages automatically once you have inserted a chord.
SYNC Clock Source & BPM
This screen controls the Arpie’s MIDI SYNC mode and its internal metronome.
The leftmost data button - source button controls whether Arpie is in internal or
external clock mode; when the LED is off, Arpie runs from its own internal clock
source and when the LED is on, Arpie runs on external MIDI clock via the MIDI IN or
MIDI AUX sockets.
The send clock button controls whether Arpie sends a MIDI beat clock to the MIDI
OUT port. The clock is sent when the option is ON. When this option is switched from
OFF to ON, Arpie also sends a ‘start’ command to the OUT port, which can be used
to synchronize other MIDI devices. Conversely, a MIDI `stop’ command is sent when
the Send function is switched off.
The display depends on the selected clock source. For internal clock, the source
LED is OFF and the mapping of all other LEDs is as follows
When Arpie is running from its internal clock, the BPM buttons can be used to set the
tempo to one of eight specific values from 60bpm to 220bpm (BPM defaults to 120
when Arpie is switched on)
Pressing the tap tempo button two or more times allows you to set the tempo
interactively. The bpm+ and bpm- buttons can be used to adjust the BPM by steps of
1.
Note that the internally generated BPM is approximate. If a very precise BPM is
required, it is better to use an external master clock and sync up Arpie via MIDI.
For an external clock source, the mapping is as follows
While Arpie is running from an external clock the rightmost 3 buttons can be used to
override the external transport. This is particularly useful if you want to start Arpie
playing without having to send a transport start command over MIDI from the clock
master.
*SYNC MIDI Options
These options give you control over how Arpie internally routes MIDI information.
• thru channel msg can be switched on so that non-note channel messages (CC
change, pitch bend etc) which are received on Arpie’s configured input
channel, can be sent through to Arpie’s output channel. This allows the
performance parameters to be sent from your controller keyboard to your
synth.
• thru notes - If you have Arpie listening on a specific input channel (not Omni
mode) then this option controls whether note messages for other channels
will be passed directly through to Arpie’s MIDI output.
• thru other chan controls whether non-note channel messages (CC, bend etc)
for other channels will be passed through to Arpie’s MIDI output.
• ext clock midi in determines whether Arpie will listen for external MIDI clock
ticks on the MIDI IN port. Source must also be set to external for these to be
used.
• ext clock midi aux determines whether Arpie will listen for external MIDI clock
ticks on the AUX MIDI SYNC port. Source must also be set to external for
these to be used.
• block mode msg - When ON, Arpie will remove MIDI ‘Channel Mode Messages’
(CC numbers 120 thru 127) from the data sent through from input to output.
E.g. Some controllers might send unwanted channel mode messages such as
‘all notes off’ when releasing keys - Arpie can filter these out.
• velocity cc - Arpie sends CC41 before each note to set the velocity. This is
specifically aimed at users of Korg Volca FM which does not respond to MIDI
velocity.
• midi local off msg - When enabled, Arpie sends MIDI LOCAL OFF message on
each MIDI channel at start-up time. Toggling the setting also sends LOCAL
OFF or LOCAL ON messages (depending on the new value of the setting) at
the time the button is pressed.
• midi note off msg – Arpie usually uses a zero velocity note on message to
silence notes – this allows more efficient use of the MIDI bandwidth via
‘running status’. However, some older synths might need a “real” note off
message to stop notes playing. Enabling this option means these note off
messages will be used, which can help prevent stuck note issues.
• resync – resets the internal beat counter when pressed. This allow the Arpie
sequencer to be brought into phase with another device that is providing a
master clock.
Note: MIDI thru is handed in Arpie’s firmware (there is no hardware thru) which can
cause latency if the engine is busy and possibly even dropped messages in
situations of very high thru volume.
CHAN MIDI Output Channel
When pressed, selects and displays the channel for MIDI output. Notes played by
Arpie are output on this channel.
• MIDI Lock - This function can be used to `lock’ the arpeggiator engine and
start passing MIDI notes from input to output. This allows you to hold an
arpeggio and then play over it. MIDI lock can also be useful if you chain
together multiple Arpies and want to play into a single one at a time while the
others are playing sequences in HOLD mode.
• MIDI Transpose - This function works a bit like MIDI lock, except that instead
of passing input notes through to the output, a held arpeggio is transposed
according to the interval between the note you play on the input and the
lowest note in the arpeggiated chord. This function is designed to work with
the HOLD feature. You can have great fun when using this with force-to-scale
options!
Exit the secondary function mode by pressing HOLD again. Arpie will return to the
previous HOLD status.
Firmware Version Display
To check the firmware version of your Arpie, press down HOLD while powering up or
resetting. While HOLD is pressed, the data LEDs will show the current version using
the following method
Each group of 4 LEDs shows a single decimal digit, encoded in binary, with a lit LED
being a 1 and an unlit LED being a 0. The digits from 0-9 are represented as follows
Factory Reset
A reset of all Arpie saved settings can be triggered by pressing and releasing the
MODE button while the version number is displayed. i.e. Press HOLD during power
up, then while still pressing HOLD, press and release MODE. All the data LEDs
should light up briefly.
Hack Header
Arpie has an expansion port called the “hack header”, which is a 6-pin connector on
the lower board, next to the dual row connector that connects the top and bottom
boards.
Arpie can use this this header in several different modes that are designed to
support specific pieces of external hardware connected to it. Each of these extra
modules (called “tabs”) is described in detail in the following sections.
With the exception of the Control Tab (which sits outside the Arpie case) each tab
fits between the top and bottom boards of the Arpie. The six connector pins fit into
the hack header and the tab is held firmly in place by passing through it the two rows
of connection pins from the top board. Here is how the CV tab fits in the case.
• Switch off the Arpie power and remove the programmer (if attached) when
fitting or removing a tab
• When fitting the tab, make sure that the underneath of the tab board is not
touching the programming header pins (if a pin header is soldered there). A
pin header could be trimmed slightly or bent slightly outwards if touching the
tab board.
• Select the new hack header mode after attaching the tab (see next page) and
set the mode back to none before removing a tab.
In order to activate the hack header, you first need to select the correct mode for the
connected hardware. You do this by pressing one of the following buttons while the
firmware version number is displayed (i.e. hold down HOLD while powering up or
resetting)
After pressing the appropriate button, release the HOLD button to let the Arpie start
up. You should see your selection highlighted briefly before normal operation
begins. This selection remains active until you change it or do a settings reset, so
remember to change the setting if you change or remove a connected “tab”
Note: If you have an incorrect mode selected, this can prevent the Arpie working
properly until you select the correct mode or none. A full settings reset will also
revert to none
The following signals from the ATMEGA microcontroller are present at the Hack
Header
These pins can support some interesting functions that open up other possibilities
for experimentation (as long as you are able to get your hands dirty in the code!).
● PC5 this is Arduino analog input 5. It is also the clock line for I2C and is a general
purpose digital input or output (Arduino digital pin 19) which can support interrupt
on pin change (PCINT13)
● PC4 this is Arduino analog input 4. It is also the data line for I2C and is a general
purpose digital input or output (Arduino digital pin 18) which can support interrupt
on pin change (PCINT12)
● PC0 this is Arduino analog input 0. It is also a general purpose digital input or
output (Arduino digital pin 14) which can support interrupt on pin change (PCINT8)
● PB3 this is Arduino digital pin 11, supporting a PWM (Arduino analogWrite) output
and interrupt on pin change (PCINT3)
● VCC and GND regulated +5V supply from internal LDO regulator. Do not draw more
than a few tens of milliamps from this supply!
Since the header breaks out the I2C bus, peripherals such as DACs, EEPROMs,
Accelerometers etc could be supported with additional firmware code. The
presence of a PWM output allows generation of a control voltage that could be used
to drive external equipment (although only 8 bit resolution is supported by Arduino
analogOut)
Control Tab
The Control Tab is a module containing 3 potentiometers and a switch, that can be
assigned various specific control functions
Tip: You can attach your own potentiometers (100k Ohm or similar) and a switch to
the Hack Header without using the Control Tab. Each potentiometer should be wired
as a “voltage divider” with low end of track connected to GND and high end of track
connected to +5V, with the wiper connected to the corresponding POT input on the
hack header as shown in the diagram above right. The switch should short the
SWITCH input to GND when pressed.
The actual functions for each potentiometer and switch are selected via the long-
press PLEN menu, on LEDs 2-8 as follows (hack header mode must also be set to
Control Tab)
LEDs 3/4 control the Arpie function mapped to the POT1 input
LEDs 7/8 control the Arpie function mapped to the POT2 input
Note: Currently the only way to change the CC numbers from their defaults (16, 17,
18) is by changing them in the firmware source code.
Note: If the Control Tab is not attached, make sure that the Hack Header mode is not
left in Control Tab mode with potentiometers active. Otherwise the functions
mapped to potentiometers can behave erratically and randomly.
Sync Tab
The Sync Tab allows the Arpie to work with 5V pulse clocks (e.g. as used on
Eurorack modular gear or small sequencers like Volca, Pocket Operator etc)
When a cable is connected to Ext Clock Input, the Arpie will function as a clock
slave. You must reset Arpie after inserting or removing the cable from the Ext Clock
socket.
When running from a regular external pulse clock, set Arpie to internal clock mode.
Tip: If Arpie is set to external clock mode and there is no incoming MIDI clock, the
external pulse clock input will function as a single step advance, with one pulse
advancing one step, regardless of RATE setting etc. The pulses do not have to be
regular.
A signal received from Ext Clock input is duplicated at the Clock Output.
If there is no cable connected to Ext Clock Input, the Arpie will run using its internal
clock, and will output 5V clock pulses from the Clock Output socket.
Pulses can be 1/8th or 1/16th of a note, depending on the setting of the clock div (LED
1 on the long-press PLEN menu)
The CV Tab functions are selected via the long-press PLEN menu, on LEDs 2-8 as
follows
Accent pulses are sent when accent is set for a step (PATN, accent layer).
LED 8 unlocks the CV Tab pitch calibration settings. The CV TAB is factory
calibrated, so you should not usually need to change this information. Otherwise you
can change the calibration by sending specific MIDI CCs.
The CV TAB maps an 8 octave range to a 12-bit DAC resolution. The firmware allows
compensation for any analog offset or gain error in the analog output buffer. A 7 bit
gain compensation allows +/-63 DAC units to be added to the full voltage range
The CV Tab calibration settings are stored on the CV TAB itself. Each CV TAB is
factory calibrated before sale.
If you need to recalibrate your CV Tab, you can use the following utility
https://github.com/hotchk155/arpie-cv-tab/blob/master/cal-tool/cal-tool.html
This is a standalone HTML file which you can download (use “Raw” option) and save
to your computer, then open it in a browser that supports WebMIDI (Such as Google
Chrome)
Select the MIDI interface to which the Arpie (with CV Tab installed) is connected,
enable calibration mode via hack header settings and follow the instructions on
screen.
You will need a voltmeter with .001V accuracy to properly calibrate the CV Tab.
Alternatively you can use a well-tuned VCO with an electronic tuner or frequency
counter.
Memo Tab / Patch Saving
Memo Tab (and CV Tab) contain a memory chip that enables Arpie patches to be
saved and recalled later.
The programmer connects to the 6 pin programming header (ICSP1) on the Arpie
main board. This is the connector near to the reset button.
The ordering and labelling of pins on the programmer can vary depending on the
exact type. If you have an FTDI programming cable with a 6 pin female header, you
should be able to connect it directly to the programming header.
With other types of programmer, you’ll need to connect the individual pins of the
programmer to corresponding pins on the header, using the provided jumper cables
as follows
The pin 1 end of the connector on the Arpie board is indicated with a digit “1”. It
might be necessary to take out the screws and remove the top Arpie PCB to access
the programming header. The control surface does not need to be attached during
programming.
Disconnect all MIDI connections during programming and make sure that the Arpie
is powered via battery or DC socket and is switched on (it might look powered up as
soon as USB is connected but you MUST power Arpie normally and make sure it is
switched on during programming)
Open the firmware file in Arduino (you will get prompted that the code has been
placed automatically in an “Arpie” folder)
In the Arduino environment, select the COM port for the programmer (which is
usually the highest numbered port and appears only when the programmer is
attached) and select Board Type “Arduino Duemilanova” and processor type
“ATMega 328”
Press Ctrl-U to compile the code and upload to the Arpie. Compilation takes a few
seconds - get ready to press the reset button on the Arpie… as soon as the message
on the Arduino status bar changes from “Compiling” to “Uploading”, press the reset
button on the Arpie board. Within 10-15 seconds you should have a “Done” message
in the Arduino environment status bar and the Arpie has been updated.
You can check the firmware version installed on an Arpie by holding the HOLD
button while the device boots up as described previously.
Disconnect the programmer from the header before reattaching the MIDI cables.
For troubleshooting information please check https://six4pix.net/product/Arpie/#tab-
diagnostics-faq