# Another alternate Firmware for the retail Picade

**URL:** <https://forums.pimoroni.com/t/another-alternate-firmware-for-the-retail-picade/916>\
**Category:** Picade\
**Created:** [August 30, 2015, 9:59am UTC](https://forums.pimoroni.com/t/another-alternate-firmware-for-the-retail-picade/916 "2015-08-30T09:59:36Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![mAcHiNE](https://avatars.discourse-cdn.com/v4/letter/m/eb9ed0/32.png) [@mAcHiNE](https://forums.pimoroni.com/u/mAcHiNE)\
**Post date:** [August 30, 2015, 9:59am UTC](https://forums.pimoroni.com/t/another-alternate-firmware-for-the-retail-picade/916/1 "2015-08-30T09:59:36Z")

</div>

Hi,

I finally finished my first piece of firmware for the retail picade.  
The main reason for this were my troubles with using Recalbox and I also wanted cleaner code.

It works for me now as expected, but I didn’t spend a lot of time testing.

v1.2

- Fixed volume zero bug

v1.1

- Changed joystick debounce to fix slow volume reaction

v1.0

- Modularized project files (keyboard/joystick/volume)
- Only two main functions in each module (Init/Check)
- Added configurable startup volume
- Added joystick support for Recalbox
- Added config.h for all user settings

Source: [https://github.com/DsChAeK/Picade](https://github.com/DsChAeK/Picade)

Feel free to use and let me know problems or improvements. :)

---

<div class="post-metadata">

**Author:** ![greybeard](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/greybeard/32/828_2.png) [@greybeard](https://forums.pimoroni.com/u/greybeard)\
**Post date:** [February 18, 2016, 9:34am UTC](https://forums.pimoroni.com/t/another-alternate-firmware-for-the-retail-picade/916/2 "2016-02-18T09:34:36Z")

</div>

Hi!

This seems interesting! I’m finding retropie needs a lot of tweaking to work right, so I’m considering alternatives.  
Any suggestions on how can I add this to my PCB? I’m pretty new to these workings :)

---

<div class="post-metadata">

**Author:** ![mAcHiNE](https://avatars.discourse-cdn.com/v4/letter/m/eb9ed0/32.png) [@mAcHiNE](https://forums.pimoroni.com/u/mAcHiNE)\
**Post date:** [February 19, 2016, 6:46pm UTC](https://forums.pimoroni.com/t/another-alternate-firmware-for-the-retail-picade/916/3 "2016-02-19T18:46:46Z")

</div>

Hi,

well the only way worked for me was with Windows 10 and the following steps.  
(Windows 7 had troubles with drivers but maybe it’s only a problem of myself, always hung up on flashing…)

- Download Arduino IDE **v1.6.5** from here: [https://www.arduino.cc/en/Main/OldSoftwareReleases#previous](https://www.arduino.cc/en/Main/OldSoftwareReleases#previous)
- Download firmware sources: [https://github.com/DsChAeK/Picade/archive/v1.2.zip](https://github.com/DsChAeK/Picade/archive/v1.2.zip)
- Extract it and replace the files from the subdirectory **/USB\_HID/** with those in your installation directory **…/Arduino/hardware/arduino/avr/cores/arduino** (backup recommended!)
- Plugin the USB Cable from Arduino Board into your PC, wait a few seconds to let it initialize.
- Open **Picade.ino** in Arduino IDE.
- Go into “ **File -\> Preferences** ” and select both checkboxes at “ **Show verbose output during:** ”
- Select “ **Tools -\> Board -\> Arduino Leonardo** ”
- Select “ **Programmer -\> AVRISP mkll** ”
- Select “**Tools -\> Port -\> COMx (Arduino Leonardo)**”
- Select “ **Sketch -\> Verify/Compile** ”, should end without errors. (-\> _“Sketch uses 7,728 bytes of program…”_)
- Select “ **Sketch -\> Upload** ”, should end without errors. (-\> _“avrdude done. Thank you”_)

Hope this helps! :)

---

<div class="post-metadata">

**Author:** ![mAcHiNE](https://avatars.discourse-cdn.com/v4/letter/m/eb9ed0/32.png) [@mAcHiNE](https://forums.pimoroni.com/u/mAcHiNE)\
**Post date:** [August 13, 2016, 1:29pm UTC](https://forums.pimoroni.com/t/another-alternate-firmware-for-the-retail-picade/916/4 "2016-08-13T13:29:06Z")

</div>

v1.3  
-Use front buttons for input  
-Use volume buttons for input (optional)

---

<div class="post-metadata">

**Author:** ![jopamo](https://avatars.discourse-cdn.com/v4/letter/j/6de8d8/32.png) [@jopamo](https://forums.pimoroni.com/u/jopamo)\
**Post date:** [November 12, 2016, 5:58pm UTC](https://forums.pimoroni.com/t/another-alternate-firmware-for-the-retail-picade/916/5 "2016-11-12T17:58:00Z")

</div>

Holy crap… it works! Finally I can play with this thing on Recalbox without having to resort to plugging in my Mad Catz TE fight stick (LOL). This is great. Thanks!  
One question though. What happened to Escape key function? Mine doesn’t respond in game (to exit) after the firmware update. It’s really not a big deal though as I’ve set Enter as the Hotkey and press Enter+Start to exit back to the main menu.

Oh and the Github page has your third bullet point flipped from what’s posted above:  
**Extract it and replace the files from your arduino installation directory …/Arduino/hardware/arduino/avr/cores/arduino with those from the extracted subdirectory /USB\_HID/ (backup recommended!)**  
(I followed the directions via Github and had no issues.)

Thanks again!

---

<div class="post-metadata">

**Author:** ![mAcHiNE](https://avatars.discourse-cdn.com/v4/letter/m/eb9ed0/32.png) [@mAcHiNE](https://forums.pimoroni.com/u/mAcHiNE)\
**Post date:** [November 12, 2016, 6:46pm UTC](https://forums.pimoroni.com/t/another-alternate-firmware-for-the-retail-picade/916/6 "2016-11-12T18:46:02Z")

</div>

Yep, I fixed this on Github. ;)  
My firmware uses the picade controls as a **joystick only** , so you have to use **Hotkey+Start** for exit.  
Thx for your feedback and enjoy!

---

<div class="post-metadata">

**Author:** ![matt\_tee](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/matt_tee/32/3327_2.png) [@matt\_tee](https://forums.pimoroni.com/u/matt_tee)\
**Post date:** [November 8, 2017, 1:40am UTC](https://forums.pimoroni.com/t/another-alternate-firmware-for-the-retail-picade/916/7 "2017-11-08T01:40:03Z")

</div>

Hi, I have done as said here, but I keep getting an error when I compile. It says “no such directory”.

What am I doing wrong?

I have Recalbox installed. And I am using a picade arduino compatible pcb. (the blue one)

Frustrated…
