<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://paulodowd.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://paulodowd.github.io/" rel="alternate" type="text/html" /><updated>2026-05-12T16:55:01+00:00</updated><id>https://paulodowd.github.io/feed.xml</id><title type="html">Paul O’Dowd</title><subtitle>Notes and reflections on robotics, teaching, and research.  The views and opinions expressed on this site are my own and do not reflect those of my employer or institution.</subtitle><entry><title type="html">Progressing Research: Bugs and Mistakes</title><link href="https://paulodowd.github.io/2026/05/12/Progressing_Research_Bugs/" rel="alternate" type="text/html" title="Progressing Research: Bugs and Mistakes" /><published>2026-05-12T00:00:00+00:00</published><updated>2026-05-12T00:00:00+00:00</updated><id>https://paulodowd.github.io/2026/05/12/Progressing_Research_Bugs</id><content type="html" xml:base="https://paulodowd.github.io/2026/05/12/Progressing_Research_Bugs/"><![CDATA[<p>Recently I’ve made some progress on developing a new IR communication board <a href="https://github.com/paulodowd/SwarmB3">SwarmB3</a> for my research interests in swarm robotics.  It is quite an interesting journey, solving bugs and mistakes from electronics upwards into software.  Because of the variety of my work commitments, I currently feel like I am speed-running a full cycle of prototyping to research outcomes, targeting eventual publication.  I would like to try and get a paper submitted by September 2026.</p>

<p>The below photo shows some hardware hacks to try and get things working.  The board on the left is a new board I am designing for teaching in the new academic year. For this board, I discovered that 3 of the GPIO weren’t electronically connected to the sensors.  I discovered this the hard way, attempting to read my sensors in software was returning values that didn’t change.  Locating the error came down to using the diode test function on a digital multimeter between the PCB component pads.</p>

<p>When I reviewed my electronic schematic in KiCad, I found a small box indicator rather than a dot indicator, meaning that the electronic connection was not defined.  Even though the fix was a few mouse-clicks, I had to wait for another round of PCB production, shipping and delivery.  However, I also discovered that one of the GPIO I wanted to use does not work if the WiFi module is enabled - so my first mistake (not having GPIO connected) became useful in allowing me to test other GPIO to read the sensors.</p>

<p><img src="https://raw.githubusercontent.com/paulodowd/paulodowd.github.io/refs/heads/main/assets/imgs/120526/SwarmB3_HardwareBugs.jpg" alt="image of some fixes to hardware" /></p>

<p>On the right is an earlier version of my new communication board.   My hardware bugs and mistakes here were much more painful to resolve, probably taking a couple of days of cummulative time.  I’m using an Adafruit ItsyBitsy M4 (SAMD51 device) because it can be configured to operate 4 independent UART interfaces.  My first hardware bug was quite confounding. I use an AND gate to combine transmission data with a carrier signal.  However, when I measured the output of the AND gate via an oscilloscope the logic was crazy.  To cut a long story short, it turned out that the PCB had an isolated ground plane, so the AND gate wasn’t correctly grounded.</p>

<p>My second bug was much more annoying, and I chased my own tail for a while.  Reading the datasheet for the SAMD51, I found that it is possible to invert the transmission logic and so designed my circuit board on this premise.  However, it turned out it wasn’t that simple.  Setting the UART to invert only inverted the data logic levels, and not the idle logic.  For my IR communication board, this has the adverse effect that a high idle state means that the IR LEDs are always on, saturating the environment.  I tried many different ways in software to find a different configuration, or to pull the GPIO line low when idle.  However, a small transient glitch when handing over GPIO control back to UART seemed to render this approach ineffective on the receiver side - it would always lock on to the datastream incorrectly.</p>

<p>Eventually, almost as a result of pure frustration, I went back to a breadboard and wired up a logic inverter IC instead.  This worked (of course).  Sometimes a hardware fix is easier than a software fix.  Updating the PCB design to include an inverter IC wasn’t too bad, and again - the wait for manufacture, shipping and delivery.  When I received the next version, it turns out I made a similar mistake again - an isolated ground plane.  I had checked for this multiple times, but it still escaped me.  Fortunately, this time I was quick to check all the relevant connections and re-discover this problem.</p>

<p><img src="https://raw.githubusercontent.com/paulodowd/paulodowd.github.io/refs/heads/main/assets/imgs/120526/Communication_TestRig.jpg" alt="image of a test rig to take measurements of communication between two robots" /></p>

<p>I’ve got to the stage where I am now taking measurements of the communication board in application.  In December 2024 I took similar measurements of the previous version of the communication board <a href="https://github.com/paulodowd/Swarm-B2">Swarm-B2</a>.  The fact that it was 16 months ago since I last had time to work on my communication boards feeds into my current speed-running attempt.  When I took those measurements, I placed two robots in different positions manually (by hand).  It took a long time to do.  This time, I’ve managed to assemble the pictured test rig above.  This test rig is using two stepper motors to automatically and sequentially move robots into a variety of exact positions.  I’m very pleased with how this is working, and it is very satisfying to press “go” and come back later.  This stage of my speed-running attempt is during an office move at work.</p>

<p>When I produce the plots I have been able to observe some unexpected outcomes and I have to ask myself if this is something inherent, or whether it is emerging from my hardware or software design.  For example, in an early plot I could see a clear area of non-transmission between two LEDs.  My first reaction was surprise - I thought that I had physically placed the LEDs at just the right angle to create this gap.  I considered going back to the PCB design to fix it.  However, with some further thought and inspection of data, it turned out to be the effect of signal interference between LEDs.  As I mentioned previously, the board has independent UART interfaces and I wasn’t managing to synchronise them successfully.  It is quite fun to go back to data and the code and find the source of the problem - and then verify the fix with subsequent measurements.  So far, I’ve implemented two fixes, one improving on the other.</p>

<p>Overall, I am finding it very satisfying to develop something from electronics upwards, from scratch, on my own.  I feel that I am continuing to learn a lot.  It is also very satisfying to be presented with an issue, and to be able to think across all levels of the system.  Because of the painful bugs at the hardware level, I feel quite intimately familiar with the low level registers.  I also had to do a major re-write of the firmware to remove some blocking code.  In combination, it becomes interesting when a problem occurs, rather than frustrating - and I think that is because of familiarity with the whole of it.  I imagine that this isn’t a situation that many are in.  Typically work is conducted in teams, and we inherit systems or products to maintain or improve.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Recently I’ve made some progress on developing a new IR communication board SwarmB3 for my research interests in swarm robotics. It is quite an interesting journey, solving bugs and mistakes from electronics upwards into software. Because of the variety of my work commitments, I currently feel like I am speed-running a full cycle of prototyping to research outcomes, targeting eventual publication. I would like to try and get a paper submitted by September 2026.]]></summary></entry><entry><title type="html">Introducing An Academic</title><link href="https://paulodowd.github.io/2026/04/15/Introducing_An_Academic/" rel="alternate" type="text/html" title="Introducing An Academic" /><published>2026-04-15T00:00:00+00:00</published><updated>2026-04-15T00:00:00+00:00</updated><id>https://paulodowd.github.io/2026/04/15/Introducing_An_Academic</id><content type="html" xml:base="https://paulodowd.github.io/2026/04/15/Introducing_An_Academic/"><![CDATA[<p>As a first post I thought I’d try to write something of an introduction.  My plan with this blog is to post informal, casual updates about what I do as an academic. I feel like what it means to be an academic is extremely varied.  I really love my job, but it is very difficult to describe what I do.  I can also see that in many ways I am lucky and privaledged.  I’ve been working in higher education for something like 15 years, it has been quite a journey.</p>

<p>It seems to me that a lot can come from simply being in the right place at the right time. This can happen unknowingly, and we can also try our best to get ourselves into fortuitous circumstances. Another perspective in this post is that, we can also help to make fortuitous circumstances for others.  I feel like a major constraint in life can simply be, through no fault of our own, not knowing what is possible (a “perceptual horizon”).  So hopefully, by posting the more informal parts of my working life, it might help others to build up a picture of what is possible. One of the greatest blessings in life is to have choice, and this is facilitated by an awareness of possibilities.</p>

<h2 id="what-is-it-like-being-an-academic">What is it like being an academic?</h2>

<p>This is a very difficult question to answer concisely.  The best starting place, in my experience, is that there is not a single clear line-management structure or hierarchy, and that everyone has multiple roles and responsibilities.  This has a huge impact on what it feels like to work in academia.  It can feel bewildering, chaotic, but also vibrant and meaningful.</p>

<p>To give an example, I am currently a Senior Lecturer (a “middle” career position), but I also hold the role of School Education Director (I like to think, top of the school, bottom of the faculty).  This means that within a single day, I will be talking both up and down the hierarchy, depending on the context of the work I am doing.  I can have authority as the school education director whilst talking with someone who is otherwise very much my superior.  It means that it cannot be taken for granted that someone is “my boss”. Sometimes my students are older than me or arrive with more experience. I find it is an environment that often defies categorisation, or else assumptions can make a fool of you.</p>

<p>In a similar way, what it means to be an academic varies depending on subject matter, on research interests, contract types, and so on.  Working at the University of Bristol, I am on a “pathway 3” contract - this places an emphasis on teaching and scholarship of learning.  On paper, I am expected to invest 2 days a week to teaching, 2 days a week to administration, and 1 day a week to research.  In reality, every week is different, and sometimes research is teaching, or teaching informs research, etc.  I find that being an academic has a lot to do with figuring out which work to do, in which context, when and how.  In this way, being an academic has the potential to be a self-defined job.</p>

<p>I think I had typical experiences of early career academia.  I had short, fixed-term contracts, where I struggled with a feeling of needing to demonstrate my value to secure my next contract.  I felt like I couldn’t say no to work.  To me, it made the whole academic system feel exploitative. I worked tenaciously under a feeling of immense pressure.  At the end of my first post-doc position I was given the feedback “you did amazing work, but the wrong work”.  I felt like I had gone out of my way to support the research group, following the requests of line management - but I feel I learnt a more important lesson about academia.</p>

<p>What I hadn’t realised was that academia can be considered a very entrepreneurial environment.  It is not enough to “do as you’re told”, a work ethic I had inherited.  In academia there is essentially an infinite amount of work, everything is subject to change.  Research is pushing at the frontier, there is always more to do.  And the wider cultural environment is always evolving, forcing education practices to require revising and updating.  The only way to attempt to stay on top of things is to look for new resources and processes.  It’s not really possible for one person to dutifully take it all on - we have to adopt a type of continual growth model.  I don’t think academia is a place for a hero (as in, solipsistic heroic effort), it’s all about community.</p>

<p>It is definitely the case that academia is a very exploitable environment and I have no doubt that (sadly) there are unhealthy occurences.  I can see we also do our best to be proactive and safe-guard against this.  The more positive picture is the growth model.  I came to regard that quite brutal feedback to mean that when work comes our way, the most useful first thought is to ask how this work can itself be used to help grow our factors of production - this means people, resources, tools, capacity, and so on.  If the work is necessary, it can be used as the supporting argument for more resource.  For example, it wasn’t obvious to me that it is possible to write a bid to the faculty for money to employ someone - that’s a part of the academic game.  Trying to take it all on myself was a very naive mistake.  It wasn’t obvious to me that asking for more was possible.</p>

<p>In my opinion, this is the aspect of academia which is most risky and builds a negative reputation.  There is always more work to do, and it can feel like a key skill is to simply delegate the work down the chain, confering a clear and unfair advantage to anyone well established.  Eventually, there are early career academics or PhD students who may not feel able to say no, or even anyone with a honest sense of duty.  Clearly, this would be unfair and unreasonable.  The healthier approach to “always more work” is to instead promote and create well resourced opportunities.  Each piece of work, if well supported, is an opportunity for growth and progression.  If we can keep growing, then the work can be distributed more fairly and reasonably.  If the work is necessary, then it should be properly resourced.</p>

<p>There are clear problems with this view of academia if it is taken as a static/fixed statement.  It can be viewed as a highly competitive environment, which could exclude certain personality types or characteristics.  Even the premise of receiving delegated work, and transforming this into a negotiation or proposition on resource, will be a challenge for certain individuals.  I count myself as among them.  But I can also see that for myself, it has been a journey of personal development.  I feel as though I’ve learnt some positive, healthy adaptations - and I can see I have far more successful colleauges in this area - that’s ok.  With a more dynamic view of academia, I think we can actually find ways to support and include everyone, from all types of backgrounds and dispositions, as they make their way on a journey.</p>

<p>I realise this is a very idealistic perspective, it may chafe, and if taken to it’s extremes it is simply not sustainable.  It is definitely challenging in today’s UK economic environment.  However, it is a positive, aspirational view, and it feels like my current experience as an academic.  Of course, work for it’s own sake needs clearing away.  But as an academic, my experience continues to be that there is an overwhelming, often bewildering amount of necessary work to do.  I find it is much more comfortable, meaningful and manageable to not be intimidated by this - to instead look at it through a lens of leverage to collectively help everyone to grow and achieve success.</p>

<p>I find that this general concept occurs for me even at my immediate, local and personal experiences as an academic.  A core part of my current experience as an academic is that I have an unparalleled degree of freedom and autonomy, as long as I operate within the institutions policy and regulations.  On a day to day basis, I really do have the freedom to decide what I will work on and how - although, within that climate of too much to do.  Sometimes, this is a source of stress.  But most of the time it is a source of joy and fulfilment for me.</p>

<p>For example, when I am spending time preparing for teaching, I am really thinking about what I can provide that will maximise potential and opportunity for growth.  As a teacher, I feel much more like an entrepreneurial facilitator.  Teaching doesn’t have to be a “heroic burden” of providing one-way instruction to students - it can be a collaborative, community environment.  I enjoy interacting with my students, hearing about their experiences.  For me, this simple reframing makes the work enjoyable because of the prospect of very enriching, positive outcomes on the horizon.  It becomes exciting to do.  So my experience as a teaching-academic, is that I have been given the space and freedom to shape the experience of learning, and in the end multiply our efforts (staff and students).</p>

<h2 id="closing-thoughts">Closing Thoughts</h2>

<p>I realise that so far, I’ve only written very broadly about “being an academic”, and then very specifically about teaching.  I am engaged in many other different activities in my day-to-day.  I am also research-active in robotics, although I feel a little unusual in that I progress my research slowly.  Recently becoming the school education director has felt like an entirely new experience for me of being highly visible in leadership position.  It feels like there is a crazy range of contexts I am working in - so I hope that overtime these will get their representation in the blog posts I publish.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[As a first post I thought I’d try to write something of an introduction. My plan with this blog is to post informal, casual updates about what I do as an academic. I feel like what it means to be an academic is extremely varied. I really love my job, but it is very difficult to describe what I do. I can also see that in many ways I am lucky and privaledged. I’ve been working in higher education for something like 15 years, it has been quite a journey.]]></summary></entry></feed>