element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • Experts & Guidance
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • Product Groups
  • Store
    Store
    • Visit Your Store
    • 'Choose another store...'
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
BeagleBone Black Radio Challenge
  • Challenges & Projects
  • Design Challenges
  • BeagleBone Black Radio Challenge
  • More
  • Cancel
BeagleBone Black Radio Challenge
Blog Beaglebone Black Radio Challenge - Part 5: Project Finalisation
  • Blog
  • Forum
  • Documents
  • Files
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: fvan
  • Date Created: 25 Mar 2014 10:39 PM Date Created
  • Views 2074 views
  • Likes 4 likes
  • Comments 21 comments
  • RoadTest
  • lcd
  • Black
  • plexi
  • radio
  • bbb
  • BeagleBone
  • 3dprinting
  • challenge
  • beaglebone_black_radio
Related
Recommended

Beaglebone Black Radio Challenge - Part 5: Project Finalisation

fvan
fvan
25 Mar 2014

All entries in this blog series:

  • Beaglebone Black Radio Challenge - Review
  • Beaglebone Black Radio Challenge - Part 1: Project description
  • Beaglebone Black Radio Challenge - Part 2: Getting the different components to work
  • Beaglebone Black Radio Challenge - Part 3: User interface (Work in progress)
  • Beaglebone Black Radio Challenge - Part 4: The Build
  • Beaglebone Black Radio Challenge - Part 5: Project Finalisation (this post)

 

  • Disaster ...
  • Demo Time!
    • Controls
    • Listening
    • Managing Channels
    • Configuration
  • Diagram, Components and Code
    • Diagram
    • Components
    • Code
  • Thank you

 

The end of the challenge is nearing, so here's my final post on this project.

I have had a major setback when resuming coding after the build, but I did manage to get a fully functional FM/Internet Radio combo in time.

 

 

Disaster ...

 

After having finished the build from part 4, I was getting ready to resume coding on my interface and its functionalities.

I booted my BBB Radio, started the browser and my interface was totally blank.

No reason to panic (yet), as I might have left the code broken the last time I worked on it. That's when I discovered my index.cgi file was 0 bytes big.

 

Disaster ... The code was gone and I had no backup to recover at least some of it. Luckily, my images, stylesheets and config files were still intact.

I desperately searched for a copy of my index file but didn't manage to find any. There was nothing left but to start over and start making backups!

 

That was a bummer which was most likely entirely my fault, but a lesson learned ... the hard way. I'm still not sure what happened exactly, but I assume I left the file open and didn't properly shut down the BBB, or at least something along those lines.

 

With only two weeks left before the end of the challenge, I started coding again ...

 

Demo Time!

 

Pfew, I made it ... with only a few days to spare. Here's a set of demos of what I managed to get done for this challenge.

 

Controls

 

It's possible to control the Beaglebone Black Radio in various ways:

  • Touchscreen using the LCD cape
  • Wireless keyboard/mouse combo
  • From a smartphone/tablet/pc

 

Each of the controls have their (dis)advantages. For example, the LCD cape is useful for navigation and actions using big buttons. It is however less adequate for entering data.

This disadvantage is compensated by the wireless keyboard/mouse combo or by accessing the interface from another device such as a smartphone.

 

You'll see me using some of those different controls in the videos below.

 

 

Listening

 

This video demonstrates the controls to listen to the radio. The controls allow you to switch between FM or Internet radio, start, stop, browse the available channels and set the volume.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

You can hear the moment it switches between FM and internet streaming. The audio levels also seem to be different. I'll have to find a way of aligning this.

image

 

Managing Channels

 

I developed a simple radio channel management interface which you can view in the video below. It allows you to add new channels and edit or delete existing channels.

The configured channels are stored in a configuration file on disk to make them persistent across reboots.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Managing channels can also be done (more easily) from a smartphone:

image

 

Configuration

 

Finally, a short video on setting some parameters for the SDR receiver stick. The list could be extended to support a larger set of configurable parameters.

For now, it allows to configure the modulation type, gain and sample rate which are provided to the "rtl_fm" command. Changes are also stored in a configuration file on disk.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

image

 

Diagram, Components and Code

 

Below you will find all the information required to better understand or even build this particular Beaglebone Black Radio.

All suggestions/improvements/additions are more than welcome, I'll also gladly answer any questions you might have regarding this build.

 

Diagram

 

I made a simple diagram of the different components involved and how everything is connected.

It's more of an integration project where different existing components are combined into one solution, all glued together with a web application developed in Perl.

image

 

Components

 

The list of electronic components used in my project:

 

ComponentHeader 2
Beaglebone BlackBeagleBoard.org - BeagleBone Black
LCD Touch CapeCircuitCo:BeagleBone LCD4 - eLinux.org
USB Wifi AdapterUWN200 b/g/n USB wireless adapter | Logic Supply
USB SDR ReceiverSoftware Defined Radio Receiver USB Stick - RTL2832 w/R820T ID: 1497 - $22.50 : Adafruit Industries, Unique & fun DIY el…
Audio AmplifierStereo 2.8W Class D Audio Amplifier - TS2012 ID: 1552 - $9.95 : Adafruit Industries, Unique & fun DIY electronics and ki…
SpeakersSpeaker - 3 Diameter - 4 Ohm 3 Watt ID: 1314 - $1.95 : Adafruit Industries, Unique & fun DIY electronics and kits
Powered USB HubLogiLinkRegistered | USB 2.0 Hub, 4-Port LogiLinkRegistered | 16.03.2014
USB SoundcardUSB 2 0 External MIC Speaker 3D 5 1 Channel Audio PC Sound Card Adapter Brown | eBay
Wireless Keyboard & Mouse ComboRii 2.4GHz Wireless Mini PC Keyboard Touchpad V2 Black: Amazon.co.uk: Computers & Accessories

 

Code

 

And finally, a link to the source code of my web application used to control the radio: BeagleboneBlackRadio on GitHub

Information on setting up the Beaglebone Black and getting the components installed and running can be found in the previous posts of this challenge.

 

 

Thank you

 

As you can see in the picture below, we're having fun with our new radio! Thank you for giving us the opportunity to participate in this Roadtest Challenge.

imageimage

  • Sign in to reply

Top Comments

  • shabaz
    shabaz over 9 years ago +1
    Hi Frederick, The project turned out so well. It looks and functions well. And it is great you've got all the code and icons available too, and detailed diagrams so people can do similar things or get…
  • mcb1
    mcb1 over 9 years ago +1
    Nice work. I see you've been taking lessons from the 'photoshop' brigade ... Mark
  • mcb1
    mcb1 over 9 years ago in reply to shabaz +1
    I wasn't the one who put up a picture showing some lunatic robot destroying something ...
  • fvan
    fvan over 9 years ago in reply to alevans51

    I would imagine (and hope) that the solution I came up with for the Beaglebone Black would work equally well on the Raspberry Pi.

     

    Mhm, maybe I should try it out image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • alevans51
    alevans51 over 9 years ago

    Great work.  I like how you stuck with it.

     

    I would like to see this on a Raspberry Pi.  But no doubt, someone is working on it.   image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • fvan
    fvan over 9 years ago in reply to onebeartoe

    Thanks Roberto!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • onebeartoe
    onebeartoe over 9 years ago

    Nice work Frederick!  I really like your user interface, clean and very usable.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 9 years ago in reply to fvan

    You'd be the first to ask to keep getting the wind up ...image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube