BMOW title
Floppy Emu banner

Retro USB Firmware Update v0.1.5

Firmware version 0.1.5 is now available from the Retro USB page. This version adds a few small improvements:

  • LED A now illuminates when there’s a working ADB or USB connection to the host computer. LED B blinks when there’s keyboard or mouse activity.
  • F13 now functions as an ADB power key in standby mode, just like PRINT SCREEN. Some USB keyboards don’t have a PRINT SCREEN key, some don’t have F13, so you can’t please everybody.
  • Special ADB keycodes for the right-side shift, control, and alt keys are no longer sent unless the host computer specifically requests them. This fixes some weirdness with these keys on the Apple IIGS at the BASIC prompt.

Retro USB is an input converter for USB and ADB keyboards and mice. It works in two directions, connecting modern USB peripherals to a classic ADB-based Macintosh or Apple IIgs computer, or ADB peripherals to a USB-based computer running Windows, OSX, or Linux. The foreign keyboards and mice behave exactly like native peripherals, requiring no special software or drivers – just plug it in and go.

Be the first to comment! 

How to Clean a PCB

Lately I’ve been assembling a lot of Retro USB boards, and that’s got me thinking about the best way to clean them after assembly. I use a “no clean” flux for my assembly work, so in theory I don’t have to have to clean it off, but if I don’t then it will leave an ugly sticky mess. Unfortunately the black soldermask of Retro USB boards seems to highlight flux residues more than other colors. I’ve also recently started using a gel flux in a syringe instead of a flux pen, and it’s stickier and leaves more residue. So good cleaning is more important now than ever.

In the past, my standard cleaning method was regular cotton swabs (Q-tips) with 99% isopropyl alcohol. It dissolves the flux residue, but the swabs snag easily on the sharp corners of parts, quickly become shredded, and leave tiny cotton fibers everywhere. I’ve now started using Chemtronics cotton tips, which are basically fancy Q-tips designed for industrial use. The cotton is packed and wound more tightly than Q-tips, and they’re “low lint”, whatever that means. It helps reduce shredding and stray cotton fibers, but doesn’t completely eliminate them.

The isopropyl alcohol also leaves a residue that’s visually unattractive, as you can see here. Its visibility depends greatly on the angle of the light, and I’ve intentionally chosen the worst angle for the photo. I’m uncertain if this residue is really from the alcohol, or whether it’s the remnants of the flux dissolved in the alcohol, but whatever it is leaves streaks on the PCB when it dries. I’ve found I need to wait until it dries, then use another dry cotton swab to buff the dried areas and remove the streaks. The end result still isn’t perfect, though it’s pretty good. But the whole cleaning process can be very time consuming, requiring several minutes per board.

It’s my understanding that commercial PCB assemblers wash the finished boards in hot deionized water and some kind of solvent. It’s essentially a special dishwasher for electronics. I don’t have that kind of equipment though, and I wouldn’t be excited about washing PCBs where my kitchen dishware and utensils go. In the past I’ve tried hand-washing finished boards with ordinary hot water and dish soap, and it worked OK but still wasn’t squeaky clean. Washed boards also require a special dryer, or a long period of air-drying to ensure all the water is out before powering the board.

Do you have a favorite method of board cleaning? Leave a note in the comments.

Read 2 comments and join the conversation 

MEGA, and the Future of ROM-inator II

It’s my pleasure to introduce the Mac ROM-inator II MEGA, with 2x the storage capacity of the original ROM-inator II SIMM. Like the standard ROM-inator II, the MEGA replaces the stock Macintosh II series or SE/30 ROM with a programmable flash memory module. Once installed, the flash ROM takes over the Macintosh, allowing for a bootable ROM disk, new startup sound, new icons, HD20 support, 32-bit clean ROM, and other crazy customization possibilities.

I’m assembling the MEGA SIMMs as needed, so the order processing time will be longer than for other BMOW products. The standard ROM-inator II SIMM will remain available, and is probably still the best choice for most users. But for those looking for the largest possible ROM that the Macintosh II series machines can support, the MEGA is a great option.

The default ROM disk image has been expanded for the MEGA. Thanks to the FC8 on-the-fly decompression that I implemented last year, the 8MB of flash on the MEGA is enough to store the 512KB system ROM and a 12MB disk image full of classic utilities and games. The utility programs include ResEdit and some SCSI tools, which should be useful for anyone configuring a new hard disk. Both the MEGA and the original ROM-inator II SIMMs can be reprogrammed with the optional ROM SIMM programmer.

The Future of ROM-inator II

Both styles of ROM-inator II SIMM use a set of 16 megabit 5V flash memory chips to interface directly with the Macintosh bus. There’s only one manufacturer that still makes this chip, and they recently moved it to “end of life” status, with an official retirement date of March 2018. The chips are still available for now, but already the supplies are dwindling, and the price is going up. This isn’t good news for the long-term viability of the ROM-inator II products.

I may place one final order for a large number of chips before March 2018, but after that I don’t see a clear path forward. Using 3.3V flash memory would require level converters for 60-something memory bus signals, with 32 of those requiring bidirectional level conversion. That would be expensive, and difficult to physically fit and route on a 3 inch SIMM.

Smaller capacity 5V flash memory chips remain available, and I could conceivably design a ROM-inator II Mini with 512KB or 1MB of total storage. That would be enough for a modified system ROM with the new startup sound, new icons, HD20 support, and 32-bit clean ROM. But it would leave little or no space available for a ROM disk.

We’ll see what 2018 brings. Until then, enjoy the ROM-inator II hardware while it lasts!

Read 1 comment and join the conversation 

The Emerging Retrocomputer Industry

While visiting the Bay Area Maker Faire this past weekend, I was struck by something: we’re seeing the emergence of a full-fledged retrocomputer industry. There were at least two retrocomputing-specific businesses exhibiting (GGLABS and Manila Gear), and a couple of others selling newly-designed systems running BASIC that would have been at home in 1982. Yes, this stuff has been around since back when retrocomputing was just “computing”, and there have always been vendors providing replacement parts for obsolete machines. But it’s only within the past few years that we’ve seen businesses developing new hardware for 25-year-old computers with no practical purpose beyond nostalgia.

This is a surprisingly big market. Name any brand of computer from the 1980s, and there’s almost sure to be someone in 2017 who will sell you new peripherals and expansion hardware for it. Just within the retro-Apple community, besides BMOW and the two others I already mentioned who are developing new retro-centric hardware, there’s Rich Dreher, Nishida Radio, Michael McMaster, A2retrosystems, RetroConnector, Sigma Seven Systems, Plamen Vaysilov, and many many others (let me know who I’ve forgotten). Then there are also general merchandise stores of retro-Apple products, like A2Heaven, UltimateApple2, and Reactive Micro. I’m not always clear whether those are storefronts for a single business’s own products, or whether they’re reselling products developed by others, but either way they’re impressive. If you’re in love with old computer nostalgia from decades past, then these are the golden years.

Read 4 comments and join the conversation 

Bay Area Maker Faire Meetup

The Bay Area Maker Faire is this weekend. Who’s going? I’ll be there today – and if you want to meet up and say hi, I’ll be at the Make: Electronics stage in building 2 at 3:00 PM. Look for the guy in the BMOW t-shirt.

This will be my first Maker Faire in several years. In the early days I went every year, but after the crowds passed the 200,000 mark I got scared off. Hopefully I won’t get crushed and trampled this time!

Read 4 comments and join the conversation 

Retro USB – On Sale Now

Retro USB is available for sale now – visit the BMOW shop to be the first kid on your block to get one! Retro USB is an input converter for USB and ADB keyboards and mice. It works in two directions, connecting modern USB peripherals to a classic ADB-based Macintosh or Apple IIgs computer, or ADB peripherals to a USB-based computer running Windows, OSX, or Linux. The foreign keyboards and mice behave exactly like native peripherals, requiring no special software or drivers – just plug it in and go.

Now you can finally use an optical mouse with your vintage Macintosh, or amaze your coworkers with an antique Apple Extended Keyboard on your work machine.

The last month of development has been a marathon, but I’m very excited to finally release this product whose first concept was outlined here over a year ago. Aside from a very long period of hibernation between concept and implementation, the final result turned out very similar to how I imagined it in those first concept posts.


The Retro USB hardware is compatible with all Apple computers, keyboards, and mice using a mini DIN 4-pin ADB connector, including most early Macintosh computers and the Apple IIgs. It is also compatible with standard USB keyboards and mice with a USB-A connector. When in ADB-to-USB conversion mode, it works under Windows, OSX, Linux, or any other operating system that supports USB HID input peripherals.


USB keyboards and mice with a classic ADB-based Macintosh or Apple IIgs. Set the jumpers as shown on the Retro USB board’s diagram to select USB-to-ADB conversion mode. Use an ADB cable to connect the board’s ADB port to the computer’s ADB port.

A single USB peripheral can be connected directly to the Retro USB board’s USB-A port, or a standard USB hub can be used to connect multiple peripherals at once. When in this mode, Retro USB supports one USB keyboard and one USB mouse, as well as any number of ADB keyboards and mice, all used simultaneously.

Standard bus-powered USB hubs are recommended. Externally powered USB hubs (with their own independent power supply) are not recommended, because they can backfeed power into Retro USB even when it’s off, causing problems.

Power Key

Original ADB keyboards had a power key – a square or rectangular key with a triangle logo that could be used to turn on some later models of Macintosh computers. Retro USB has two substitutes for the power key. There’s a small button on the board that will function as the power key, even when the board is off. And when Retro USB is provided standby power from an auxiliary source, the PRINT SCREEN key on a USB keyboard will also function as the power key. To provide standby power, connect the Retro USB board’s USB-B port to a standard USB charger.


ADB keyboards and mice with a modern USB-based computer. Set the jumpers as shown on the Retro USB board’s diagram to select ADB-to-USB conversion mode. Use a USB-B-Mini cable to connect the board’s USB-B port to the computer’s USB port.

A single ADB peripheral can be connected directly to the Retro USB board’s ADB port, or multiple peripherals can be daisy-chained, using the ADB pass-through connector found on all Apple ADB keyboards. When in this mode, Retro USB supports one ADB keyboard and one ADB mouse, as well as any number of USB keyboards and mice, all used simultaneously.

The ADB peripherals will appear as standard HID input devices to modern Windows, OSX, and Linux computers. No special drivers or other software are needed.

Firmware Updates

Retro USB firmware can be updated to fix bugs and add new features. Disconnect all power from the board, and set the board’s jumpers to select USB-to-ADB mode. Download the firmware.hex file from the Retro USB web page, and copy the file to a USB flash drive. Plug the flash drive directly into the board’s USB-A port – do not use a hub. Hold the board’s power key button while you connect the power and turn on the board. Continue to hold the button for a few seconds, until the A and B status LEDs begin blinking rapidly. The update process takes about 10 seconds. When finished, the LEDs will blink slowly together, once per second. You can now press the power button a second time to exit the firmware update and return to normal input conversion mode.

LED Status Codes

The A and B LEDs on the Retro USB board display status and error information. (The A LED is labeled RUN on some boards). During normal use, the A LED will blink rapidly while B remains off. During a firmware update, both LEDs are used to indicate status:

slow alternating blinks of A, then B (1 blink/sec) – bootloader is searching for a firmware file
fast alternating blinks of A, then B (8 blinks/sec) – bootloader is updating the firmware
slow synchronized blinks of A and B together (1 blink/sec) – bootloader finished successfully

If B blinks several times while A remains off, it indicates a bootloader error:

2 blinks – no valid firmware exists on chip, can’t start main Retro USB program
3 blinks – no firmware files found on USB drive
4 blinks – error in firmware file (checksum mismatch or illegal data)
5 blinks – error while updating firmware in chip memory

Help Commands

You can interact directly with Retro USB by typing help commands on an attached ADB or USB keyboard. Open an empty text document or command prompt on your computer. Retro USB will “type” its responses to your commands, so they appear on the screen.

Control-Shift-Capslock-V – Displays the firmware version number

Control-Shift-Capslock-C – Enters keydump mode. While in this mode, the USB key code is displayed for each key that you press, along with the corresponding ADB key code it’s mapped to (or vice-versa). This can be helpful for troubleshooting key mapping problems.

Control-Shift-Capslock-D – Exits keydump mode.

Read 16 comments and join the conversation 

Older Posts »