Regional Route in South Africa
The R104 is a regional route in South Africa that is the designation for some of the old sections of roads that were previously the N4, prior to upgrading. It connects Rustenburg in the North West province with eMalahleni in Mpumalanga province via Mooinooi, Hartbeespoort, Pretoria and Bronkhorstspruit. There are two additional sections in Mpumalanga province: a 50km section connecting Middelburg and Wonderfontein and a 17km section passing through Mbombela.
Route.
Mpumalanga.
Mbombela.
The R104 route begins about 14 km east of the city of Mbombela at the Karino Interchange with the N4 (Northern Bypass) and the R538 routes. It heads west for about 11 km to reach the outskirts of Mbombela at the intersection with Dr. Enos Mabuza Drive near the Nelsville suburb. It turns right on Dr. Enos Mabuza Drive and then turns left into Samora Machel Drive. Heading westwards, it passes the suburbs of Valencia Park and Nelindia before entering Mbombela Central. After Mbombela Central, it meets the R40 and continues westwards passing the West Acres suburb, Mbombela Stadium and Mattafin before it leaves Mbombela and ends at an intersection with the N4 (westbound only). 
As there was a northern bypass which was built around Mbombela (continuous highway; off-ramp junctions only) for the N4 national route (opened on 13 June 2010), this old 17km section of road through Mbombela Central was re-designated as the R104. 
Wonderfontein - Middelburg.
The R104 designation is used again just west of Wonderfontein in Mpumalanga (east of Middelburg), at an intersection with the N4 national route (Maputo Corridor). It heads west for about 50 km to reach Middelburg, where it ends at a junction with the N11 national route coming from the south just before the Eastdene suburb (east of the town centre).
Witbank - Balmoral.
The R104 designation is used again in Witbank (eMalahleni), from the Witbank Long Distance Taxi Rank (at the western end of the town centre), at a junction with the R544 coming from Verena and the R555 coming from Middelburg. The R104 starts as the road to the south-west from the taxi rank (Diederichs Street). It then enters the Schoongezicht suburb, where it crosses to the south of the N4 highway as Kaldine Drive, turns west and bypasses Witbank Primary School as Collins Avenue.
It continues westwards, bypassing KwaGuqa (where it makes a right and left turn) and remains south of the N4 highway up to Balmoral, at the northern terminus of the R545, where it crosses back to the north of the N4 highway. It continues westwards and enters the City of Tshwane Metropolitan Municipality in Gauteng Province just after.
Gauteng.
From Balmoral, it remains north of and parallel to the N4 highway and is one road westwards for 75 kilometres, through Bronkhorstspruit (where it meets the R25 route and the R513 route), meeting the R568 and the R515 routes, bypassing Mamelodi, to reach Pretoria Central.
In Pretoria, after flying-over the N1/N4 highway co-signage (Pretoria Eastern Bypass) as Pretoria Street, it continues as Stanza Bopape Street (formerly Church Street) up to the M3 junction, where it becomes Helen Joseph Street (formerly Church Street) through the Central Business District. It goes around Church Square before becoming WF Nkomo Street (formerly Church Street) and intersecting with the R101 route. In Pretoria West, from the junction with the R55 route westwards, the R104 route is south of and parallel to the M4 Magalies Toll Route for 20 km up to its end at the Pelindaba Toll Plaza just south-east of Hartbeespoort.
South of Flora Park (east of Pelindaba), the R101 meets the R511 road at a 4-way junction. As the road westwards (Elias Motsoaledi Street) continues to Pelindaba and Broederstroom, the R104 joins the R511 to be cosigned with it north-west from this junction, flying over the M4 Magalies Toll Route's Pelindaba Toll Plaza. At Flora Park, the R104/R511 co-signage leaves the City of Tshwane Metropolitan Municipality and crosses into Hartbeespoort in the North-West Province as Beethoven Street.
North West.
In Hartbeespoort, at the junction with Bach Street next to the Sediba Shopping Plaza in the suburb of Melodie, the R511 becomes the road northwards towards Brits, leaving the R104 as the west-north-westerly road. After this junction, the R104 becomes Scott Street and makes up the northern border of the suburb of Schoemansville. West of Schoemansville, the R104 crosses the Hartbeespoort Dam wall on the Crocodile River as a bridge in which only vehicles going one direction can cross at a time (using a traffic light system), before reaching a 4-way junction in the suburb of Damdoryn.
At this intersection, the R104 continues westwards, passing the Elephant Sanctuary of Hartbeespoort and flying over the Pampoen Nek Pass. After a few kilometres, it meets a road heading northwards towards Brits before continuing west towards Mooinooi.
From Hartbeespoort, going past Mooinooi, the R104 is parallel to and south of the N4 highway (which is now called the Platinum Highway). At Kroondal (just before Rustenburg), the R104 goes north of the Platinum Highway and makes a left and right turn before making a direct line for Rustenburg. It meets the north-western end of the R24 road from Magaliesburg, Krugersdorp and Johannesburg, before becoming the main route through Rustenburg Central (Nelson Mandela Drive; Oliver Tambo Road) and meeting the southern terminus of the R510 road. After passing through the Tlhabane suburb as Swartruggens Road, the R104 meets the southern terminus of the R565 road before ending where it meets the N4 (eastbound only).
References.
 ;templatestyles src="Reflist/styles.css" / ;