luc@lucheaton.com

Luc Heaton

Programmer

I'm a developer of many things, and I enjoy bringing ideas to life.

This might mean programming the functionality of a microcontroller,
repairing a problematic device, creating a desktop or mobile application,
or building a website (like this one).

During my further education I studied:

Computer Science

Physics

Digital Illustration

Some languages I work with:

Embedded C

C#

HTML & CSS

French

The embedded devices I work on:

ATtiny series

ESP32

STM32

Some communication protocols I use:

SPI

I2C

UART

.experience

I learn from the projects that I work on everyday, which are nearly all listed here
Although I have or continue to work for:

Designing and programming performant code to control the functionality of various microcontrollers. Like the ESP32 or ATtiny.

Interfacing with modules such as a six-axis motion tracking device over I2C.

Producing GUIs for products that incorporate a display using serial communication.

Discussing features and ideas on a daily-basis and adapting to changes in design to meet customer requirements.

2019 - Present

Gained a new perspective of troubleshooting through working alongside the support team.

Retained valuable technical knowledge improving my ability to diagnose software and hardware faults with computers and portable devices.

Interaction at the front desk with new or returning customers, taking notes of issues, and offering feedback.

Acquired a great insight into web development through discussions with other employees.

2017 - 2018

.portfolio

Some projects I'd like to give attention to:

Featured Project

CIO2 VU Meter

With my understanding of the ATtinys registers, I developed a solution that combined a ground referenced signal presented within its ADC registers to generate a 10-bit resolution result. Which represents an analogue dB value, then displayed via the VU Meter of the CiO² product from Hive Industries through Charlieplexed LEDs.

C/C++ AVR 03/07/2019

Featured Project

Terminal Mastermind

My recreation of Fallout 4's hacking minigame for mobile, which can be found on the Google Play store!

Find the correct password within each terminal displayed, using your skills in deduction and a little bit of luck!

More information about this project, as well as others, can be found here

C# Unity 15/09/2021

Featured Project

Text-based Scrabble

An ASCII recreation of the board game Scrabble developed for my A-Level Computer Science coursework.

Including: Premium scoring cells, Horizontal and vertical placement, Blank tiles, A dictionary validation check around the letter(s) placement, Multi-word scoring, and more.

Python 16/12/2018

Featured Project

Munchman repair

My dad's original Grandstand Munchman hasn't powered up for the last few decades. Over the years, I've made small attempts to find the cause with no luck.

But every year, I have picked up new fragments of knowledge in troubleshooting electronics and was finally able to identify a single NPN transistor that wasn't meeting the datasheet's specification and needed replacement.

Finally bringing Munchman to life, once again

Electronics 30/12/2021

Other projects

AutoTagger

Often times a track name is correctly listed within the filename of the song, but not within the file's metadata. I built a Python script to fix this.

It cycles through audio files within a local directory gathering artist(s) names and comparing them against an ever-growing txt file of artists. To correctly capitalize the name (as often they have slight differences which break media player albums), which is then applied to the ID3 tags along with the song name, for clear track formatting when using media players

Python 09/07/2019

WiFi Air mouse

Wanting to combine the remote connectivity of the ESP32 with the accurate readings of the MPU6050 that I had managed. I built a C++ library for the ESP32 that talked to the sensor over I2C then packaged the modified axis data to be sent over WiFi to a receiver, handling mouse movement.

C/C++ 15/08/2022

NodeJS UDP

I began looking into the UDP protocol and learning how to program with NodeJs, so I could send and receive small amounts of data between local and remote servers, and confirm data packets with Wireshark

NodeJS 20/02/2020

View all my projects