SR-JV Wi-Fi Expansion Board

Table of Contents

Disclaimer

  • Experimental product. May not work for you. May not work at all.
  • Special care required when using multiple. See Wi-Fi Power Off
  • Shipping may be slow. Price may go up or down without prior notifications
  • California P65
  • I have no control over how page-ID is generated in WordPress

About This Project

This board is a re-writable ROM card with a Wi-Fi based user interface. It can store a ROM image up to 8MB/64Mbit, usually custom authored, and be used in compatible Roland synthesizers in place of an original SR-JV80 series expansion card to research the sound generation and synthesizing.

Compatible Hosts

This card is designed to be compatible with all Roland synthesizer which have slot for SR-JV80 series expansion cards. However, not all hosts are tested. See Known Issues for details and workarounds, modifications. Now in stock are HW Rev 1.2, older revisions listed for reference in case someone run into these. Green means the combination of hardware revision and host is tested to work, while orange means partial or complete incompatibility. Blank means it’s not tested but should work.

SynthesizerSR-JV80 SlotsLot No. 1 (HW Rev 1.0) CompatibilityCompatibility
After Lot No.1
JV-801YES
Workaround or Modification Needed
JV-8801YES
Workaround or Modification Needed
JV-901YES
JV-10001
JV-10101YESYES
JD-9901YES
Wireless off is required to remove interference
Wireless off is required to remove interference
FA-761
XP-302
XV-882
XP-504YES
Won’t work in slot C & D
Won’t work in slot C & D
XP-60/804YES
Won’t work in slot C & D
YES
Won’t work in slot C & D
JV-10804YES
XV-30804YES
XV-50804YES
JV-20808YES

Parts and Function

  1. Button – for activating Wi-Fi and resetting configuration
  2. Remote Button Header – user can solder a remotely mounted normally open button to this footprint. A button wired here has exactly same function as the onboard button
  3. Power Indicator – on when power is supplied to the board
  4. Status Indicator – blink slowly when Wi-Fi is on and no operation; on solid when operation in progress; blink rapidly when error; off when Wi-Fi is off
  5. USB connector – for powering the board when out of a synthesizer
  6. Expansion connector – for connecting to host synthesizer, the connector has been filed on some location to reduce stress
  7. Production header – for developer only, provides access to ESP32 UART, BOOT0 and RST. Can be used to program ESP32 in case the firmware is corrupted, or to develop own firmware

Board Info

Designed by me, Connor Zheng, in Beijing, China. Assembled in Beijing, China with components sourced globally. PCB by JLCPCB. 4-layer FR4, Lead-less HASL, RoHS 1, UL 94V-0. All components RoHS. SAC solder.

Comparison with Sector101’s Romulator

This is not a clone of Sector101’s product. The Romulator is a more faithful reproduction of the original Roland cards, using nothing but 4x 2MB Flash on the card. The programmer is standalone and not included on the card. This means electrically the Romulator card is exactly same as original card, which won’t have power consumption issues, wireless interference or signal integrity and delay issue, and is guaranteed to work in all hosts. You will have to take out a Romulator card from the synth to re-program it.

This product use 1x 8MB Flash and incorporates a ESP32 wireless microcontroller as on-board programmer. It is easier to use, can be programmed while inside synth, however have higher power consumption. Due to the address encoding, compatibility is not guaranteed on all slots of all hosts (need testing, see compatibility matrix).

If you require maximum reliability (e.g. on-stage performance) and minimum stress on your synthesizer’s power supply, or you hardly ever change the card content, you should choose the Romulator instead of my product.

Releases, Changelog and Known Issues

HW Rev 1.2

  • Changed address encoding chip to 74AHC86/74LV86 to reduce propagation delay
  • Changed CE line control circuit to 4x 74LVC1G125 to reduce propagation delay

HW Rev 1.1 – No production

  • Changed reset circuit, flash reset is now isolated, should be fully compatible with JV-80 and JV-880.

HW Rev 1.0

  • Initial Release. Modification or workaround is needed to work on JV-80 and JV-880. Does not work on XP-50/60/80 slot C and D due to delay
  • Affected Lot Numbers: 1
  • Affected Datecodes: 2506
  • Workaround for Lot No. 1 board on JV-80:
    • Press and hold NUMBER 1 button while powering on, or if this doesn’t work:
    • Boot synth in test mode and exit test mode (Reference service notes)
  • Workaround for Lot No. 1 board on JV-880:
    • Press and hold EDIT and COMPARE button while powering on, or if this doesn’t work:
    • Boot synth in test mode and exit test mode (Reference service notes)
  • Modification for Lot No. 1 on JV-80/880: https://www.ddzheng.cc/?page_id=805

FW 1.10 Release

  • Added AP channel selection function, changed default channel to 11
  • Added AP hide SSID function
  • Added show current value function for configuration dropdowns in HTML

Download FW 1.10: https://drive.google.com/drive/folders/1DnFtr_di28IOTllp2gWrjLeQtrrozbTT?usp=sharing (Upgrading to this version will erase all your current configuration and reset the ROM status. ROM content will not be affected.)

FW 1.00 Release

  • Fixed an issue where Apple devices are not supported in Bluetooth LE wakeup.
  • Fixed an issue in HTML
  • Fixed an issue where Bluetooth LE advertisement is sent once on boot, even if wireless mode is set to All Off

FW 0.99 Release

  • Bluetooth wakeup only supports Android phone.
  • Affected Lot Numbers: 1
  • Affected Datecodes: 2506

User Guide

Installation

Please follow the original Roland SR-JV80 series expansion card operator’s manual to install. Before installing make sure to unplug the mains power from the synthesizer. If you want to program/configure the card before installing, you can power the card by using a regular USB type-C cable and connect the other end to either a power supply or a computer.

Note: It’s highly recommended to use anti-static wrist-band connected to a solid ground connection to avoid static discharge damage to either the card or your synthesizer.

Note: If the board holder is too tight to rotate into place, do not force it. Leave it as is.

Note: If using multiple expansion cards it’s strongly recommended to configure Wi-Fi off in the configuration page.

Connecting to the Card

When the card is powered up and not in Wi-Fi off state, you can connect to the card’s Wi-Fi hotspot. Default name is “SR-JV-XXXXXX” where XXXXXX is the last 3 octets of the Wi-Fi interface’s MAC address and no password:

Once connected, open a new browser tab and navigate to “http://192.168.4.1“:

Click on any one of the link to go to their corresponding section.

ROM Content Management

Note: Change the synthesizer’s current selected patch/perform/rhythm to not include anything from the card before manipulating flash ROM. Otherwise the synth may crash and/or the synth patch data may get corrupted.

The status indicate whether the flash ROM is erased or programmed. Possible states are: ERASED, ERASING, PROGRAMMED, PROGRAMMING and UNKNOWN.

Before programming, the flash need to first be erased. Click “Erase Flash” to erase flash, this will take about 1 minute:

After the erase is finished, the page will automatically refresh.

Then you can program the flash with a image file. Browse for a BIN file and hit upload to write the flash, a full 8MB image will take 6 minutes to write:

Do not close the browser tab or disconnect Wi-Fi when writing. After writing is finished you need to power cycle your synthesizer to use the new ROM.

If the erasing or programming operation has been interrupted or failed before finish, a power cycle will recover the status to UNKNOWN and you can try program the same file again without erasing. In the state UNKNOWN you can either erase or write the flash. But if the flash is partially programmed and you try to program another file, the content will become corrupted and need to be erased.

Configuration

Wi-Fi Credentials Configuration

You can change the Wi-Fi hotspot name (SSID) and optionally set a password.

Note: SSID cannot include space (” “) and cannot be longer than 32 characters; Password cannot be shorter than 8 characters or longer than 32 characters.

Once you have decided on the SSID name or password, click submit to confirm it. A restart is needed for configuration to take effect.

Note: You’ll have to wake the card again after using “Restart” if Wi-Fi power off is configured. If you experience difficulty connecting with password changed, after you hit “submit”, instead of using the restart button, try do a power cycle. Depending on the operating system and wireless network card used, you may also have to “forget network” before connecting to it again, especially if the SSID name is not changed.

Wi-Fi Power Off Configuration

Installing more than one card without using one of the low power modes may cause your synthesizer’s 5V power supply to overheat, go into overcurrent protection, and/or be damaged. If you don’t need to change the content or if you have access to the button switch, just use Wireless Off mode. There’s no guarantee that these low power modes will solve all issues. I’ll not be held responsible if your synth burns up.

Normally this card would consume about 150mA with Wi-Fi on, and when actively writing the current will be 200mA or more. When multiple cards are installed this will likely cause the synthesizer’s power supply to go into overcurrent protection. In such case, you can configure Wi-Fi off to minimize current consumption. If you experience RF interference, you can also use this function to eliminate it.

There are 3 options: Always on, Wi-Fi off with BLE wakeup, Wireless all off.

  • Always on: Highest power consumption. The Wi-Fi interface is always on, suitable when no interference and only 1 card is installed
  • Wi-Fi off with BLE wakeup: Medium power consumption. Wi-Fi will be off upon boot. Wi-Fi can be activated by button or Bluetooth. This is suitable for a closed chassis situation without a remote mounted button. Current consumption is about 80 mA when Bluetooth is advertising with an average of 30 mA.
  • Wireless all off: Lowest power consumption. Wi-Fi and BLE are off. Wi-Fi can be activated by button only. RF systems are shut down.

Once you have selected an option, click submit to confirm it. A restart is needed for configuration to take effect.

Also, after manipulating the flash ROM on one card, remember to return to low power mode by using the link in the webpage or power cycle, before moving on to wake next card.

Waking Up the Card/Activate Wi-Fi

In both Wi-Fi off modes, you can press the button to activate Wi-Fi, either the onboard one or a user-soldered remote mounted button switch. Press the button for about half a second until the status LED starts to blink slowly. When waking up from sleep, holding the button down won’t clear the config.

If using BLE wakeup, you can use a smartphone, tablet or computer to wake the card’s Wi-Fi by initiate a pairing attempt with the card. Navigate to the Bluetooth settings of your phone, and select the option for pairing a new device. The device name is same as the Wi-Fi SSID configured. Click on the device name to initiate a pairing. You may need to click more than once for it to work. The pairing attempt will fail, and Wi-Fi will be activated.

Note: It’s by design that the Bluetooth pairing attempt will fail. This eliminates the need for an app, and you won’t need to un-pair the device before next Bluetooth wakeup.

Apple device users: Please update to FW Ver 1.00 or later to use Bluetooth wakeup on iOS devices.

[FW 1.10+] Wi-Fi Channel Setting

It’s now possible to select a channel for the Wi-Fi AP. Recommended channel is either 1, 6 or 11. Default channel is 1 in FW versions before 1.10 and 11 in FW version 1.10 and later.

[FW 1.10+] Wi-Fi Hidden SSID Setting

It’s now possible to hide the Wi-Fi AP. You can still connect to it if the SSID and password (if any) is known, but it won’t show up on Wi-Fi scans if it’s not been previously connected. Please make note of SSID if you are changing that at the same time.

OTA Firmware Upgrade

If you are updating using a pre-compiled BIN file, skip this step. If you are compiling from source, select “Export Compiled Binaries” in Arduino IDE:

If you got a firmware ZIP file, decompress it.

Select sketch BIN file and update:

After the progress reach 100%, the card will reboot to the new firmware and the page will redirect to homepage after 5 seconds. If Wi-Fi power off is configured, the redirect will fail. You need to wake the card again. Please disconnect Wi-Fi and reconnect to the card in such case. If you cannot connect to Wi-Fi after an OTA update, a power cycle will restore things to normal.

Note: Updating to certain versions will cause the configurations to be erased. This will not affect ROM content.

Note: If the BIN file is corrupted or wrong, the update will be rejected and error (fast blinking) will be shown on STATUS indicator. If the ESP32 cannot boot the new firmware, it will revert back to the working firmware. In rare case that the board cannot boot, it can be flashed normally by using the production headers and USB to TTL adapter. The ESP32 has an internal bootrom so it is not possible to actually brick it. Follow guides on developing ESP32 to know more.

Resetting Config

If you forget the password or otherwise need to reset the configuration, please follow these procedure:

  1. Power off the synthesizer or unplug USB power, wait at least 10 seconds
  2. Press and hold the button down
  3. While holding the button down, turn on the synthesizer or plug in USB, the STATUS LED will blink rapidly
  4. Continue to hold button down, after about 3 seconds STATUS will light up solid
  5. Release button, card will automatically reboot, config is cleared

If you let go of the button too early, the card will return to normal working mode and configurations will not be cleared. Resetting the configuration will not erase the flash ROM, but the ROM status will become UNKNOWN.

Open-source Hardware

Pending open source – this section will be updated later. It’s a work in progress and a mess I need to clean up before I can publish

Please email me if you want a copy of hardware and/or software source file now.

Buy Now

Last update: Mar. 22, 2025

Second batch of 100 units is now out of stock. I’m making 3rd batch now.

To subscribe to stock availability notification, please go to:

1 Unit – USD 6.00 Base shipping cost now included (see shipping for detail):

Providing a phone number is REQUIRED for destination: Canada, Croatia, Sweden, Romania (and any other destination that requires it, should this happen I’ll email you to ask for your phone number) and optional for other destinations. The phone number input is a “customization option” of the PayPal button and the value is not disclosed to any third party except for the express company. By submitting an order you agree to the terms listed in this section.

Delivery Phone Number

View cart and checkout:

I’d greatly appreciate it if you can email me ( [email protected] ) with your result using this device, so that I can extent the compatibility matrix and improve upon.

Please note I cannot ship device pre-programmed with any image.

Payment and Shipping

Payment is processed by PayPal. PayPal offers a secure payment process whilst keeping your payment details private. PayPal WILL NOT disclose your Card Payment Information to me. Details such as Card Number, Expiry Date, and CVV number will only be known to PayPal. PayPal WILL send information such as your PayPal Email Address and the Shipping Address you have registered to your PayPal account. It is up to you to keep this information up-to-date as this is the email contact and shipping address we will use to contact you and where to ship your purchase. It is strongly advised that you email us with your current Contact Email and Shipping Address after you make a purchase to confirm these details.

I will combine and ship as many items as possible in one package if you purchase more than 1 item, as long as multiple items can be fitted in one package. Please pay first, I will refund you the shipping cost once I have handled the package.

I can ship to most destinations. All shipment originate from China, are handled by Yuntu Express and are by air. Shipping usually takes 3 to 10 days depending on where you are.

Return and Refund

If you need a refund before the package has been picked up by express service, send email with detail of your purchase. Shipping cost is non-refundable.

If you need to return the product for a refund please contact using email so that we can work something out. By submitting a order you confirm that you are aware of: a return and refund may not be possible depending on the location.

Turnaround Time

  • An email will be sent to you to confirm your order, once you have paid the bill. Please allow up to 24 hours for me to respond and confirm your order by email.
  • An email will be sent to you with shipment tracking number and method of tracking. Handling time is usually 3 to 7 days before I can email you with a shipment tracking number. Sorry for any inconvenience as I don’t work full time on this.
  • Tracking info will also be updated in PayPal

As Yuntu Express does not have a collection service in my city, I gather packages and send them as bulk package to the service. I send out bulk packages at least twice may be 3 times per week.

Purchasing-related Contact

For purchase related issue and/or to confirm your address/email, please mail to: [email protected]. In case of urgent matter, an email may be sent to contact you from either my personal email listed in the about page, or from an @sa1tech.com email address. All of these described email addresses are legit.

We may use old stock of packaging material from other products. You may receive material with “Yanyu” or “StrictFish” marking/packaging. You may receive material sent by SA1 Technology Co., Ltd.. “Yanyu”, “StrictFish” are trademarks of SA1 Technology Co., Ltd.. SA1 Technology Co., Ltd. is an affiliated company. All packages are packed under video/still image recording and weighted before shipment. Any scam activity will be recorded and reported to law enforcement agency local to the buyer.

Resources

Production Record & Schedule

To identify your board, scan the QR code printed on the board. Under “Unit Identification Number” you can find a 3-section code (example: “SRJV-2506-0001”). The middle section is the datecode in YYWW format. If a board have a large white block instead of a QR code, this info will be written on the board or on a sticker.

Lot No.Date Code
(YYWW)
HW Rev.Factory FWBatch Size (pcs)Date Available /
Date Expected
Status
125061.00.9940Feb. 13, 2025Sold out
225091.21.1060Mar. 13, 2025Sold out
2+25091.21.1040Mar. 13, 2025Sold out
325111.21.10100Week 13Waiting Material

This document should not to be re-distributed as archive since it is subject to frequent change. This document is Licensed under CC-BY-NC-SA.

One thought on “SR-JV Wi-Fi Expansion Board

  1. I’m also interested in purchasing this unit for my JV880.
    Let me know when you have more in stock.

Leave a Reply

Your email address will not be published. Required fields are marked *