ROMI 32U4 imaging from FRC WPILibPi fails

Hi, I’m attempting to build a ROMI for FRC using a Raspberry Pi 3B+ and am getting an error when updating the firmware of the 32U4. I’ve been following instructions from this page. Imaging your Romi — FIRST Robotics Competition documentation Below is the log output. I’ve got a USB data cable. Any idea what I might need to do? Thanks!

The ROMI that I’m working on is not from the FRC kit, but purchased as individual parts, so I’ve done my own soldering on it. I can connect a USB data cable to the ports and get the 32U4 imaging button to activate, so everything is fine to that point with the RPi. Not sure if this is a WPILibPi issue or 32U4 board issue.

When I start the imaging process, the yellow LED on the 32U4 board briefly flashes quickly, then goes back to a slow blink. I’ve retried this several times with different cables. Other thoughts I’ve had on how to solve involve seeing if I need to do something with updating Arduino code first like maybe it needs to be ‘primed’ properly, re-re-re-checking solder connections, re-flash the PI image…?

Beginning binary upload to Romi ...
Resetting Romi to boot mode (should see quickly flashing yellow LED

Running imaging tool
avrdude: Version 6.3-20171130
         Copyright (c) 2000-2005 Brian Dean,
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"

         Using Port                    : /dev/ttyACM0
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600

avrdude: ser_open(): can't open device "/dev/ttyACM0": No such file or directory

avrdude done.  Thank you.


I am sorry to hear you are having problems with your Romi robot. We are not involved with the software side of the WPILib project, so you would need to contact the WPILib team if the problem is software related. However, we can help you determine if your Romi hardware is functioning properly.

The easiest way to test the Romi 32U4 Control Board is to remove the Raspberry Pi for now and use a computer to program it with something like the Arduino “Blink” example. You can find instructions for programming it in the “Programming the Romi 32U4 Control Board” section of our Romi 32U4 Control Board user’s guide.

If you are able to successfully program the Romi 32U4 Control Board with Arduino’s Blink program, then you can use the examples from our library to test the other features and peripherals. You can find information about installing our Arduino library in the “Romi 32U4 Arduino library” section of the same user’s guide. If you have the LCD, you can use the Demo program and navigate through the menu to test the various features, otherwise, I would recommend running some of the individual test programs, like MotorTest to check the motor connections.

Also, if you want to post some pictures of your soldering, I would be glad to take a look (although the soldering should generally not cause problems with programming).


Thanks Brandon, I don’t have the LCD, but as long as testing out the Blink program and other board functions doesn’t negate the ability to load the FRC image later, I’ll give that a try. I’ve done some Arduino programming, so I’m somewhat comfortable with that. Are there initial drivers that might not be loaded which doing this would resolve, perhaps? That seems like the sort of thing that would cause a USB port to be unavailable. I had someone with some experience with soldering check my work and they deemed it a bit blobby but acceptable, so I’ll start with the direct Arduino programming first. Thanks!

@BrandonM It appears that re-flashing the RPi image and reattempting the procedure fixed this issue.

It’s great to hear that you got it working! Thank you for letting us know.

Good luck with your Romi Robot!