RRB - The Radio Rewind Button

Radio killed the Video-recorder Star

Similar projects worth following
The Radio Rewind Button (RRB) is a FM radio with a rewind function to catch up with the last few minutes of the show. Streaming audio services form your internet radio stations also don't have a rewind option, so I might need a line input as well.
This idea started with my wife wishing to catch a piece of talk in the radio where we missed the beginning of the story or one of her favourite songs playing that she would like to hear from the beginning right now. Putting 1+1 (idea + implementation) together, this is the perfect entry for this year's HaD price. Makes her happy and gives me an exiting and challenging project.

The idea is to have a FM receiver chip with I2S interface to get the audio data into the digital domain as quickly as possible. The FPGA implements a ring buffer inside the SDRAM memory with an I2S to line out back end. A small controller, probably Arduino is going to to control the radio station and a small display with a all necessary information as FM frequency, rewind metric and memory telemetry. Finally the main controller, a BIG red button to rewind your radio and give superior listen experience. As visible in the picture, the button is the only part I have sourced so far. :)

I do have a Numato Elbert V2 FPGA board. This is probably going to be the base system, it has 4 PMOD connectors to connect to a daughter card (so nice that nobody gave weird names to this kind of boards). This gives me 32 IOs and hopefully enough GND pins for a solidconnection. I will run a 8-bit SDRAM interface through those connectors but signal integrity might be a challenge. Nothing a solid termination cannot fix. The 2 I2S interfaces have to go through a secondary connector wired to the daughter card. This is OK as they are much slower.

I found some candidates for ICs already, see bill of material for details.

View all 6 components

  • More components

    MagicWolfi6 hours ago 0 comments

    Just found out that the NXP UDA1380 is end of life:-(. Looks like I am back to component hunting again. Looking for a Audio line in to I2S and i2S to line out codec. TBC.

  • Memory size and let's do the time warp again...

    MagicWolfi4 days ago 0 comments

    Assuming CD quality, I have 44100 samples/sec in 16 bit. For stereo this is 176400 Bytes/sec or 10584000 Bytes/minute. The smallest SDRAM with availability and second source is 64Mbit x 8 = 67108864 Bytes. So I will have about 6 Minutes and 20 seconds (in NA units this is 6 1/3 minutes ;-) time warp rewind time. This should be more than enough to listen to the missed news and not many songs are longer than 6 minutes, unless your really like November Rain or Pink Floyd and have a radio station that plays the songs to the very end and not only half </rant>.

  • Components

    MagicWolfi04/06/2018 at 00:53 0 comments

    Heart of the prototype will be a Numato Elbert V2 FPGA board. It has a Xilinx Spartan3 XC3S50A FPGA, which is somewhat unfortunate for me as a lifelong Altera guy but they all speak VHDL.

    It should be large enough to handle a SDRAM core and 3 I2S interfaces. The board has 39 dedicated IOs and I am sure the 6 LEDs and 8 DIP switches can be re-purposed if necessary. The buttons might come in handy for a user interface, except the big red button of course, which will be there no matter what.  32 IOs are located on 4 PMOD connectors. the daughter card will connect through them and will mainly hold the SDRAM interface (~30GPIOs for a 64M x 8bit device). 64Mx8 is the smallest I could find with an 8bit data bus to save pins and available quantities. Also on the daughter card will be the FM radio and the line in and out interfaces. Separate control interfaces will go to an Arduino controller, could be as simple as an I2C interface. The prototype might connect to a PC for user IO, but the end goal is a small display showing the radio station and other useful data. The big red button was part of a Sparkfun dumpster dive shipment, waiting patiently for its opportunity to shine.

View all 3 project logs

Enjoy this project?



Mike Szczys wrote 04/03/2018 at 15:07 point

I love this idea! It would be very neat to have the playback after rewind be 5-10% too fast so that over time you catch up again.

  Are you sure? yes | no

MagicWolfi wrote 04/04/2018 at 00:45 point

Thanks Mike. The faster playback makes absolute sense. Best implementation might be to speed it up dynamically to hide the fact that it is faster than normal. Would spoil the favourite song if it is noticeable. Speech might be more forgiving. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates