Sean Lanigan

Software and Electronics Design Engineer

Who am I?

Hi! I'm Sean.

As an engineer and technology lover, I’m always looking for new challenges. With experience in software and firmware development, Linux server administration, electronics design, and a range of other technologies, I'd love to hear from you if you have an interesting project.

I was born and raised in Melbourne, Australia — but I've recently made a move to Brighton, UK to begin a new adventure. I'm currently working with BP Chargemaster, and they're keeping me pretty busy so I'm not considering new opportunities at this time.

Even when I'm not working, I still like to play around with and learn more about various bits of software and hardware technology. I have a variety of hobby projects that I spend time developing, including my WiLED project and my Markdown DocGen project.



BP Chargemaster

Embedded Software Engineer

October 2019 – Present

At BP Chargemaster I am part of a small but dedicated engineering team who work on maintaining and extending our fleet of over 7,000 Electric Vehicle charging stations. We manage both legacy hardware and firmware, as well as work on developing new iterations of our products.

I code primarily in Python on embedded Linux systems, but also work with bare-metal C applications, and also on hardware and electrical schematic concept design.

Extel Technologies

Design Engineer

September 2017 – August 2019

At Extel I was part of a team of a dozen engineers; covering electrical, mechanical, and software disciplines. My role primarily involved software and firmware development and testing, and also included high-level system design in collaboration with the electrical engineers.

I worked with C on embedded microcontrollers, Python on embedded and desktop Linux, and MicroPython in test jig microcontrollers; on projects including an IoT Power Meter and an X-Ray Scanner.

I also spearheaded the use of GitLab internally at Extel, which replaced separate SVN and Redmine services on new projects — my main motivation being to make it easier for both engineers and managers to see a clearer picture of the work being done, and the remaining tasks and features to be completed. Introducing GitLab then enabled me to configure continuous integration builds of our firmware projects, which helped to improve our development practices by giving fast feedback if there were compilation issues and also enabled us to begin doing test-driven development.

IBM Australia

Software Services Consultant

January 2015 – August 2017

At IBM I primarily worked with Tealeaf, an IBM software tool for capturing and analysing website traffic and usage patterns. All my engagements included detailed technical configuration of Tealeaf, support and troubleshooting, and delivery of tailored customer training and mentoring.

I worked on over a dozen Tealeaf engagements, both remotely and on-site with local and international clients, including on-site travel to China and Vietnam. I pioneered services delivery for the first ever SaaS version of Tealeaf in Australia. The biggest analytics discovery I made resulted in a client remedying $1 million monthly in revenue loss.

I also worked with IBM Marketing tools on a six month secondment with a large telco. In this role, I assisted with the creation and deployment of over 300 online marketing offers, by configuring the software to draw on the available data sources as required by the brief.

Qantas Engineering

Summer Intern

November 2013 – February 2014

I was one of 15 students from around the country to be offered an internship at the Qantas Jet Base in Sydney. I worked for three months with the Qantas Engineering team, between my third and fourth years of uni, primarily on a project to build an electrical load analysis database for tracking electrical components added and removed from aircraft. I also worked on a secondary project to make a user interface to copy aircraft firmware from a Boeing-provided DVD onto a floppy disk, as required by some of the older aircraft systems.


IoT Power Meter

Extel Technologies

This was the largest project I worked on at Extel — the brief was to design an IoT power monitor and controller for an electric utility client. Over about 16 months the project went from prototype to small-run production.

My role on this project was to develop embedded C code for the two MSP430 processors, used for power measurement; as well as Python code and various Linux shell script and configuration files for the Raspberry Pi Compute Module, used for communications. I also helped to develop two test jigs, for hardware testing and calibration of the units coming off the production line.

X-Ray Scanner

Extel Technologies

This is one of the most interesting projects I've worked on — the client was undertaking research into a new kind of x-ray scanning for baggage security checks, and the brief for Extel was to further develop this prototype. The system uses an array of detector cards with FPGAs, which perform initial processing, before sending the data for collation and presentation by an application on a Linux PC.

My role on this project was to develop C++ code for a Qt-based desktop Linux application, which received the data from the detector cards over a TCP stream and assemebled it into an image to be displayed on the monitor.


Personal Project

WiLED is one of my personal projects. Initially aiming to build a simple dimmable LED lamp, I've subsequently expanded my plans to include Wi-Fi and BLE connections. In its current state, the WiLED design retrofits onto an IKEA Hektar lamp stand, transforming a relatively cheap and simple lamp into a smart IoT device.

On this project I have covered a broad range of disciplines, including schematic and PCB design and assembly, 3D CAD modelling and 3D printing, as well as MicroPython firmware development.

Markdown Doc Gen

Personal Project

Markdown DocGen is another of my personal projects, striving to devise a better way of writing corporate documents. After becoming increasingly frustrated trying to collaborate on Word and Writer documents at work, ending up with slightly different formatting depending on who last edited the file, or overwriting other peoples' work on the shared drive, I set out to find a better alternative — one that integrates neatly with proper version control, and produces consistent PDFs no matter who the authors are. My solution was to compose documents in a plain-text Markdown format, and use Pandoc and LaTeX to produce exactingly typeset PDF outputs. The project consists of a desktop client application, which connects to a central server application — the server stores the configuration and styles, and produces consistent output from any connecting client.

On this project I'm working with various separate utilities — the server-side uses a Python program to combine and manage inputs and outputs from Pandoc and LaTeX, running inside a Linux chroot environment from within a Snap package. The client is pure Python, and uses HTTP to communicate with the server. This is very much still a work in progress, but is already usable, and I am continuing to improve it over time.


Monash University

Bachelor of Engineering (with Honours)
Electrical and Computer Systems

GPA: 3.009

February 2011 – November 2014


Programming Languages
  • Python and MicroPython
  • C and C++
  • Bash / shell scripts
  • JavaScript
  • HTML
  • CSS and SCSS
Software and Workflow
  • Git
  • SVN
  • PyTest
  • Google Test
  • Buildroot
  • Docker
  • GitLab CI
  • Jenkins
  • KiCad
  • FreeCAD
  • Wireshark
  • Snapcraft
  • 3D printing
  • Soldering
  • Breadboarding and prototyping


When I'm not behind the keyboard, I enjoy spending summertimes at the beach, occasionally skiing in the winter, reading, playing video games, and playing social basketball.

I love experiencing new cultures, eating interesting food, and seeing different sights — and while I'm doing it I enjoy taking photos of it all. When I get time I play around editing them in Darktable.