RadioGlobe - Spin to Search Over 2000 Web Radio Stations!




Introduction: RadioGlobe - Spin to Search Over 2000 Web Radio Stations!

About: I'm a Product Design Engineer, currently living in the UK. I have been fortunate to have lived, studied and worked in Hong Kong, Norway and California. I believe physical models help people to communicate, d…

Ever wanted to explore thousands of the world's radio stations, in seconds, simply by spinning a globe?
Then this is the project for you!

This Instructables will show you how to build a 'RadioGlobe', which has over 2000 stations (and counting), from all over the world. Part of the magic is the the tension between familiarity and the unfamiliarity: It's both shocking how many radio stations play Western pop music, but then with a turn of the jog wheel, you find an alternatives (in the same location) - and you navigate from Boosh FM's Drum & Bass, to listening to a native dialect of New Zealand. It's frankly, mind-blowing, even though the technology has been around for years.

News is another revelation - it's all too easy to lapse into thinking my 'international' news is 'the benchmark'. I found myself listening to the same global updates on COVID-19, but rather than my usual BBC News, I heard a local DJ discussing it in a chat radio station in South Africa - framing things in, frankly, a more gritty take... It's certainly different to what I'm used to, and that's the point. Even the globe is shifted 6.5degrees extra to make the viewing 'equal' between the northern and southern hemispheres - and yes, it's a nice metaphor for many things right now ;o)

For the Music fans, it does not disappoint. So much so, that it's almost giddying to find so much new music, and frustrating that I have to keep getting Shazam out! (We are working on this!). Of course, it must be said that there are desktop/mobile/apps that essentially do this already, but I like the physicality of the interface, and the way it hones my spatial appreciation for things. (And yep, it's nice to put the phone down for a second!!). I was impressed that after a quick demo, my 4 year old seemed very at home with the concept, so it passed the UI/UX test it seems ;o)

Which leads me nicely to the last part of this project: It's all Open Source. The GitHub repository is open to anyone who would like to evolve the code to make the RadioGlobe even better. I feel this is a perfect project for the Instructables community to build, but also hopefully to give suggestions in comments for future ideas (or help create them!). All credit is given on GitHub, and we know a few designers in some very prestigious companies are watching, so you never know ;o)

For more on the project, please check out the Vlog (LINK) and Q&A (LINK) I made for the project with DesignSpark, as part of their 10th Anniversary. Many thanks to them for commissioning me to simply 'do something awesome' - so I hope this delivers on that design brief! I think it's also really cool that they have supported the Open Source nature, with the Vlog and the GitHub work. As someone who has been making tutorials for years throughout my time at Dyson, Sugru and LEGO, I value the 'warts and all' transparency, rather than the 'here's one I made earlier' approach. The Vlog is a day-by-day reality of the ups and downs of the project, the mistakes and the wins. I hope it's useful for those interested in designing for prototyping, 3d printing, protoboard/PCB design, and of course a load of code!

Thanks for your comments, ideas and please vote in the Maps Contest if you like it.
Happy making!

Step 1:

Step 2: BOM - Bill of Materials

I've suggested basic tools, such as Drills, Soldering Irons, Files, Drill Bits, etc.
To be candid, the project is certainly 'intermediate' to 'high' level in complexity, so I'm although I'm not expecting you to have a New Yankee Workshop, I am assuming you have at least a fair toolbox. But I can reassure you that this does not require anything especially exotic to make, other than 3D Printing.

Perhaps the best 'non standard' purchase is a set of Step Drill Bits, as these make everything so much easier.
Step Drill Bits:
Needle Files:
CSK Bits:

In case interested, these are the tools I use, but you're welcome to use any that do a fair job:

Soldering Iron (mid-range, and well reviewed!): Hakko FX888-D:
Lightweight Drill: (5 years and going strong!)
Rotary Tool: (Psst! - it's better than Dremel, and only a little bit more expensive!)

In case you hadn't guessed, 'slicing' the world into tiny segments requires some fancy hardware! For this a used a Bourns Rotary 1024 Pulse Absolute Encoder. It's a mouthful, but basically it slices the world into 0.3degree slithers - which is pretty tiny. So this is probably the only component you really have to go out of your way to source...

Rotary Encoder: (order 2x).
You can of course use others, like DigiKey in the US, but you may need to do some extra work in the Code and the CAD if you don't find this exact one.

A word on Brass inserts... Ever since my days working for Dyson, I've come to realise that being able to disassemble is as important as assembling a prototype. If one uses a lot of glue, it can be a nightmare trying to 'undo' this step. Also, the project was designed to be improved upon, so you may well make adjustments and this means you're changing a minimum of parts.
If you'd prefer to simply use screws and assume a 'assemble once' approach, my suggestion would be to reduce the holes, either in the CAD, or by plugging the holes with 4mm rod, and making a pilot hole.

M3 Brass Inserts: (essential)
M4 Brass Inserts: (optional)

The Globe is of course a pretty important component to get right: I've used a 20cm diameter Globe from here: I'm sure others will be close enough, so long as the size is the same.
(I suspect others of the same dimension can be fitted just as easily at the axes, especially fi you have a 3D printer.)

Raspberry Pi 4B
I worked with the latest model Pi, but I've had it on good authority that RadiGlobe runs on older RasPis.*
The only thing to note if that the CAD parts are designed for the Model 4, so you'd need to do some minor tweaks to fit the power supply (Model 3 is Micro USB and Model 4 is now USB-C). No biggie, but FYI.

*Update: Just tested it on RasPi3B+ = works fine!


Much of these can be purchased in electronics stores, or are readily available online. Links are provided for reference.

M3 x 6mm (Hex Head) Bolts: (Link) and M3 x 4mm (CSK Pozi Head) bolt: (Link) Suggest 50x pack of each.

LCD Screen: (see image)

Buttons: (3x).Generic momentary 12x12x9mm type. (see image)

Jog Wheel:

Protoboards for Raspberry Pi:

(If you'd like to save a bit of money you can simply solder the PCBs up yourself as I have done initially, or you can download the gerber files and send away to be made). LINK to gerber files.

RGB LED (Common Cathode): (I'd suggest a box set is more cost effective).

20cm Jumper Cables: Also purchase 30cm Jumper Cables (or be ok with splicing 2 together to make 30cm long). (see image)

Header Pins - 90 degree:

4mm Steel Rod:

3.17mm to 4mm Coupling: (This is to connect the steel rod, above, to the Rotary Encoder).*
4mm Coupling Flange: (This connect the 4mm rod to the globe).*

*If you wanted to be very economical, one could 3D print these (and use grub screws), but I think it would be a false economy as it will likely wear loose over time. You call.

TIP: Couplings are often available in 'RC Stores', as they are used to make planes, and RC cars, etc.

Other models are available, but for a quick google, you'll find that at the time of writing this, the Ender 3 is just a terrific all rounder, and very cheap at $200 / £200. It really is hard to argue with this price as a way to get into 3D printing, and as a heads up, you'd need a bed size of at least 230x230mm to do this project (or you have to build some parts in pieces if you prefer). Ultimakers, Lulzbots and MakerBots, etc. will also work.
Recommended: Ender 3:

In addition, some useful 'modifications' you may want to consider:
Nozzles: (having a larger nozzle means you can print faster. I actually did much of the 'big' parts at 1mm, as I was iterating fast, but one day, I'll make it super accurate at a 0.4mm nozzle...perhaps!)
I used Eryone 1.75mm(dia) PLA: but of course others are available.
You can easily build this with 1kg spool, probably 0.5 or 0.75kg will also be fine.


This project has been done for the DesignSpark community, which is owned by RS Components, so some items listed are sourced from their website. However, where possible (or when 'Generic' is more globally available), Amazon or eBay has been listed to illustrate alternatives are available, to be in the spirit of helping makers keep costs low. Although RS has been the 'go to' for specialist components like the Rotary Encoders, please do use your own judgement if deviating from these, as code/interfaces/power/etc. may differ. This is a by definition a V1.0 prototype, and is also continually evolving. Thanks for being a part of this Open Source adventure and sharing ideas and improvements!

Please be aware that these stations have not been vetted. They have been compiled by an algorithm, not hand-picked by a human. So it's unlikely, but not impossible that some might not be suitable for kids, or even as an adult they might not to be your taste. Also worth bearing in mind that the timezones do of course allow one to access a 'late night' talk show where there may be some cuss words, etc. I suspect most people smart enough to make this will be smart enough to figure this out and supervise their kids accordingly. But just a heads up for schools, etc. If you think something is totally off, do let us know.

Step 3:

Step 4: 3D Printing Your Parts

Whilst you wait for your components to arrive, you'd do well to crack-on and get printing!
If you are in a hurry (and cool with printing overnight), you can print the entire RadioGlobe in 24hrs, in around 3 prints, with a medium nozzle like 0.6mm. However, I would suggest printing in daytime and supervising the build for less experienced printers.

I used free software called CURA, but others are available. This works well with Ender 3, and the Eryone Filament, so far so good!

Cura Bug Fix.
This is probably sorted now, but if your Ender 3 does not print 'full size', I found a fix here. Gotta live a good Forum genius!

Step 5: Examples of 3D Printing

As shown in the picture, I would recommend printing the fine detailed parts like the dials and display panel, etc. at 0.6mm nozzle or smaller.

After that, you can either keep it similar quality, or print the case and 'cradle' assembly at a coarser print resolution like 1.0mm nozzle, as shown.

Make a note of the printing orientations I've shown here, as it can make a huge difference how the piece turns out.

New to the Ender 3 and 3D Printing? No worries!
There are many YouTube videos out there, but this guy from Teaching Tech is consistently good, and he's not only good for noobies, but goes into real detail when you need to fix something. Props.

Step 6: STL Files - for 3D Printing

You should have 22 files for 3D Printing. Please make note of the orientation, if printing FDM, but SLS or SLA is pretty indifferent to the orientation.

If you DO NOT HAVE A 3D PRINTER(?) - fear not, you can order them using a service like Shapeways.

You may find that it's almost worth justifying a 3D Printer, but for a one off, it might be simpler with a Print Shop. Your call.

Step 7: Support or Free Building?

Usually 'support' is a good idea in 3D Printing, but in some cases, it's unnecessary, and in this build there are actually 2-3 components were I'd advise against it!

The 2 pieces are *The Cradle* and *The Lower Yoke*.

These have wires threaded through them, and I've designed the pieces in such a away that they print perfectly fine (at 1.0mm or 0.6mm) with NO SUPPORT. This keeps the channels open to thread the wires through. (If you leave support on, it will be almost impossible to remove, and add no benefit, and probably make it hard to cleanly wire up).

Step 8: Build Orientation

Take a note of the orientation of the printing I've shown in previous pictures. Example being the case. This does work better with Support, but is also ok without.

Step 9: Clean-up of 3D Prints

I would suggest using the above tools, but frankly a good pair of pliers and side snips will do. Do take care with scalpels, and always cut away from yourself, with only light force!

Files are a good addition, and if you're wanting to get 'fancy', I use a small blowtorch to remove the 'strands' of plastic, and 'remelt' any scratches or rough bits. Safe to say this has a 'knack' to it, and I'd suggest doing it on a scrap piece until confident. Obviously - be careful with fire.

Lastly, a 'pro' tool, which I've found invaluable is a hand-countersink, as it removes burrs from metal work, and makes 3D printed countersunk holes smooth.

Deburring Tool (optional):

Mini Blow Torch:

Step 10: Brass Inserts

Add inserts to all 4mm holes as shown in the video.

It does not matter if you forget one or two, you can add them later on at any stage.

If you prefer not to use the soldering iron, you can use a blow torch and screw as shown.

Please take care with both methods, as either can cause burns. Wear goggles and gloves if unsure.

Step 11: UPDATE: Printer Ben Too Small for "Cradle" Part?

As you might see in the comments, one user has a Prusa 3, which is a very common printer. However, the bed size is slightly too small. So I've split the parts in two for those who need to glue them together.

Hope this helps!

Step 12:

Step 13: The World at Your Fingertips!

Order a 20cm dia globe as suggested.

Once it arrived, give it a spin, and watch to see if the equator line in black is roughly even all the way around (I've had one that was crazy wobbly! - so check before you start drilling).

The other, perhaps more critical check - is to see that the two 'halves' match up. Let's be fair, this is a $10 globe for kids, so don't expect it to be super accurate. That said, if it's way off, the RadioGlobe will not navigate that accurately to locations. I found that it being out by about 1-1.5mm (see ruler picture) is tolerable, as the code cleverly 'snaps' into 'nearest' location. Worse than this, send back and try again.

Also check to see there are no scuffs of bumps.

Step 14: Axis

Using a hacksaw, or ideally rotary tool (Proxxon/Dremel) cut the 4mm steel rod into a 26cm length.

Depending if the rod was shipped in a tube, or in basic packaging, check that it's not bent. Now is a good time to look for the most accurate section and cut that out. Roll on a flat surface as shown to observe any bends.

File and sand smooth, with a slight taper if you can.

Step 15: Coupling Flange

Countersink Drill Bit often come included in multi packs of drills for 'free'. If not, try here:

Create 2x countersink depressions in the 'base' of the flange as shown. Enough to insert two M3 CSK bolts into. (I've used longer 8mm, but the 4mm will do).

Place the flange as show on one end of the rod (about 10mm from the end of the rod), and lighten up the grub screws with a hex key.

Step 16: Base Socket

As this globe has been modified, the base will not necessarily fit a 4mm rod (it will be too big), so a spacer socket has been added to make up for that, and act as a bearing to spin on.

You may wish to add some tape (black shown for clarity, but any tape will do), to ensure a snug fit.

Step 17: Globe Coupling

This is perhaps one of the trickiest parts of the project. So the good news is - with this one, the rest is downhill!

Using a 10.5 or 11mm drill bit, (or if you have 'upgraded' to the Step Drills suggested in the BOM), enlarge the hole at the North pole, to accommodate the Flange Coupling. You may need to file out some 'grooves' to fit the protruding grub screws also.

Press in, and check alignment with the 90 degree marks as shown. It should be fairly centred. If not, enlarge the hole to say 12mm, so you can move it to where it is central.

Step 18: Connect the Coupling to the Globe

Position the Flange, as shown. Mark with a pen two places where we will drill the holes.

I've used the 3.17mm (1/8") drill bit, as it fits the brass inserts nicely, but 3 or 3.5mm will do fine.

Place the globe on a roll of tape for stability and carefully (on a low speed) drill the two holes at the marks.

Vacuum out any dust and such, that has fallen in the globe.

Disclaimer: I used to work at Dyson, so have 'freebies' like this Dyson V8. But this content is not paid for by them. Just use it a lot =)

Step 19: Fit Brass Inserts

If you have never put a Brass Insert into plastic with a soldering iron, now would be an excellent time to put DOWN the Globe, and practice on something cheaper!

I created a video on how to do this, which is worth a watch before you have at it, with the Globe!

Once you're happy with that, insert as shown, and screw in the bolts. You now have a globe which is locked to the 4mm shaft, and the fixings are hidden inside!

Step 20:

Step 21: Proto PCBs

You are welcome to solder directly to components, but it's easier if you use Protoboards.

The two I've used are here:

Standard 2.54mm Perf:

Mixed 2.00 and 2.54mm Perf:

The only 'fiddly' part is that I created some small sections of PCB that help solder the 2.54mm header pins to the 2.00mm pins of the Rotary Encoder. So the 'Mixed' Perf Board is useful if you imagine you'll disassemble it a lot.

Cut up as show, and have a quick look at the 'end result', so you have an idea of where you're going with it. The next steps show you from the start how to make them...

Step 22: Rotary Encoder - DIY PCB

You can of course send off to have PCBs made for you, but in the spirit of cost, and sharing, I've shared how I did this 'DIY-style', so I hope some tips are useful. You can of course just solder the wires directly, but this makes for a more 'editable' prototype. Skip this step if you prefer. Your call.

BluTak is a great 'third hand' to stabilise soldering work.

I used some thin wire (from a resistor) to solder in some connecting legs, in the 2.54mm proto holes. I then added he header pins as shown.

I then bent these legs over, so they both touched the header pin legs, but also 'pointed' towards the corresponding 2.0mm holes. I then soldered some solder contacts at the 2.0mm side, and then trimmed them with side cutters.

I added some hot melt glue to the board, and stuck it in position on the Rotary Encoder - such the the connections touched the legs...

...I soldered the Rotary Encoder legs to the PCB.

The final result is show.

I checked with a multimeter to ensure no short circuiting was happening. As these encoders are £35 a go, it's worth being 100% sure about this!

Step 23: LED - DIY PCB

From the BOM, you'll note I suggested Common Cathode RGB LEDs:

When the box arrives, do not trust the label, but rather - get a 3v coin cell battery and test as shown to identify the GND (longest) should be -ve, and the nearest short legs should light up on +ve (Red of the RGB shown).

Thread the legs through a small section of 4x4 holes from the 2.54mm (standard) perf board.

Make a note of the GND leg before you solder and cut the legs off.

You may notice, I added the straight header pins 'upsidedown', this was to make it easier to solder....and then once cool, I slid the black spacer plastic down. (90 degree header pins will also work).

Do a final check on your R,(GND)G&B layout, and you're done!

TIP - I got lucky and utilised a hole that was already in the PCB, but you can simply drill one in the approximate position as shown if not.

Step 24: Jog Wheel - DIY PCB

The Jog Wheel is simple, and not much different to the LED board.

I did however, clip out one of the pins as shown to avoid any accidental mis-wiring between the 2pin 'button' and the 3pin 'encoder' sides of the unit.

Step 25: Button Board - DIY PCB

I designed the button layout around the practical spacing of the buttons on standard 2.54mm perf/proto board. Before you do the 'big soldering', perhaps just check your fit with the 3D Printed Display to save any issues in fitting later on...

You will need to drill two holes about 4-5mm diameter (i.e. larger than the M3 bolt, but smaller than the head 5.5mm), so the PCB can be wiggled into place easily. File off any burrs and such.

Perhaps an oversight in my CAD, but you'll notice that it helps to trim off the bottom right corner of PCB, such that it fits better in the housing. I did this with clippers, but saw will work too.

Place the Buttons as shown, and solder 1 or 2 of the legs, check fit, then do the rest as shown.

Next add the header pins (straight if you have them, or straighten out the 90 degree ones with pliers if you only have these), solder in place.

Next, 'bridge' the solder joints with an excess of solder, such that the connection is made between the header pins and the pins of the Buttons. Check with multimeter to be sure of right connection.

Check fit and screw into place.

Step 26: LCD Modification (Optional)

When I first made the prototype, this clip was in the way. So I removed it and soldered it across.

Later, I improved the CAD, and actually there is now space, so it's not an issue - but it's a happy provocation to learn that when you disconnect this circuit connection it switches off the backlight....

....So, if you find the screen too bright, you can in fact just add a switch here, and toggle it on and off (say for evening living room ambience!).

Nice hack, huh!

Step 27: Circuit Diagram

If you're new to PCBs and Circuits, this may all look very intimidating. But the basic principle is that you work out the pins in one place from the GPIO pins from the Raspberry Pi, and then wire them to the output on the ProtoBoard/Shield.

I've done many of these over the years, and my best advice is to isolate yourself from any distractions for at least 2 hours, and only wire one wire at a time. Once you're done that wire, use a multimeter to check good continuity.

You can also install the software (on the later steps) and check each section one at a time, I'd suggest do LCD Screen, then Buttons, then LED, then Jog Wheel, then Rotary Encoders in that sequence.

I've uploaded the professional wiring schematic, but for the beginners, I think the hand-drawn sketch might be easier to understand. Do post any questions if unsure.

And of course, if you have the cash/not bothered, there are the Gerber Files here (LINK) and you can get them ordered at places like this (LINK). Good luck!

NOTE: does not (at the time of writing) host Gerber Files, so please click here to download : (LINK)

Step 28: Raspberry Pi - "HAT" or "Proto Shield"

Although you could use protoboards (see last photos with a green board), these (red) 'Hats' (as they sit on a Pi like a Hat) save a huge amount of effort as they configure the pin outs for you, so the wiring is much less.

There is not a 'right' way to wire up, but I would suggest using solid core wire (over multi strand) if you are new to it, as this avoids any short circuits from frayed wires.

Step 29: PCBs

So you have ordered you Pi Hat, and if you feel like it, some extra boards for the Rotary Encoders.

Prices for these services vary, but a key observation is that the unit price for 1x is huge, and to order 10x is usually only a few dollars more. So if you want to run an Etsy or Ebay shop, and post a link in comments below, I have no objections (I don't vouch for any vendors, of course).

You may also need some Female Header Pin connectors (e.g. )

Solder these items together as shown. Some tips include:
- Use BluTak to hold things in place.
- Solder the 'end points' first, check alignment and then solder the entire 40 pin row.
- Heat the pin and PCB, and add solder (don't 'spread' solder on cold terminals).

Low Profile Tip:
You may note that there is very little of the legs protruding through the PCB, this is because I trimmed the legs beforehand. It saves any sharp legs poking into the wires on top of the Hat later on. Your call, but it's a safer bet.

Step 30: PCB Connections

You may notice that in the first prototype, I actually experimented with 'proper' wiring terminals using what are called 'JST' terminals and crimps. These worked fine, but I found them bulky, and arguably unnecessary for a project which can utilise standard jumper cables quite easily. It is also far less cost and skill involved.

So here I have used BluTak again to position the 90 degree header pins, but also gave them a slight 'tilt' to ensure they fit easily.

As with the previous step, I solder one or two pins, and check positioning before soldering it all in.

Tip: If you are new to thing, I suggest you buy a 'Solder Sucker' and some 'Copper Braid', as they help correct any mistakes.

Step 31: The PCB Destination

So, although we are not at this step just yet, I thought I'd show the end point so one can see what it will look like, and why the 'tilted' angles matter, as the jumper leads 'stack' up.

You may also note that there is a set of 2 pins, which can be used for another function (perhaps the Shazam Button?). And also - the remaining GPIO pins are accessible, as are some 3.3v, 5v and GND rails for extra ideas. I did this to 'future proof' the PCB as much as possible, so any GitHub updates to the software and UI/UX can work with older versions. Cool, huh!?

Step 32:

Step 33:

Step 34: Preparing the Cradle Assembly

Insert the Brass Insert as show (it has been header by a blow torch, but you can use a soldering iron also).

The benefit of the 'screw method' (over soldering iron) is that you can adjust the angle of the insert by looking at the screw's relation to it. So it's a bit more accurate. That said you could use the soldering iron, and then pop a screw into it and adjust.

Trim any excess plastic that squishes out, with a knife.

Trim any excess plastic from 3D Printing (sometimes the base layer is larger), so the section is 'square' as shown. You may even wish to taper it slightly for easier fit.

Add and M4 Insert to the base as shown. If you are only using M3, this is fine, and just add a small plug of plastic in there to space it out.

Add the 3 inserts to the Yoke dock. Add bolts as shown.

Use a file or sand paper to adjust any profiles for a tight, but clean fit.

Step 35: Cradle & Base

TIP: I close to print the base in Red, as a nice highlight/contrast colour, but it's worth saying that if you only have white (or are ordering an SLS print - which is only in white), then you can simply spray paint the edge for a bit of colour or 'accent'.

Take your Cradle Assembly, to fit into the base socket. File if tight fitting, until just right.

Add M4 CSK screw to tighten together (or M3 if you have done M3 Insert).

Then adjust the side screws such that the assembly is precisely perpendicular to the base. If anything, I added a slight leaning to the right, so it settled straight when fully assembled.

Step 36:

Step 37: Control Panel - Component Preparation

The first photos shows the 'destination'. But we will go through each component step by step... here's the first 3.

Drill out the hole in the 'Vanity Cap' such that it rotates freely on the 4mm rod.

Remove any excess from the Knobs, as well as any build support material.

For the Jog Wheel, assemble as shown, ensuring the 'locating detail' fits the component such that it prevents it rotating. Add the Knob to check fit.

You will note I created CAD for smooth and knurled Knobs. Pick whichever suits.

Have your Button Assembly to hand.

The LED will 'leak' or 'bleed' light if installed as it is. This is not a major issue, but if you'd prefer this not to happen, I suggest carefully wrapping it in insulation tape, or if you are feeling dextrous, Aluminium Duck Tape. The latter requires more skill, as the tape conducts, so one needs to ensure that the tape is placed after a thorough coating of hot melt on any exposed parts of the LED and PCB metal.

Should you also want to restrict light further, you can sand down the top of the LED, taking care to stop 1-1.5mm before the metal parts of the LED internals, as shown.

Test with and coin cell battery before installing.

Have your LCD Screen to hand.

......and you're set!

Step 38: Control Panel - Assembly

Arrange as show. Note all Brass Inserts have been added at this point.

The second picture shows the 'final result'.

Bend the connection legs of the LCD Screen as shown, this is not essential, but makes assembly easier.

Fit the cable as shown.

File the Button holes to ensure a free 'press' action. Drill any tight fitting holes.

Tip: Use BluTak to manoeuvre any screws into place.

Assemble wires of Buttons as shown.

Add wires as shown.

Add Jog Wheel as shown. If loose - add hot melt / if tight - sand or lightly blow torch with care inside.

Step 39:

Step 40: Component Preparation - Rotary Encoder (Lateral)

Remove any build support, sand and examine for any defects.

Insert the Rotary Encoder Assembly as shown.

Use pliers (or ideally a spanner) to lightly tighten. Do not over-tighten!

Add the 3.17mm - 4.0mm Coupling, leaving about 1.5mm gap (as shown with the plastic in-between).

Step 41: Component Preparation - Rotary Encoder (Longitudinal)

This is probably the trickiest part to free from it's support material, and take your time and care when doing so. It is easy to slip with knives or clippers and do yourself an injury - and all that blood never washes out easily on white 3D printed parts, I can say from (thankfully rare) experience!

Chilled music on. Take your time....

Step 42: Optional Extra: Red Highlight

Ender 3 Printers print a line before they get started on a print. I always found these rather curious, so I had kept a few aside hoping for inspiration to strike. As it happens it did, and they become an small 'flourish' on the design, as shown here (and later in the Reticule also).

This is totally optional, but a nice consideration of how to use an unlikely 'waste' part for something that adds interest to the design, and hints to which bits are functional and related.

Step 43: Brass Inserts

In this occasion, the soldering iron will be tricky to do at 90 degrees, but not impossible. However, the blow torch method works nicely with a long reach of a bolt.

Add the M3 15mm or 16mm long bolt here. (You can use the smaller ones, but if you happen to have an assorted box (LINK) then it's a nicer aesthetic to use the right length).

Add the other inserts to the rest of the assembly as you go.

OPTIONAL: You may notice a small M2 bolt in the last image - this is so the Reticule Arm could be fixed firmly and replaced if needed. As it was designed to be in public display and use (and things get broken sometimes). You can skip this, as you'd probably take better care of your RadioGlobe, but an FYI in case you're interested.

Step 44: Clutch Mechanism

With all the build support removed, and the parts lightly sanded inside (where the contact), the next thing is to check the fit. Keep sanding until the fit is smooth and free.

Next add a small layer of thin viscosity super glue to the 'springs' as shown.

Then add a small layer of glue to the internal rim of the Housing.

Lastly, add a little to the Hub at the bottom of the Housing, to strengthen any 3D Printing layers.


Next use sand paper (say 400 grit) to sand all the superglued surfaces between the 'Springs' and the 'Rim'.

They should feel smooth to the touch.

Step 45: Graphite Lubricant

You may have spotted in the earlier step some pencil markings inside the Housing...this is a generous application of an HB Pencil 'lead', which is of course actually, Graphite - and is an excellent *dry* lubricant, which means it will not go sticky or run, and will not mess with PLA's chemistry, etc.

Apply to the inner rim and the springs as shown.

Keep 'rubbing'/turning the two parts against each other, until it feels smooth.

Step 46: Socket Fit

The Rotary Encoder Shaft is 3.17mm or 1/8" diameter.

Use said drill bit to drill out the central hole such that it's a clean fit.

(The CAD has a 3mm hole, which is too tight, but it is always better to drill such holes than 'trust' the 3D printer).

Step 47: Add Rotary Encoder

Check the alighment of the small 'tab' on the encoder, and that it orientates correctly.

Next check that the central hole of the Housing also has space as shown. This may need sanding or drilling out.

Step 48: Final Encoder Assembly Checks

Check that the pins are clearly accessible, as shown.

Check the encoder is straight/central in the unit, as show.

If all happy - tighten up the side screw/bolt to the shaft.

Step 49: Back Plate

Ideally you'd have added your Brass Inserts already, but if you forgot (like me!) just add them now. No problem.

Then add the cover plate, and screw into place. Sand down if tight fitting.

Check over, and put aside.

Step 50:

Step 51: Base Case Units

There is a common engineering saying in engineering of 'material off is easier than material on'. Whilst there may be exceptions, this is certainly true in this case. The 3 Base Sections shown (as well as the Panel) have been designed in CAD to be 'tight' fitting. This assumed some 'sanding to fit', and this can be done with a file and sand paper. Even with a good 3D Printer, some inaccuracies will occur, so it's best to sand back to a clean line that will look presentable and fit together just so.

Add Brass Inserts if you have not done so already.

Remove any build support.

Drill out any holes (Audio 3.5mm Jack being one and the 11mm one on the top of the Panel being another to do).

Use a Bastard File first, and a Second File after to get a smooth finish, or start at say 250 grit and work down to 400 grit sand paper (using a block for support/profile). The only benefit of using a File is that files generally have a 'non abrasive' edge, which can be especially handy when working on fine details like this, where you want to sand one side, but not another.

Use a Rotary Tool, as shown if you need to wider any holes for fit. Again, CAD is designed 'tight' / 'material off'.

Step 52: Check Fit

In case you were not familiar, the 'step' in these parts is called a 'Shadow Gap'. These are used in Product Design and Architecture alike where two things will butt-up against each other and may have some inaccuracy. If you put them right up to each other, the imperfections are obvious. However, leaving a small *deliberate* gap, means that it is less noticeable.

If you consider two parts are out by 0.5mm - this is screamingly obvious if next to one another, but with a 1mm gap, the line may vary from 1-1.5mm, and the human eye is much less capable of noticing this, as he shadow makes this literally and metaphorically a 'grey area' - so it's harder to notice.

You'll spot this in all manner of products if you look carefully. Granted with modern statistical tolerancing (e.g. Apple), each piece is actually matched to the perfect fit, so this is not always needed. But then this is not quite as premium a product as the iPhone....

Keep sanding and filing until you get a fit that you're happy with.

The end result is shown, and check fit/alignment with all the screw holes in the base.

Step 53:

Step 54: Jumper Leads

Surely an easy win, rather than doing your own wire crimps and terminals!

Using the 20cm and 30cm Female-to-Female leads as shown.

If you pay close attention you'll notice the colour schemes for each bundle have been carefully selected to be different (e.g. any 4 wire group is not the same, and any 6 wire group is not the same, etc.). This is pretty important, as it helps avoid a short circuit or other similar damage.

Be extra fastidious in your wire labelling, however you go about it!

Step 55: Raspberry Pi - on Base

If your ordered a Hat, it'll usually come with Stand-offs, but if not you can 3D print your own, or use small pieces of tube and longer bolts. It's not an exact science, but you just need to secure your Pi to the board.

If the fit is tight / screws don't reach, try removing a tiny amount of material from the holes, and it should go in.

Similarly, drill-out any holes to fit the bolts.

Screw in with a low-torque screwdriver or by hand if not sure.

You can buy them here if you prefer:

Step 56: Axis & Encoder Alignment

For this step, I would suggest using the steel without the globe on it (it's likely you have some left over from the piece you cut out).

Thread the steel through the cradle (drill out to 4mm or 5/32" with a 'wiggle').

Unscrew the Grub Screws (black) as shown, in the Coupling.

With the Encoder Assembly (Lateral) roughly aligned - thread through until it fits the Coupling.

Screw in the Rotary Encoder Assembly, to the base, as shown.

Then remove the Steel and check that when you add the Panel, it fits ok also. If the Grub Screws rub, drill out slightly, so it rotates freely. Remove the Panel again.

Wire up the Encoder as shown. Pay close attend to whatever colour scheme you use. The encoders are expensive and although they *might* have some overload protection circuit, it's unlikely - and I never tried to find out! Double check the right wiring!

Add a kink to the wires as shown to keep them not straining each other. As a general rule, wires prefer a clean bend (but not tight) and a 45degree twist if needed. Don't just scrunch and hope ;o)

Step 57: Threading Cables - in the Cradle

You will note that the cables don't just easily fit into the hole. This requires a little bit of a 'knack', but one that is useful to know, and widely used by anyone in Plumbing, Joinery or other building work....

NOTE: This is the longer 30cm 6-strand Cable.

Remove the Black Plastic Terminal Covers, as shown (use a small screwdriver if you feel a Scalpel looks a bit risky to you), and gently pry the tab up as shown. The unit should then gently slide apart. (Practice on a old one first if unsure). It's quite easy once you get the hang of it!

You now have all 6 wires ready. Now wrap them in some Masking Tape as show. This not only stops strain, (compared to tying string for example) but also makes it easy to remove.

Thread the tape through the Lower Yoke and Cradle hole, as shown. Pull out the bottom.

Note: it's easier to thread the two pieces individually, and assemble afterwards!

Tighten up the screws on the Cradle/Yoke - and replace the plastic terminal covers.

Step 58: Rotary Encoder (Longitudinal) - Wiring

With the other end of the 30cm cable, plug these into the Encoder's 90 degree header pins on the PCB.

I suggest doing 1 or 2 at a time, as not all 6 will be easy to fit. You may want to use a blunt poking object to press the wire terminals fully onto the pins, as shown.

You can add a thin layer of hot melt over this now, if you really doubt you'll modify any time soon. But don't superglue.

Replace the cover, and screw together again.

Step 59: Cradle Assembly - First Fix

Insert the Upper Support to the Rotary Encoder Drum, and then screw into the Cradle Hole with a M3 6mm bolt.

(You may need to drill out the hole slightly with a 5.5mm drill bit, or a rotary tool).

Tighten up the retaining screws in the Cradle as shown.

Add some Masking Tape (blue for easy viewing, not essential tho!) to keep the assembly from getting scuffed and dirty, as later you'd be flipping it back and forth quite a bit in the final assembly.

Step 60: Base Fixing

Screw together the Base Plate.

I used a low torque screwdriver, but take care when using anything more powerful as PLA can split. If in doubt, use a hand screwdriver.

You may note that the Design has all the screws and bolts hidden from the outside. This was a fun exercise for me to see if it could be done, but I mention it, that some screws do need a long reach (as shown to access the bolts), but it's all possible. Hope the style is worth the sweat!!?

Step 61:

Step 62: Install the Globe

Unscrew the Coupling Flange.

Remove the Axel unit, partially, but not all the way.

Unscrew the Grub Screws of the Coupling (in the base unit).

You should now be able to slide the Globe into place, and then push the axel assembly down and through the Globe *and* Cradle (lower part) at the same time.

NOTE: The steel rod should be in the coupling but not screwed in place yet.

Tighten up the Coupling Flange at the top as shown.

Step 63: Vanity Cover

Pull the rod upwards slightly, to allow just enough room to slide the Vanity Cap in.

Now press the steel rod into the coupling again - and this time tighten the Grub Screws with a Hex Key.

Allow the Vanity Cap to fall down over the Coupling.

Step 64: Cradle Top

Now with everything in place at the Base Unit, you can gently stretch the top of the Cradle arm up, and over the Steel Rod, and allow it to snap down. If you find that it has some gap, or that the heads of the screws rub slightly, then add a spacer ring as shown.

Step 65: Reticule Assembly

Not many project call for 'A Strand of Human Hair'...but this does. Black straight hair is best.

Assemble the pieces as shown, and first attach the Wiper Arm to the Rotary Encoder Drum.

(The image shows the 'set screw', but this is only optional).

The Arm should follow 'in parallel' to the Equator line. (This will be an approximation, as this line usually has a bit of drift +/- 1-2mm I've noticed!). So split the different to the average mid-point.

If it is off, try adjusting the Yoke, and Upper Support until it is positioned equidistant. It's a bit fiddly as every globe is different, but this is why I've made it adjustable, rather than assume all $10 globe are made by Japanese Craftspeople, when evidently they're not! ;o)

Good's worth the faff.

Once happy, add the Reticule (just friction fit for now), to check the alignment. Again, the Wiper Arm is 'long' so trim off any excess to suit. When you turn the Reticule to the North and South Poles, it should 'hover' roughly the same 'height' from the surface of the Globe, and be pretty close to the axis central point. (Though this latter point is less of an issue, as the computer software compensates for this. So don't worry too much).

Step 66: Fix Reticule

Dispense a small drop of super glue onto some sticky tape stuck to cardboard.

Gently dip the end of the hair into it.

Then lay this into one of the grooves on the back of the reticule. It should stick pretty quickly.

Next take some super glue with a cocktail stick, and add some extra to the side you just stuck down.

Then cut to size, and stick the opposite side down as so.

Add some extra glue if needed, but don't go crazy.


Next take this assembly back to the Globe, and check for fit. Position the Reticule as shown and tilt until it is tangential to the surface of the globe. Add a tiny dab of glue to the Wiper/Reticule joint, allow to set. Now remove that assembly carefully and apply more glue to more thoroughly fix it in place. Again, don't plaster it in glue.

Allow to completely dry. You don't want to stick it to your globe!

Step 67: Fancy Bits

As with the Rotary Encoder - if you want to add a Red flourish, you can by doing the following steps.

The trick is to cut the length large, and then remove little by little, until it's a snug fit. Then glue lightly in place.

Step 68: The End Is in Sight

The end result should look like this now. Almost there!

Step 69:

Step 70: Install Raspberry Pi OS on a Micro SD Card

First get a micro SD Card, larger than 8GB, and at least 'class 10' speed. More on specs here if unsure:
I got this 32GB one for under $10:

Next Install the 'Imager', link here:
This will write a 'bootable' Operating System to your micro SD Card. It sounds all very complicated if you're new to this, but the software makes it easy to click and install.

A quick note on the 'other' OS options.
- For most people, just go with the 'recommended option' if you're new to it.
- If however you want to install this using Linux Commands via SSH, 'Lite' is a good version.

If you don't immediately install your RasPi on the Red 'base plate', then I would also suggest putting your Raspberry Pi on something, as it's all too easy to leave it on a screw, ruler or something else that will short the board. As they are not that cheap these days, this would be an expensive mistake!

Step 71: Create a Git Hub Account

Self Explanatory, but this is how you access the Code.

From here we will tell the Raspberry Pi to install the Radio Globe files.

Navigate to this website for information on the Code, should you wish to contribute:

If you just want to install, follow the next steps...

Step 72: Installing Raspberry Pi Operating System (using SSH)

First, install Raspberry Pi OS (Buster lite) onto a microSD card.

You will need to perform setup using SSH, or with a mouse, keyboard and monitor.
To use SSH without needing to enable it in the settings menu, just place an empty file named 'ssh' in the 'BOOT' volume:

  1. Insert the microSD card containing the Raspberry Pi OS installation into a Mac or PC.
  2. Open the 'BOOT' volume in My Computer (Windows), Files (Ubuntu) or Finder (macOS).
  3. Create a new text file and name it 'ssh'. On Windows, don't forget to remove the file extension (.txt).
  4. Alternatively in Linux or macOS cd to the 'BOOT' volume and run touch ssh
  5. Unmount the microSD card and insert it into the Raspberry Pi.
  6. Plug the Raspberry Pi into your router using an Ethernet cable and power it on.
  7. Once it has booted, open your SSH compatible terminal program (PuTTy on Windows, or pretty much anything in macOS or Linux) and run ssh raspberrypi.local (assuming that is the hostname of the Raspberry Pi of course).

If you're very new to this, as I was when I stared this project, a more basic guide is here for beginners:

Step 73: Installing RadioGlobe Software

From an SSH terminal:

  1. Run sudo raspi-config
  2. In 'Network Options', enter the details (SSID and password) for your wi-fi network if you want to.
  3. In 'Interfacing Options' enable SPI and I2C.
  4. Run mkdir ~/work && cd ~/work
    (You can actually put it in a different folder, but you'll need to perform an additional step if you do).
  5. Download this software by running git clone
  6. Run cd RadioGlobe (Note this is case sensitive!)
  7. (If you cloned to a folder other than ~/work, then run nano services/radioglobe.service and change the paths on lines 5 and 17 accordingly. Repeat this in nano services/streaming.service)
  8. Run sudo ./ This will install all dependencies and install the service so that the radio automatically starts when the Raspberry Pi is powered on in the future.

1. With the Reticule pointed to GMT line, and the Equator (i.e. 0,0
2. Press and hold the middle button for 5-6 seconds.
3. When you see a green light and 'Calibrated', you'll see the coordinates go 0, 0 also.
NB: The Encoder is Absolute, so this means it does not 'forget' when you turn power off. Yay!

Step 74: Troubleshooting

Happens to the best of us, right?!
So I'm going to keep a running log of any bugs and hopefully their fixes.

- Try removing the HDMI Cable, and rebooting.
- If not, try also going into sudo config / settings and selecting Analogue Audio output.

- See attached 'radioglobe - debug.txt' file on how to resolve.

For most people, I suspect they will not be running the RadioGlobe as also their go-to computer for private things like Banking, or Email, etc. However, if you are wanting to bolster your security, or at the very least change the default password on a RasPi (say you're in a communal / busy WiFi, etc.), then take a look at this excellent guide:

Perhaps this is a weirdly proud moment, but the wiper arm on one of the RadioGlobes got so used, that it became too frictionless, and a bit 'sloppy' to use. This is a simple fix, as shown in the images here - take some masking tape (blue or yellow is fine!), and simply add a strip inside. To avoid a 'bump' allow it to overlap and then cut through both strips and then remove excess - and it will join seamlessly. Nice. Re-assemble with the same screw. Take care to not over-tighten!

Step 75:

Step 76: Gallery

Thanks so much for reading this far!

Hope you liked the project, and hope you have a go at making it in V1.0 or contributing ideas to make it even better!

Thanks again for considering Voting in the MAPS Contest.

Best wishes,

Jude Pullen

More stuff like this:

Maps Challenge

Grand Prize in the
Maps Challenge

4 People Made This Project!


  • Explore Science Challenge

    Explore Science Challenge
  • Box Challenge

    Box Challenge
  • Furniture Contest

    Furniture Contest



10 months ago on Step 75

This came in my email, I immediately clicked on it. It combines all of the things I love. The simple truth is making this is so, so, so out of my skill set, but I downloaded the instructions because I love it so much that I'm okay digging through tools, looking into the intructions much more, lose the fear, and ummm add some new skills to my world.
Thank you, this is beautiful and inspiring.

Hey Jude
Hey Jude

Reply 10 months ago

Wow - glad this resonated with you. I realise the guide is epic, but I wanted it to be accessible for anyone who has little previous experience in say 3D Printing. I realise for those who are more accomplished it may feel long-winded, but they can just scroll-on-through, right! So do let me know how you get on, and any steps that need clarity, please ask. Happy to help =)


Reply 6 months ago

Do you think this is possible with no skills at ALL or must someone have knowledge in coding? I can get a local university to do the 3D printing so I'm not worried about that

Hey Jude
Hey Jude

Reply 5 months ago

How's it going? Let me know how you get on! =) Happy to help.


Reply 3 months ago

Hi there, i was busy for a couple months but now have had time to sit down and look at what parts I'm still missing.
Any idea where to find the LCD screen and protoboards for raspberry pi? Last two missing items


Reply 6 months ago

No coding needed at all. You will need to follow a few guides on getting the OS and then software on the PI, and it can all seem a bit confusing even for programmers (I program) but the step by step guides work. My post in the "made it" section on here spells it out.

I'm going to look into the code soon to tweak radio stations that have gone off-air permanently.

Hey Jude
Hey Jude

Reply 6 months ago

I must confess that I am not a coder at all. I actually fear it, and was lucky that Don Robson was able to do 'the clever bit'. BUT - the guide is simple enough that I was able to get it going. It of course helps to have understanding of what is going on, but the steps are granular enough that one can do it without any code skills (like me!). That said, it's not impossible that you know a coder in your circles, who might help you if you get stuck...there seem to be many helpful folks around these days! =)


Reply 6 months ago

I would say, knowledge in coding is not necessary. You just need to follow the steps carefully and when stuck ask for help here. Some skills are handy, like soldering, but practice makes perfect...

Hey Jude
Hey Jude

Reply 5 months ago

How's it going? Give me a shout if anything is unclear... =)


8 months ago

I have a couple of questions regarding the HAT pcb which I've just assembled.

The Jog wheel butotn has two GNDs. One is connected to the GND rail, the other is connected to nothing (third pin in from left , top left row of 5 pins). I've added a ground link to fix it. Is the blue wire underneath hiding another GND solder blob I can't see ? 2 photos attached explain.

The other query is the RGB LED GND pin. Your example photos have it connected to a long green wire - which takes it to 3.3v. Also one of your photos shows it Grounded with a link wire but that link wire is not in othert photos. I can see it needs grounding by following the curcuit diagram (and I know how they work!), so two photos confict each otehr and I can't for the life of me figure what the long green wire to 3.3v is? Again, images attached to explain.

Easy enough for me to correct but would fox anyone who can't debug a circuit diagram.

Hey Jude
Hey Jude

Reply 8 months ago

Sorry for the slow reply! Slight delay in timezones not helped by also being OoO last few days. Anyway, looks like you're having issues with the LED.
My advice would be to test with 3.3V supply, and check your LED is either Common Cathode or Common Anode. I got a box from good ol' china, and even some of them were mixed up in the wrong compartment of the box, so worth not always trusting the label. But hey - not don't on China, it's cheap, right!
Anyway, as for the rest of the wiring, the Protoboard may well mislead you, and I'd just treat the circuit diagram as master.
The good news is the PCB GPIOs for the LED are not 'super risky', as even if you connect the GND to a GPIO on 'high' (3.3v) it's not gonna explode the RasPi (I did this myself, so can assure you, they have adequate circuit protection). BUT do not be so casual with the 5v lines obvs! These will kill a Pi.
Hope that helps? Let me know if not. =)
Awesome that you're enjoying making this!


Reply 8 months ago

Indeed mate - just posted up my "Made It" photos.


8 months ago

Fire up for 1st test and get nothing. Blank LCD. If I run the program, manually from Putty:

I get this. No idea where to start tbh.

pi@radioglobe:~/work/RadioGlobe $ python3
Rebuilding map
Saving map
Traceback (most recent call last):
File "", line 142, in <module>
display_thread = Display(3, "Display")
File "/home/pi/work/RadioGlobe/", line 16, in __init__
self.lcd = liquidcrystal_i2c.LiquidCrystal_I2C(DISPLAY_I2C_ADDRESS, DISPLAY_ I2C_PORT, numlines=DISPLAY_ROWS)
AttributeError: module 'liquidcrystal_i2c' has no attribute 'LiquidCrystal_I2C'
^CException ignored in: <module 'threading' from '/usr/lib/python3.7/'>
Traceback (most recent call last):
File "/usr/lib/python3.7/", line 1281, in _shutdown
File "/usr/lib/python3.7/", line 1032, in join
File "/usr/lib/python3.7/", line 1048, in _wait_for_tstate_lock
elif lock.acquire(block, timeout):


Reply 8 months ago

Update - I wiped the card and started again. This time I used Pi Imager to install the lite version. When I installed the RadioGlobe software and did the install it took a LOT longer - but now something happens. I can hear music if I twidle the encoders! However - the LCD display is blank. I've checked the contrast screw, and I know I wired it up right as I tested every connection based on your daigram.

Any ideas?

UPDATE - screen now working. No idea why! Was about to change the I2C addres to 0x3F as thats what the ebay ad says, but it just started working anyhow. Does it detect the address?

Odd behaviour - powered on, all looks ok. Calibrate, 0.0. Rotate globe and target and coords on screen match, but always "tuning". I had music earlier. Defo connected to wifi as I can SSH it.

Update 2 - it won't work on one of my routers from some reason but works in my house .

The Latitude Encoder (as described by your guide) has t plug in the Longditude socket, and vice versa for it to work. Hence I was getting "Tuning" all the time. Once I switched the cables over on the PCB it works.

I am finding most of the EU stations work but most others don't. They lock, but I get silence. I get good performance in the USA, but it really struggles to start streams in East Asia amongst other countries. Is there a log I can look at?

Hey Jude
Hey Jude

Reply 8 months ago

Hmm - this is a real mixed bag of wins and weirdness here.
Sorry it's a tricky little beats sometimes.
I'll certainly pass it along to Don who worked on the code for this, but I also saw from updates you may(?) have made some comments on GitHub and Pete was also taking a look at this.
Anyhow. As for the LCD Screen and the I2C - that's a new one to me, as the PCB usually labels the header pins, so it's unlikely you have it wrong.
Welcome to upload a picture of front and back and I have have a look here.
Sounds like you're getting close tho! - Keep the faith, I assure you others have done this, so it is possible =)
Best wishes, Jude.


Reply 8 months ago

Yep -it's all working now :-) - just a bunch of the stations are silent - wondering if it is time differences . Currently listening to some aweful Argentinian radio!

Switching the long and lat leads round cured a lot of weirdness

(and yes, that was me on Github). My 1st install was the main Raspberry pi install using Pi imager. The second attempt was with imager again, but the lite version.

Hey Jude
Hey Jude

8 months ago

Just an FYI - the GitHub has been updated - now with more stations in Japan - as the RG is ‘on tour’!!


9 months ago on Step 76

Looks awesome - currently buying the parts. I have a few projects I've put on this site, but your level of detail and tuition is remarkable. Looking forward to building it. R