Introduction: Sundials for Walls Not Facing South - How to Get the Lines Straight

About: Hi, I'm Roland, allround hobby techie, musician, metal head, blues enjoyer, audio engineering and process engineering enthusiast. Im all about the functionality of things. I do care about their looks only in e…

Hi there, fans of astronomy and/or solar powered gadgets! I dreamed of making a sundial for a fairly long time but I either did not have the knowledge, Materials or time to do so, but that changed recently and I want to share the outcome here.

Disclaimer: This instructable will not cover the construction of hardware, but focuses on the drawing of angles, lines and positions regarding the shadow path throughout the year with respect to geographical location and wall angle. It will provide you an image that is left to you to transfer to wood, metal, 3D-print, concrete, fresco painting, or whatever you have in mind.

Given the simplicity of the problem and number of enthusiasts, it is astonishing that you don't really find any tool that will directly help you construct a sundial if you have neither a wall facing exactly south nor the space for a sundial with a horizontal base plane.

vertical sundials are often found on churches and sacral or otherwise important buildings that are built in alignment with the cardinal directions.

actually south facing walls make sense on a pragmatic level too, as the shadow travels the most symmetric path possible, giving good results with simple shaped gnomons (the thing standing off the dial, the one that is throwing the shadow line).

however if you find yourself devoid of such luxury (or even located on the southern hemisphere), there are still ways to do the thing, just read on! the only important thing is you should have a wall facing somewhere between East and West, meaning southeast or southwest (110-250' or so on the compass), otherwise there will not be enough useful shadow angles for a senseful dial. Obviously im talking about the Northern hemisphere, things will be slightly different in e.g. australia but even if you're living south the equator, you will succeed in constructing a sundial with the help of combining the tools presented here. If in doubt, just leave a comment, I and probably more knowledgable people will help you :)

Step 1: What You Will Need

what you need to create such a sundial depends on what kind of person you are, however

  • access to internet
  • devotion & enthusiasm

are the only things that are 100% mandatory.

The "exact follower" will need in addition:

  • R (CRAN, recommended: rstudio) alternatively, matlab or if you know how, then even Excel will do.
  • some basic to advanced coding skills are helpful
  • photoshop elements or comparable (gimp will do too and is free) including basic to advanced skills in using it

The disciple of the old school will need:

  • pencil
  • paper
  • scientific calculator
  • true devotion

Step 2: Know Your Wall's Orientation

There are 2 ways to do that, a geeky and an easy way.

The second is looking up on a map using an angle tool. You can do that using (yes its german but dont panic it really is easily usable for anyone, just refer to the screenshot). There you can type in a daytime (or adjust it with a slider, as indicated in the image) where the sun's direction lines up with your wall. then the sun azimuth is your wall's direction +/-90', dependig on which time you chose.

the geeky one involves at least one sunny spring or autumnal equinox noon time, where you measure the angle between your wall and the shadow of a perfectly vertical object on the (perfectly even) floor. beware of summer time if time shift is applied in your country! Also, google the astronomic equinox rather than 1200'ing the nominal date. alternatively, you can also look up when The sun will be at 180,00' S on any day at your coordinates. I used both methods and they luckily agreed, so i know my wall is facing 128' SE.

Step 3: Data Acquisition

Among all helpful tools on the web, SunEarthTools is the most awesome one that is available for free. Follow the substeps as illustrated above:

  1. find your coordinates on the map or type in your coordinates if you know them.
  2. type in the date for which the sundial should hold (suppose you do that for every 1st of all months, or even also every 15th if you're ambitious and having the space on your dial.
  3. scroll down to the sun angle table and set the interval to 15, 30 or 60 min, however accurate you want your indications.
  4. click execute
  5. copy the table contents to a Text file and save it as a simple yet easy to reference Name. make one file for every date you include to the dial
  6. remove all "degree" signs by copying the sign once and use auto replace (Ctrl+h, in some editors also ctrl+f) and replace by nothing.
  7. depending on reading method, replace all tabs by the column separator of your choice, eg. ";".
  8. depending on your reading method, replace also the ":"s by your column separator (e.g. ";"). this can ease up the hour indication.
  9. if you do so, also add respective header titles, as shown in the screenshot above.

You can download my files if you want to test everything out before acquiring your own data.

Step 4: Calculation of the Positions of the Markings on the Sundial

I did this in R, but you can do it in any other environment including Octave/Matlab or even Excel, if you know how to translate the formulas. I will try to do this as generically as possible, with my R-code as a suggestive example.

You already have for every date and every day time an azimuth and an elevation angle stored in the text files. Now, define a gnomon height, i.e. the offset how far the tip of your gnomon will come off the wall. Just take some value and make sure you can easily adjust that to tune your dial's overall dimensions. Whatever unit you take as gnomon height will also be the unit of your x and y positions on the dial.

Then read in the angle data and calculate the x and y positions relative to your gnomon tip (0,0). If you think about it, you will get formulas similar to

x = hG * tan( azimuth - wallAngle )

y = hG * tan( elevation )


x,y...............coordinates on the dial relative to the gnomon tip in e.g. [mm]

hG...............gnomon height or offset of the gnomon tip perpendicular to the dial plane (refer to the picture in step 10) in the same unit as x,y (e.g. [mm])

azimuth......."compass direction" (0 for North, 90 for East, 180 for South etc.) of the sun in angle degrees

elevation.....angle of the sun above the horizon in degree

wallAngle....compass direction you look at when you lean with your back against the wall

  • and with your calculator set to "deg". in most environments you will need a factor for [deg]-->[rad] conversion which is:

    alpha [rad] = alpha [deg] * pi / 180

    inside the tangens' brackets.
  • Also, you will have to limit the (azimuth - wallAngle) to >(-90) and <90,
    or otherwise you get strange graphs as the sun comes from behind the wall but the tangens just repeats its cycle!

Of course, all this is accounted for in the attached "sundial.R"-file

If you plot all x,y positions of all daytimes of the year, you get something like shown in the image above, also including indication of the x,y Position of the gnomon tip.

!! IMPORTANT !! make sure the x and y axes are SCALED EQUALLY!

you might panic seeing that some of the shadow trajectories almost coincide. we will tackle that Problem in step 7 using Photoshop or another image editor capable of processing multiple layers.

Step 5: Indication of Full Hours & the "Analemmatic 8"

make a New array of x and y Positions, copied from the previous but taken only those values that have min==00.

Plot these again with other markings.

Sorry my text is a little poor on that, please try to figure out what happens in the code by reading the comments!

Now you See the typical 8-shape, by which the same hour's Position differs throughout the dates of a year. this has 2 reasons: the earth's inclined Rotation axis (height components) and the elipticity if its trajectory around the sun (lateral component).

Some analemmatic sundials are constructed in such way that the markings are on one trajectory for all Rates, but the Gnomon is moveable and adjusted for the accurate date along such an 8 shape

Side fact: One ancient analemmatic sundial is investigated here that might have been made around 1200-1400 BC.

Theoretically you're done here... almost. If you're not into cosmetics, feel free to jump directly to step 10, where the construction of the gnomon is explained!

Step 6: Gnomon Base Position and Shade Lines

You might recognize the markings of your sundial can look rather skewed or distorted. This can be countered by a proper Gnomon angle:

find the 8 shape of a suitable hour and guess its mean x-coordinate. Place your gnomon base marking at y=0, x=there (refer to the screenshot from the previous step).

optionally, you can also give it some y=0+something. This makes the morning and evening shade lines less compressed and adds height to the possibly rather "widthy" dial. However, spare some time to think about the gnomon design if you do that.

Now you should find a way to draw lines between the Gnomon base and shadow tips (= time markings on the dial). Optimally, export the lines for each date to a New image file, leave out as many kinds of markings as possible, but keep some markings as reference spots. for all plots, export them to a format that renders the background invisible! this is important for editing later.

Save lines for the full hours and those in between asdifferent files. also export a file that cotains all the shadow trajectories as lines and make sure you can find the exact x,y Position of the Gnomon in one of your images, optimally a New one. Only 2 such plots are shown in the images with hour lines, another 2 with quarter hour subdivision lines.

Now you have about 26 exported plot files (12x hours of every month's 1st, 12x subdivisions of Evers month, 1x shadow trajectories, 1x Gnomon tip and base) once again: all these files must be aligned, so leave some markings to make that possible!

Step 7: Adjust the Positions of the Trajectory Lines

Get one of the advanced image processing software of your choice. I used Photoshop elements 6, but I'm sure the open Source gimp can do it just the like.

Import all the plots, hope that their background is invisible, align them perfectly and disable visibility of all layers you dont currently need. You might have to introduce a white background layer to see whats going on.

The shadow of the Gnomon will have its tip right at the trajectory lines of the respective month. so, to stay in the range of both, the shadow length and the one of the simulated shadow lines, the only direction you can move a trajectory is upwards. make sure you only adjust single trajectory lines, do not touch any shadow lines until the trajectories are positioned! also try to move as little as possible and maintain The positions where possible.

optionally, copy the uppermost trajectory and paste it above, so the uppermost month also has a head delimiting line

Step 8: Cut the Hour and Subdivision Lines

For each month, select the region between its delimiting trajectory lines (you might have to duplicate and paint in the trajectory layer such that the auto-selection wand recognizes the inter-trajectory-region).

Then invert the selection so anything but the Region of the current month is selected, choose that month's shadow line layer and make the Program cut everything selected. now the hour lines should be visible only in the month's Region.

To clarify, which of the trajectories the hour line belongs to, duplicate the trajectories layer, invert it (set to white) and move it down some Pixels. now there should be a white gap between the hour lines and the upper trajectory.

Duplicate the painted-on trajectory layer offset it some pixels to the top and merge it to the one before, to get a narrower slit for the subdivision lines.

Do as before and repeat for all months.

Step 9: Finishing the Image

Now get creative, paint flowery decorations and a nice looking title, for sundials should be nice things to look at. also don't forget to label the months an hours (i placed winter time digits above and summer time digits below the dial's graph) its not always easy to tell which line belongs to which hour, but search for the 8s in every hour and you will succeed!

Step 10: The Gnomon

Almost forgot! There must be a Gnomon to throw a shadow and indicate the time!

The difficulty lies in the task to design a piece, that...

  • ends with its tip in the x,y Position 0,0 but
  • has an offset you defined as Gnomon height,
  • its other end should be at the x,y Position that is above the (in my case) 13:00-"8";
  • in between there should be a straight line and
  • all this should be mountable to the dial plate
  • without covering the dial print.

Phew, thats quite a list!

if you don't offset the Gnomon base's y, then you're fine following my example. I just Drew a triangle as follows: its longest side was The diagonal of a rectangle with height= Gnomon height, width= difference in x Position of the 2 Gnomon points marked in the dial. in that rectangle, i drew the diagonal, which was the edge that indicated the time. the bottom line was the edge to be in cobtact with the dial plante but would have covered a portion of the printing. so i measured The length available and connected the critical point with the Gnomon tip. for mountability, i left rectangular patches to both sides that were to be bent 90'.

Step 11: Transfer to a Long-Lasting Material - Finished!

Whether printing or engraving metal plates, spray paint through laser cut templates... whatever you Intend, my instructable ends here :)

Just try a paper print /cardboard fortified Version before paying the expensive stuff just to realize your axes weren't scaled 1:1 or something else went wrong...

whatever you do, happy coding, tinkering & constructing!

...and don't wait to post comments of whatever kind!