61 lines
3.8 KiB
Markdown
61 lines
3.8 KiB
Markdown
# Hi! I'm Tim Huizinga
|
|
An Applied Physics student with a passion for programming!
|
|
|
|
I have always enjoyed programming as a hobby, and would love to make it my career.
|
|
Since then I have also combined this hobby with the hardware side of things.
|
|
Most recently I have picked up [Rust], and have fallen in love with this programming language.
|
|
|
|
I'm also quite experienced with Linux as I have been daily driving it for the past decade at this point.
|
|
Making me very familiar with the terminal and the different command line tools available.
|
|
And have even been running my own Linux server at home for quite some time now!
|
|
|
|
[Rust]: https://rust-lang.org
|
|
|
|
|
|
## Projects
|
|
### [Z80 Computer](https://git.huizinga.dev/Z80/Z80)
|
|
The first big hardware project that I worked on was building a computer, from the ground up, around the [Z80] microprocessor.
|
|
I had to learn a wide range of skills for this project, including things like learning how to design PCBs, programming in assembly, working with [FPGA]s, and learning to operate an oscilloscope.
|
|
|
|
[Z80]: https://en.wikipedia.org/wiki/Zilog_Z80
|
|
[FPGA]: https://en.wikipeida.org/wiki/Field-programmable_gate_array
|
|
|
|
### [Car Stereo](https://git.huizinga.dev/Dreaded_X/car-stereo)
|
|
My Peugeot 207 only has bluetooth for calling, so I decided it would be fun to build my own bluetooth receiver using the [ESP32] microcontroller.
|
|
The original goal was to just build an audio receiver and hook it up to the aux port in my glovebox.
|
|
However since then I have also connected the [ESP32] to the [CAN bus] of my car, allowing me to use the controls on my steering wheel to control the music.
|
|
|
|
[ESP32]: https://en.wikipedia.org/wiki/ESP32
|
|
[CAN bus]: https://en.wikipedia.org/wiki/CAN_bus
|
|
|
|
### [Home Automation](https://git.huizinga.dev/Dreaded_X/automation_rs)
|
|
I have slowly been converting my house into my very own smart home!
|
|
It all started with a couple of [Philips Hue] light bulbs.
|
|
The Hue app allows for some level of automation but it wasn't quite doing what I wanted.
|
|
So initially I wrote a very simple program in [Go] to add my own automations.
|
|
As I added more smart devices to my house, the program grew massively in scope with things quickly getting hacked in just to make it work.
|
|
Eventually I decided to rewrite the whole thing in [Rust]!
|
|
This was my first real Rust after picking up the language during [Advent of Code] and was (and still is) a great learning experience.
|
|
|
|
[Philips Hue]: https://nl.wikipedia.org/wiki/Philips_Hue
|
|
[Go]: https://go.dev
|
|
[Rust]: https://rust-lang.org
|
|
[Advent of Code]: https://adventofcode.com/
|
|
|
|
### [Pico P1](https://git.huizinga.dev/Dreaded_X/pico_p1)
|
|
This is my most recent project, as I had recently decided to pick up a [Raspberry Pi Pico W] just to play around with.
|
|
I decided to build a device to read out my [DSMR5] based smart meter using it's P1 port and publish the information using [MQTT].
|
|
The main intention of this project is to learn about Rust for embedded devices, which is still a very new ecosystem.
|
|
So far it has been quite a nice experience!
|
|
|
|
[Raspberry Pi Pico W]: https://en.wikipedia.org/wiki/Raspberry_Pi#Raspberry_Pi_Pico
|
|
[DSMR5]: https://www.netbeheernederland.nl/_upload/Files/Slimme_meter_15_a727fce1f1.pdf
|
|
[MQTT]: https://nl.wikipedia.org/wiki/MQTT
|
|
|
|
### [Inventory System](https://git.huizinga.dev/Dreaded_X/inventory)
|
|
As I got more into developing hardware my collection of electronic components also grew and I needed a better way of organizing everything.
|
|
I decided that it was a great opertunity to learn React and to develop the frontend of my very own simple inventory management system.
|
|
The system uses QR codes to link the physical components to their representation in the mangement system, which contains more information on the specific component like for example datasheets.
|
|
It also stores where each of the components is supposed to be stored, which makes it very easy to find components in the future.
|
|
|