Hi All!
I've recently gotten into the swing of libre software/hardware projects, and so am interested in designing a music player capable of playing ogg vorbis format music.
This is the rough set of requirements:
-Portable (roughly size of a smartphone/PDA, realistically smaller since it's not going to have much hardware other than audio)
-Capable of output sound to a 3.5mm jack (with a small stereo amplifier).
-Capable of Bluetooth A2DP for comparable sound quality to wired. This is important for me as I have a pair of wireless speakers.
-Play audio files from a micro SD card. Keeps design simple and reduces size.
-Play large audio files (100s of MB) to allow listening to podcasts.
-Main audio format to be Ogg Vorbis because the specification is free and available (https://xiph.org/vorbis/doc/). However, given the components I'll be using, other formats (WAV, MP3 etc.) will be usable too. Additional formats will be a stretch goal.
-Custom shuffle functions. I don't like when my devices recommend a song I already played during the same day. Perhaps having a list on the SD card that shows what I listened to today and not adding anything in that list to the shuffle queue?
-Use on of my existing development boards as a prototype. Contenders
are: Raspberry Pi 3 Model B, CHIP, STM32F0 Discovery, ESP32 WROOM 32. I
decided against using Arduino based boards so that I got more experience
with C programming and to reduce memory overhead.
-Physical buttons for controlling volume, play/stop, next, previous,
perhaps some additional functions. For the prototype I'll use my
existing protoboard keypad with 14 buttons available.
-Small
display for showing current song, shuffle settings, directory etc. For
prototyping I have an I2C OLED display with a 0.96 inch diagonal and
128x64 resolution. Should more than enough for testing.
-At least initially, I will reuse parts that I already have (Li-On charger IC, passives etc.) to cut down on prototyping cost.
-Minimise power consumption by using interrupts, turning off unnecessary
gpio, reducing clock frequencies etc. This will be more relevant once I
figure out the final set of hardware after prototyping. This is also where Arduino, and Linux based solutions may be unsuitable as they have a lot of overhead.
-(?) Anything else that I may deem fun or interesting to play with, since it is my device after all!
Once this device gets closer to finalisation, I will aim to use parts that are:
1. Readily available.
2. Have datasheets and all bootloader information available.
3. Will be produced for a long time.
I'll approach the design from a modular perspective, to allow parts to be replaced with minimum hassle if any parts from my original BOM go out of production etc. In addition I'll include debugging pins and ways of bypassing sections (such as the audio amplifier, bluetooth chip etc.) to allow straightforward replacement of sub-systems.
Wednesday, 24 July 2019
Monday, 8 July 2019
Pipe Post-Script
The end of the big engineering project came and went fairly swiftly, but not without a few fairly long experiment/analysis/writing sessions to finish it off. (It wouldn't be a proper project without them ... riiight??)
The result was that my visions of a brilliant new way of detecting pipes was only partly correct. The final experiments involved sweeping the antenna in front of a pipe, which had been hidden behind a very large wooden board. The pipe could be clearly seen in the reflection data and with a bit of processing the peak in reflected power could be made rather significant.
Unfortunately the usefulness in the reflection data for distinguishing pipes and non-pipes was not tested (a year is a remarkably short time in the end). Looking at the initial goals for the project - they were all met, the method was tested in the ways proposed and experience in how the data generally worked allowed me to build a schematic of the pipe detector!
Inevitably the question after every project is what next? - well I think it is time for something completely different...
The result was that my visions of a brilliant new way of detecting pipes was only partly correct. The final experiments involved sweeping the antenna in front of a pipe, which had been hidden behind a very large wooden board. The pipe could be clearly seen in the reflection data and with a bit of processing the peak in reflected power could be made rather significant.
![]() |
The pipe is causing that ripple! |
![]() |
And with a bit of manipulation of the underlying phasors we can make the peak magically appear! |
Inevitably the question after every project is what next? - well I think it is time for something completely different...
Thursday, 20 December 2018
Phasor Phun
So, turns out I had forgot one of the more important parts of a VNA's function, that it outputs Phasor values, that is vector-like quantities with defined phase and magnitude used to represent sinusoids.
![]() |
Sadly not our favourite Star Trek ray guns... |
- The VNA is already providing information in a frequency sweep - every data point represents a sinusoid of a specific frequency.
- A sinusoid can be represented with three bits of information, its frequency, its magnitude and its phase offset.
- Therefore, given we already have frequency we can easily store the other two bits of information as a phasor and be quite happy!
- Phasors lend themselves quite well to multiplication/division operations - addition/subtraction is achievable after a simple conversion to rectangular (Cartesian) coordinates.
Of course to simply represent our two quantities as two different elements of a vector would be too nasty - we use imaginary numbers instead, in exponential form.
This realisation gives me the opportunity to work with way information than before. By taking phase into account when comparing two signals we can identify more properties to identify them, for instance phase differences, or absolute magnitude differences.
Clearly at this point I am sitting on top of a folder bursting with graphs (3D graphs!!), however they need a bit more work before anyone but me will understand them so I will save them for later...
This realisation gives me the opportunity to work with way information than before. By taking phase into account when comparing two signals we can identify more properties to identify them, for instance phase differences, or absolute magnitude differences.
Clearly at this point I am sitting on top of a folder bursting with graphs (3D graphs!!), however they need a bit more work before anyone but me will understand them so I will save them for later...
Thursday, 29 November 2018
Further Engineering Excitement
So a follow on from the previous post, mainly because I ran a second set of tests, but this time transmitting around 10GHz.
As before I hooked a nice polarised antenna up to the lab VNA and moved a pipe around in front of it, while looking at the power reflected into the VNA from the antenna (and calibrating out the power literally reflected by the antenna itself to try and isolate the reflections due to the pipe). Of course being 4th year engineering means that all of this is automated after the initial setup!
I had a few predictions about this second set of tests:
One of the brilliant bits about these experiments is that they produce megabytes of information, the two graphs here only use a fraction of the data produced. This means that there are many, many, many different ways the data can be displayed and different properties that can be explored ... brilliant news for at-home-playing-around-in-matlab me!
As before I hooked a nice polarised antenna up to the lab VNA and moved a pipe around in front of it, while looking at the power reflected into the VNA from the antenna (and calibrating out the power literally reflected by the antenna itself to try and isolate the reflections due to the pipe). Of course being 4th year engineering means that all of this is automated after the initial setup!
I had a few predictions about this second set of tests:
- Our lovely dominating sinusoid (the one with the increasing and decreasing reflectivity) would increase in (spatial) frequency to match our increase in RF frequency.
- The sample would induce a greater reflection as its size (in RF wavelengths) was now bigger.
- The tail end of the previous reflectivity graph started to look flatter, I was expecting this flat region to develop earlier on in the graph
Of these only 1. turned out to be true, the increase in size relative to wavelength of the sample appears to have been swamped by greater path loss, the radiation losing energy as it travels, which is greater at higher frequencies. Additionally the flat area did not appear, making me suspicious that its manifestation in the earlier graph was an artifact of me 'under-sampling' the distance/reflectivity waveform.
My pipes at this point were about a wavelength wide (as opposed to the half-wavelength width they have for 5 GHz waves) which has another important part of the test as my trusty textbook had illustrated that the reflectivity properties change around this point (and a bit lower). This appears to have been observed, certainly the PVC pipe appears to now be reflecting more power when it is horizontal, earlier it was reflecting marginally more when it was vertical. The metal pipe appears to be reflecting equal amounts of power independent of its orientation - which is interesting and requires further investigation...
Anyway, the results graphs:
My pipes at this point were about a wavelength wide (as opposed to the half-wavelength width they have for 5 GHz waves) which has another important part of the test as my trusty textbook had illustrated that the reflectivity properties change around this point (and a bit lower). This appears to have been observed, certainly the PVC pipe appears to now be reflecting more power when it is horizontal, earlier it was reflecting marginally more when it was vertical. The metal pipe appears to be reflecting equal amounts of power independent of its orientation - which is interesting and requires further investigation...
Anyway, the results graphs:
![]() |
Reflectivity Graph, now pointier... |
![]() |
FFT plot, also pointier |
Thursday, 22 November 2018
Engineering Excitement (or: more MATLAB graphs and FFT fun...)
So, end of the degree means that some fairly cool research gets to be done to produce a thesis. My project has ended up being trying to explore the effects of a cylinders orientation with respect to RF (Radio Frequency electromagnetic radiation) wave polarisation on their RF reflectivity. A bit of a mouthful that ends up with: can I find a method to detect pipes really easily? If I can that would be really useful for the construction of pipe-detecting devices. The really cool bit was that initial research indicated that dielectric (non-metal) cylinders also exhibited properties along these lines, which is really intriguing, and could represent a massive improvement over current methods of pipe detection.
So a couple of months of reading and simulation later I found myself in the lab collecting data from a physical experiment, the results of which are below. For this test I had a plastic and a metal pipe which I rotated between vertical and horizontal in the testing apparatus. My investigation had indicated that
![]() |
Data!!!! |
Two points, firstly I can be fairly certain the figure above shows power reflected due to the samples as there is another set of data that was collected with no sample in the testing apparatus - this established how much power was being reflected from (and into) the antenna under no-sample conditions. This power was subtracted from the result of tests when there was a sample to give the result displayed.
'But Wait!' I hear you say, 'you have negative power over there!'. I have cheated and used a dB, logarithmic, scale to display the results. Negative readings actually indicate that less power than the no-sample test was reflected under these conditions. This is due to RF wizardry, at these points the sample has put itself somewhere where it can absorb lots of power (or lead to it not being reflected into the measurement device), rather than reflecting it (into the antenna where hopefully the measurement device can detect it). This is a combination of the sample 'coupling' with the antenna, changing its characteristics, and it being close enough to provide an effective load to the transmission line the antenna is attached to! (I did say wizardry)
Secondly, the y, distance, axis is approximate - there is some offset which I have not accurately measured yet, unfortunately Lab-Me only took down a rough measurement! Additionally it is the nature of a lot of RF work that there is a certain level of roughness to results. This is mainly as the measurements we take are affected by all RF radiation waves being thrown about, including are own, that like to interfere with each other, themselves and reflect, refract and diffract off of whatever they can. This leaves us with a non-trivial system that is always going to have an element of randomness simply because we cannot predict everything that is going to be important to the behaviour of the system. The best that can be done is to try and calibrate all of our measurements to a baseline and then not change the test environment if we can help it. This is why the measurements all look very messy - luckily this data set represents about one of 640 (from this experiment alone) I can use to help reveal how the effects I am looking for are affecting the system! Additionally I have another antenna set made up able to look at a different set of frequencies (these tests were conducted at about 5GHz).
I got really interested in the oscillations in the data so, naturally, I ran a quick Fourier transform on the data to uncover its frequency content. Note that this frequency is separate from the frequency of the RF operation, it is actually the frequency of reflective peaks over the separation distance.
![]() |
MOAR DATA!!! (ignore the vertical scale) |
It is always nice to get results that indicate more investigation is needed!
Monday, 15 October 2018
Robot Wars, Level Up!
On to the next crazy project!
I suppose I should begin this post with an update on Gigaton Handshake: Optional Ultimatum (Giga to its friends). The last post saw the completion of the CAD design and I can happily report that is has now been built, wired, tester, rewired and is looking forward to its final tests/fixes a full two months before the next competition here at the uni. Does this mean that we are going to sit on our hands for a full two months waiting for action? Of course not, and unfortunately that means we shall start with a digression.
Long story short my fellow roboteers and I have decided to try and design/build/program our own robot control system/board. Hopefully this will end up being lighter and more compact than the current menagerie of various commercial boards we use. The plan is to use them to put together a three bot cluster (three robots in the same entry), as well as allow us to build many, many more normal bots.
As a project this has been rather interesting so far, it took us ages to come up with the correct design requirements but once we had them the rest of the design has gone quite well. We broke down our requirements as follows:
I suppose I should begin this post with an update on Gigaton Handshake: Optional Ultimatum (Giga to its friends). The last post saw the completion of the CAD design and I can happily report that is has now been built, wired, tester, rewired and is looking forward to its final tests/fixes a full two months before the next competition here at the uni. Does this mean that we are going to sit on our hands for a full two months waiting for action? Of course not, and unfortunately that means we shall start with a digression.
![]() |
Gigaton Handshake |
Evil cat time, high backed chair slowly rotating... flash of lighting!
"MWAHAHAHA"
"Sit on our hands! Sit ... on ... our ... handssssss??"
As a project this has been rather interesting so far, it took us ages to come up with the correct design requirements but once we had them the rest of the design has gone quite well. We broke down our requirements as follows:
The board was determined to have to be able to:
The ESP32 device we chose had several major features that fixed most of these issues. Firstly it combined the transceiver and micro-controller and implemented all of the RF circuitry, making the PCB design much easier. It also has the ability to communicate via Bluetooth (classic and low energy). This means that we get a full communications stack given to us with all interactions happening at the application layer, much less of a headache than the PHY level interface the Si4463 was offering! Using Bluetooth also means that we can use the transceivers in our phones to communicate rather than having to build new hardware ... once we learn how to build Android applications ...
Back to Gigaton Handshake which went together fairly well, the uni's student workshop had some brilliant metal cutting tools for the front armour plate which meant I was able to cut a couple of spares, just in case. The 3D print went well, the new uni printers work like a dream. Initial construction was surprisingly painless (amazing how good things can get when you actually plan them) and only required one revision after initial testing.
The issue was, in true what-can-go-wrong style, electrical. When I had wired up the robot initially it had both the drive motors and radio receiver powered from a couple of power regulators on the brushless motor controller board. This worked really well until the motors tried to draw a lot of current, for example trying to turn really fast from a standstill. This drew all of the available current (about 3A) from the power regulators and starved the receiver, which promptly crashed. Luckily this was a problem with a quick fix and the motors are now powered directly from the battery, which has a larger possible current output of ~20A, before exploding.
The brushless motor works with relatively little fuss, the blade needed to be roughly balanced before I was happy using 100% throttle, this was done with a piece of string and a file.
This robot is now roughly finished, with only a couple of improvements. The first is to add the now distinctive drinks can blade to the front to increase scoopiness. The second will be to take a file to a couple of the edges to try and get the maximum dimensions down a bit. The third, possibly more important step will be to hot glue all of the components down to the chassis, with about 50g space weight I am hoping that I can use enough glue to almost act as impact softeners shielding the electronics from sharp blows when the robot is thrown about. The final step will be to upgrade the wheels.
Given I have lots of spare mass to play around with the wheels are going to be triple layered with alternating MDF and Perspex pieces. The idea is that putting MDF on the ends of the wheel will allow it to absorb spinner hits while the central perspex layer will provide a bit of rigidity. The final innovation is to add teeth to the outside of the wheel, these are not to grip the arena floor themselves, but to grip a layer of rubbery plastic that will be added later which should increase the wheel grip dramatically. Like all good 2D components these will be cut on the laser cutter at Uni.
- Be powered from a lithium polymer cell with an input voltage range of 3.5V to 14V to allow 1-3 cell li-po batteries to be used.
- Control 2 DC brushed motors directly with 2V/Vbatt continuous current draw
- Supply control signals and power to two servos with 200mA/5V current draw.
- Receive and process human commands into servo/motor outputs.
- Human must be remote from board (commands must be transmitted wirelessly)
- Wireless communication must be able to penetrate 5mm polycarbonate
- The board must have an interface to allow its firmware to be updated
- There were a bunch of size requirements too to ensure that we were actually getting an improvement with the new board.
The next step was to determine the system architecture and hardware that could realise these aims. Initially the plan was to use a discrete micro-controller, RF transceiver, motor controller, and power regulator however after much discussion we managed to address the functionality of the first two with an ESP32 board.
The selection of the ESP32 was quite an interesting process as initially we had lined up to use two chips, an ATMega328p micro-controller and Si4463 sub-GHz RF tranciever. Our reasoning was that the AtMega chip met all of our requirements and could be programmed with the Arduino bootloader, allowing us to use the Arduino IDE and libraries which makes the embedded code much easier to develop. Additionally the Si4463 was similar to the CC110Ls used during the Blake Project, and at sub 1-GHz we were going to run into RF weirdness during PCB design, but not too much.
My group member had got to a late stage in the PCB design before we swapped over to the ESP deivce, partially due to both our dawning horror at what the AtMega and Si4463 would require to get working. My group member was having serious concerns about the challenge in routing all of the signals between the two devices and to the transceiver's antenna while keeping to board to a reasonable size. I was having second thoughts having done some preliminary work designing a wireless protocol as an improvement on my naive effort during the Blake project (one specific improvement being not crashing whenever a single packet was lost). The work I had put together in preparation had already filled many sheets of paper with flow charts but I was still unsure of its effectiveness, or even its ability to be implemented. Finally both of us had realised that we were going to have issues with the Si4463 as we would need to create another device from scratch to allow a human to generate the RF transmissions.
The ESP32 device we chose had several major features that fixed most of these issues. Firstly it combined the transceiver and micro-controller and implemented all of the RF circuitry, making the PCB design much easier. It also has the ability to communicate via Bluetooth (classic and low energy). This means that we get a full communications stack given to us with all interactions happening at the application layer, much less of a headache than the PHY level interface the Si4463 was offering! Using Bluetooth also means that we can use the transceivers in our phones to communicate rather than having to build new hardware ... once we learn how to build Android applications ...
Gathering mist and darkness, spooky castle fades into the background, maniacal laughter slowly dying away...
The issue was, in true what-can-go-wrong style, electrical. When I had wired up the robot initially it had both the drive motors and radio receiver powered from a couple of power regulators on the brushless motor controller board. This worked really well until the motors tried to draw a lot of current, for example trying to turn really fast from a standstill. This drew all of the available current (about 3A) from the power regulators and starved the receiver, which promptly crashed. Luckily this was a problem with a quick fix and the motors are now powered directly from the battery, which has a larger possible current output of ~20A, before exploding.
The brushless motor works with relatively little fuss, the blade needed to be roughly balanced before I was happy using 100% throttle, this was done with a piece of string and a file.
![]() |
Giga, a view of the other side a bit emptier as it usually holds the battery (which is currently staying in its lipo safe) |
Given I have lots of spare mass to play around with the wheels are going to be triple layered with alternating MDF and Perspex pieces. The idea is that putting MDF on the ends of the wheel will allow it to absorb spinner hits while the central perspex layer will provide a bit of rigidity. The final innovation is to add teeth to the outside of the wheel, these are not to grip the arena floor themselves, but to grip a layer of rubbery plastic that will be added later which should increase the wheel grip dramatically. Like all good 2D components these will be cut on the laser cutter at Uni.
![]() |
Cad rendering of the wheel design, blue will be MDF, red will be perspex. |
Thursday, 11 October 2018
200mm Scope: Drinking Straw Successor
The Drinking Straw successor is complete! which means, I actually completed a project I set out to do ... in a reasonable time.
Please, hide your surprise.
As a recap, I have wanted to upgrade my smaller 76mm scope (the drinking straw) for a while since it became obvious that I had reached the limits of its capabilities. A couple of Ebay trips later and this step up had defined itself as a 200mm Newtonian reflector (given that I had a 200mm parabolic mirror).
One of the trickiest things to do with the drinking straw was keep it stable and non-shakey. This was largely due to the equatorial mount I opted for, firstly my own hideous creation, and then due to the properly made one being very, very heavy. The mount did have its benefits, like allowing for simple RA/Dec pointing and target tracking, and I enjoy using it. The thought of trying to replicate/use something similar, but scaled up for the 8 inch mirror, made my inner engineer very happy - but would not have been feasible in a device I could use in a reasonable timeframe, and also move around. Next time, next time. Instead I opted to follow the instructions from Stellafane on 'How to build a Dobsonian' given that I had already read the guide several times, it was easy to read with lots of information, and it seemed to be a bombproof way of getting a usable instrument.
So, onto a brief summary of the build - including interesting happenings, blinding insights and banal construction descriptions. In my previous post I talked about the design process which should have made it clear that I was deviating from the standard concrete pouring tube Dobsonian somewhat. Experiences with getting the length and balance point of the Drinking Straw wrong, repeatedly meant that I wanted to keep these properties of the tube as adjustable as possible. My solution was to have the optical tube made of three boxes all sliding along a set of poles. The three boxes held the mirror, interfaced with the mount, and held the secondary mirror/focusser/eyepiece respectively.
The build began with the mirror cell - which went together beautifully after I had managed to find all the bits (the springs were hard to track down, I ended up using RS having tried at least a dozen different hardware stores). At this point I think it would be good to add that I was beyond the range of the lovely laser cutter and its friends, but I did have access to my Dad's tool collection including a brilliant jigsaw.
The next step was to start building the boxes. My initial plan was to have boards perpendicular to the optical axis (with holes cut in them) as structural braces/imitation baffles, the box would then be made of four rectangles of plywood on the sides, held together primarily by the braces. This did not quite work out, which I will talk about later.
The Braces were my first attempt at cutting circles with the Jigsaw which I knew was going to be critical to making the Altitude bearings later on. I did my late night research into how people generally cut circles with a jigsaw and came up with a very useful jig-saw jig which constrained the blade to a circular path. Unfortunately for the first few boards to have their holes cut it took me a while to figure out how to keep the Jigsaw blade straight.
After cutting the braces out it was time for the far simpler sides of the box - these were just rectangles with some pre-drilled holes to guide the various screws and nails that held the box together.
The next step involved a bit of improvisation. I may have mentioned before that I did not really know hoe I was going to secure the poles in place when I initially designed the telescope. Eventually I cam the the plan of using hose clips secured around a plank of wood (itself secured to the box) that could be used to keep the poles still relative to the box, while still allowing the poles to be released for taking the telescope apart. It turned out that this was a brilliant idea, not because it held the poles securely, it turned out that friction against the braces and sides did a good enough job of that, but because the planks of wood did a far better job of holding the boxes together than the braces!
Another thing that developed during construction was the finish of the wood used. I knew I wanted to use some sort of wood-stain on the wooden elements of the telescope to weatherproof it, and because I did not like the idea of paint. The final wood-stain used was one I found at the back of a shelf in the garage, supposedly a 'natural oak' colour. So far it has worked quite well.
![]() |
Complete! |
![]() |
Mandatory down the barrel shot |
![]() |
The ingenious 'double eyepiece location' - which hopefully will mean that I never have to pull off a feat of gymnastics to reach the eyepiece! |
Please, hide your surprise.
As a recap, I have wanted to upgrade my smaller 76mm scope (the drinking straw) for a while since it became obvious that I had reached the limits of its capabilities. A couple of Ebay trips later and this step up had defined itself as a 200mm Newtonian reflector (given that I had a 200mm parabolic mirror).
One of the trickiest things to do with the drinking straw was keep it stable and non-shakey. This was largely due to the equatorial mount I opted for, firstly my own hideous creation, and then due to the properly made one being very, very heavy. The mount did have its benefits, like allowing for simple RA/Dec pointing and target tracking, and I enjoy using it. The thought of trying to replicate/use something similar, but scaled up for the 8 inch mirror, made my inner engineer very happy - but would not have been feasible in a device I could use in a reasonable timeframe, and also move around. Next time, next time. Instead I opted to follow the instructions from Stellafane on 'How to build a Dobsonian' given that I had already read the guide several times, it was easy to read with lots of information, and it seemed to be a bombproof way of getting a usable instrument.
So, onto a brief summary of the build - including interesting happenings, blinding insights and banal construction descriptions. In my previous post I talked about the design process which should have made it clear that I was deviating from the standard concrete pouring tube Dobsonian somewhat. Experiences with getting the length and balance point of the Drinking Straw wrong, repeatedly meant that I wanted to keep these properties of the tube as adjustable as possible. My solution was to have the optical tube made of three boxes all sliding along a set of poles. The three boxes held the mirror, interfaced with the mount, and held the secondary mirror/focusser/eyepiece respectively.
![]() |
The design, with three boxes. |
![]() |
The mirror cell, part of the way through construction (the pole holes are yet to be cut and the side mirror supports have not yet been added.) |
The Braces were my first attempt at cutting circles with the Jigsaw which I knew was going to be critical to making the Altitude bearings later on. I did my late night research into how people generally cut circles with a jigsaw and came up with a very useful jig-saw jig which constrained the blade to a circular path. Unfortunately for the first few boards to have their holes cut it took me a while to figure out how to keep the Jigsaw blade straight.
![]() |
Jig saw circle jig, idea scooped from a random YouTube video |
![]() |
A not so successful circle cut. |
After cutting the braces out it was time for the far simpler sides of the box - these were just rectangles with some pre-drilled holes to guide the various screws and nails that held the box together.
The next step involved a bit of improvisation. I may have mentioned before that I did not really know hoe I was going to secure the poles in place when I initially designed the telescope. Eventually I cam the the plan of using hose clips secured around a plank of wood (itself secured to the box) that could be used to keep the poles still relative to the box, while still allowing the poles to be released for taking the telescope apart. It turned out that this was a brilliant idea, not because it held the poles securely, it turned out that friction against the braces and sides did a good enough job of that, but because the planks of wood did a far better job of holding the boxes together than the braces!
![]() |
The first box constructed (which would turn into the pivot box) |
Next up was throwing together a secondary mirror spider/holder, here I just drilled some holes in an 18mm thick scrap of Plywood for push/pull bolts to go through to tilt the mirror. the spider was a set of steel bracket strips that I bent into shape. The entire assembly manages to stay behind the secondary mirror (from the perspective of the primary mirror) and the steel strips are edge on to the light path while still being quite thick. It is a solution that works well enough for the moment and holds the secondary mirror dead still, but will probably require upgrading in the future. as it is not particularly easy to use the push pull bolts.
The rocker box, altitude bearings and ground plate went together in a couple of days (surprisingly quickly). The altitude bearings took all of my skill at cutting round objects with a jig saw to the limit, but they came out spookily well. The biggest improvement came after I changed to a slightly thicker blade which seemed to wander less easily.
One of the trickiest bits about this last stage was deciding on different wood thicknesses, the process of choosing the other dimensions already has a lot of guidance on the internet. In the end I used:
Finally there were a couple of later improvements, I added braces to keep the altitude bearings straight and added nonstick pads and laminate to each of the bearings to improve the movement action. The work with the bearings would have been included as part of the rocker box assembly but I was initially quite happy with the simple wood on wood bearing, it took a couple of evenings for my mind to change.
Overall this has been an enjoyable project with a concrete outcome, it was a matter of minutes before the 200mm scope was showing things invisible to the 76mm scope on the first night of viewing. Unfortunately it will be staying at home while I travel to Uni but I can still continue to work on bits and pieces for it, I already have my sights set on making a finder of some sort to help navigate around the sky. Additionally eagle eyed readers may have noticed the somewhat gargantuan secondary mirror, which is almost two cm to wide (across the minor axis). At some point I will get around to replacing it with a more appropriate mirror.
![]() |
Another view. |
One of the trickiest bits about this last stage was deciding on different wood thicknesses, the process of choosing the other dimensions already has a lot of guidance on the internet. In the end I used:
- 18mm for the bearings and sides (to maximise the bearing contact area),
- 5mm for the front (to save weight, the front does not have to take much concentrated force that would require thicker wood),
- 9mm for the bottom of the rocker box and ground board (as it was the only material I had left in sufficient quantity)
- 12mm for reinforcement on the bottom of the ground board.
To protect the ground board from excess moisture and also to give a good set of contact points I screwed three cheap plastic castor dishes (turned upside down) to the bottom of the ground board too, so far these have worked really well.
![]() |
Test fitting everything in the bearing/rocker box/ground board assembly before coating with wood stain. |
Finally there were a couple of later improvements, I added braces to keep the altitude bearings straight and added nonstick pads and laminate to each of the bearings to improve the movement action. The work with the bearings would have been included as part of the rocker box assembly but I was initially quite happy with the simple wood on wood bearing, it took a couple of evenings for my mind to change.
![]() |
The rocker box all finished, you can just about make out the altitude bearing braces. |
Saturday, 2 June 2018
200mm telescope: The Drinking Straw Successor
So - I have managed to secure to optical components for a nice 8 inch telescope with the plan to put one together over the summer.
While I am really excited to see what the new telescopes capabilities will be (the focal length of the primary mirror is not that much longer than the one in my 76mm scope so most of the benefit will be in extra light gathering capability) I am almost more excited about the construction project. Given that this will be a summer project I will be away from the University and its many CAM machines. On the one hand this is good as it means I can use materials that would catch fire in a laser cutter, but it also means that all manufacturing will need to be done by hand!
Counter-intuitively, this lack of laser cutter makes the design step even more important - because correcting mistakes is going to be a pain! Therefore, armed with some idea sketches and optical dimensions I threw together an Inventor assembly to try and get the dimensions right, and usable.
While I am really excited to see what the new telescopes capabilities will be (the focal length of the primary mirror is not that much longer than the one in my 76mm scope so most of the benefit will be in extra light gathering capability) I am almost more excited about the construction project. Given that this will be a summer project I will be away from the University and its many CAM machines. On the one hand this is good as it means I can use materials that would catch fire in a laser cutter, but it also means that all manufacturing will need to be done by hand!
Counter-intuitively, this lack of laser cutter makes the design step even more important - because correcting mistakes is going to be a pain! Therefore, armed with some idea sketches and optical dimensions I threw together an Inventor assembly to try and get the dimensions right, and usable.
![]() |
More of a beauty shot, down the optical tube |
The CAD work has been a bit of a learning exercise, playing around with texturing and movable joints, as well as how to best use the assembly system. The standout awesomeness was the fact that my Crayford Focusser design could be imported and tried around on the model to make sure it fitted!
Anyway, I am sure that there will be plenty more to talk about/take pictures of soon!
Anyway, I am sure that there will be plenty more to talk about/take pictures of soon!
Tuesday, 8 May 2018
Jupiter at oppositon
Visually, the view was rather good, the banding was obvious, either the Southern or Northern Equatorial band (depending on how the image was being flipped in the telescope) was particularly prominent. The gradual upgrades to the 'scope are becoming obvious, the view is now far steadier than before which finally means that the view will stay still long enough to allow me to focus properly and to take advantage of any short periods of good seeing.
Friday, 4 May 2018
Rubik's Cube Solver - Complete!
The group project is complete! With all 67 pages of report submitted and flashy hardware demonstrated nothing else is left to be done.
So first up, some obligatory photos:
![]() |
The Solver, in all its death-star-ness |
![]() |
The drama shot of the cube, the centre cube frame is used for holding colour calibration strips for the cameras and is held in place entirely using fishing wire |
And an obligatory solving video:
Solving video! |
My own major contribution to the final product was the design of a computer to cube communication system. One of the requirements put on us (to make things harder) was that we had to route all control signals through an audio cable which could not have any programmable devices after it to control motors. The design and implementation of this system has been one of the most enjoyable things I have done at uni so far - not least because I have reached a level of experience that means I can design basic circuits that work! Inputs to the audio cable were generated using a standard PC soundcard, which let me play with Python at one end, while demodulation was done with some pretty neat circuits at the other.
![]() |
Signal flow diagram showing the modulation and demodulation of the information signal |
![]() |
Automatically produced graph of all the filters' frequency responses! |
Finally (the funny bit at the end...) I got carried away with Inkscape during the closing stages of the project as we were preparing for presentations which meant that our group ended up with a 'logo'. Needless to say my courage was not up to putting it in the final report!
![]() |
We were Group A. Yes, the image did start life as the Manhattan project seal. |
Subscribe to:
Posts (Atom)