-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
576 lines (472 loc) · 21.4 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
<!DOCTYPE html>
<html lang="en">
<head>
<!-- basic -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- mobile metas -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
<!-- site metas -->
<title>Leonard Chiang</title>
<meta name="keywords" content="">
<meta name="description" content="">
<meta name="author" content="">
<!-- style css -->
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap" rel="stylesheet">
</head>
<body>
<!-- section banner start -->
<div class="title_section_main">
<h1><strong>Leonard Chiang | Projects</strong></h1>
<h4><a href="https://www.linkedin.com/in/leonard-chiang/"><img class="in_icon" src="images/linkedin-icon.png"> linkedin.com/in/leonard-chiang</a></h4>
</div>
<h2 class="nav_banner">
<a href="#about-me" class="int-link">About Me</a> | <a href="#current" class="int-link">Current</a> | <a href="#past" class="int-link">Past</a> | <a href="#personal" class="int-link">Personal</a> | <a href="#education" class="int-link">My Education</a>
</h2>
<h1 class="title_section" id="about-me"><strong>About Me</strong></h1>
<div class="header_section">
<div class="container">
<p class="norm_text"> Hi, I'm Leonard, a Final Year Student at the University of New South Wales, currently pursuing a double degree of Mechatronics Engineering/Computer Science.</p>
<p class="norm_text"> I'm currently an Embedded Systems Engineer with Sunswift Racing, UNSW's Solar Car Project.</p>
</div>
</div>
<!-- section banner end -->
<h1 class="title_section" id="current"><strong>Current Projects</strong></h1>
<!-- section about start -->
<div class="exp_section">
<div class="about_text">
<div class="container">
<h1 class="about_taital_1"><strong>Embedded Software Engineer |<span style="color: dimgray;"> Sunswift Racing</span></strong></h1>
<div class="section_image">
<div class="mySlides_sun">
<div class="numbertext">1 / 4</div>
<img src="images/sunswift1.jpg" alt="Photo of me with the car at Uluru" style="width:100%">
</div>
<div class="mySlides_sun">
<div class="numbertext">2 / 4</div>
<img src="images/sunswift2.jpg" alt="Photo of me in the car" style="width:100%">
</div>
<div class="mySlides_sun">
<div class="numbertext">3 / 4</div>
<img src="images/sunswift3.jpg" alt="Sunswift VII with all doors open" style="width:100%">
</div>
<div class="mySlides_sun">
<div class="numbertext">4 / 4</div>
<img src="images/sunswift4.jpg" alt="Sunswift Embedded Systems" style="width:100%">
</div>
<!-- Next and previous buttons -->
<a class="prev" onclick="plusSlides_sun(-1)">❮</a>
<a class="next" onclick="plusSlides_sun(1)">❯</a>
</div>
<p class="magna_text">Embedded Systems Architect in UNSW Engineering's Solar Car Project, Sunswift Racing.</p>
<ul class="magna_text">
<li>Secured 1st place in the 2023 Bridgestone World Solar Challenge, dominating the Cruiser Class in the 3000km solar car endurance race from Darwin to Adelaide</li>
<li>Led the network design, layout, implementation and testing of a completely custom CAN-based in-vehicle embedded system</li>
<li>Researched and implemented CI/CD over-the-air updates for microcontrollers as an undergraduate thesis topic, using AWS CodeBuild, Docker, a custom bootloader and custom software written for ROS2 in C++ to streamline the development process</li>
<li>Developed onboard software in Embedded C using the mbed-os RTOS and STM32 HAL embedded system library for custom PCBs, as well as in C++ using the ROS2 framework</li>
<li>Established embedded system development and testing workflows through a layered embedded software stack implementation as well as integration of DevOps and mbed-os into the workflow</li>
<li>Trained new team members in the use of mbed-os and embedded systems development within Sunswift</li>
<li>Contributed to the open-source RTOS mbed-os, supporting more clock source frequencies for the STM32G4</li>
<li>Collaborated closely with hardware engineers to formulate design requirements, manufacture and implement embedded devices through the use of Altium 365 software</li>
<li>Performing electrical tasks such as crimping connectors & cables, wiring systems together, probing with a multimeter or reading digital signals on an oscilloscope for testing</li>
</ul>
<div class="about_bt">
<button class="more_bt"><a href="https://www.sunswift.com/">About Sunswift</a></button>
</div>
<div class="about_bt">
<button class="more_bt"><a href="https://www.facebook.com/UNSWSunswift/"><img class="in_icon" src="images/fb-icon.png"> Sunswift Racing</a></button>
</div>
</div>
</div>
<div class="about">
<h1 class="numbar_text">Since 2021</h1>
</div>
</div>
<h1 class="title_section" id="past"><strong>Past Projects</strong></h1>
<div class="exp_section">
<div class="about_text">
<div class="container">
<h1 class="about_taital_1"><strong>Projects Director |<span style="color: dimgray;"> UNSW Mechatronics Society</span></strong></h1>
<div class="section_image">
<div class="mySlides">
<div class="numbertext">1 / 5</div>
<img src="images/mtrnsoc_ws2.jpg" alt="Sumobots Workshop" style="width:100%">
</div>
<div class="mySlides">
<div class="numbertext">2 / 5</div>
<img src="images/mtrnsoc_ws.jpg" alt="Sumobots Workshop 2" style="width:100%">
</div>
<div class="mySlides">
<div class="numbertext">3 / 5</div>
<img src="images/mtrnsoc_bot0.jpg" alt="Promotional Bot Build" style="width:100%">
</div>
<div class="mySlides">
<div class="numbertext">4 / 5</div>
<img src="images/mtrnsoc_bot.jpg" alt="Promotional Bot" style="width:100%">
</div>
<div class="mySlides">
<div class="numbertext">5 / 5</div>
<video autoplay loop muted style="width:100%">
<source src="images/mtrnsoc_bot.mp4" type="video/mp4">
</video>
</div>
<!-- Next and previous buttons -->
<a class="prev" onclick="plusSlides(-1)">❮</a>
<a class="next" onclick="plusSlides(1)">❯</a>
</div>
<p class="magna_text">Director of Technical Events, Competitions and Projects for UNSW Mechatronics Society.</p>
<ul class="magna_text">
<li>Led a 9+ member event organization team, involving running weekly meetings</li>
<li>Organised the UNSW Sumobots Competition, a large-scale educational competition for engineering students, with over 150+ participants over 8 weeks and a budget of $8,500+</li>
<li>Designed workshops to teach participants about Arduino, Motor Control, Programming, Laser Cutting and more</li>
<li>Ran a week-long hackathon involving technical and soft-skills workshops</li>
<li>Designed and Manufactured a small two-wheeled robot for event promotion</li>
<li>Liaised with directors from within the society and other societies to ensure smooth event running</li>
<li>Led a team of 3 subcommittee members</li>
</ul>
<div class="about_bt">
<button class="more_bt"><a href="https://www.unswmtrnsoc.org/">About MTRNSoc</a></button>
</div>
<div class="about_bt">
<button class="more_bt"><a href="https://www.facebook.com/UNSWMTRNSoc/"><img class="in_icon" src="images/fb-icon.png"> Mechatronics Society</a></button>
</div>
</div>
</div>
<div class="about">
<h1 class="numbar_text">2021-2022</h1>
</div>
</div>
<h1 class="section_break"></h1>
<div class="exp_section">
<div class="about_text">
<div class="container">
<h1 class="about_taital_1"><strong>Software Team Member |<span style="color: dimgray;"> UNSW Illuminate</span></strong></h1>
<div class="section_image">
<img src="images/illuminate.jpg" alt="Un[contained] 2022" style="width:100%">
</div>
<p class="magna_text">Software Team Member for UNSW Illuminate, a student society combining the creativity of art and the innovation of engineering to demonstrate the magic of art meeting technology through light.</p>
<ul class="magna_text">
<li>Developed software to run the art installation at Georges River Council Un[contained] Arts Festival for 2022</li>
<li>Collaborated with other departments in a multi-disciplinary team</li>
</ul>
<div class="about_bt">
<button class="more_bt"><a href="https://unswilluminate.com/"> About UNSW Illuminate</a></button>
</div>
</div>
</div>
<div class="about">
<h1 class="numbar_text">2021-2022</h1>
</div>
</div>
<h1 class="section_break"></h1>
<div class="exp_section">
<div class="about_text">
<div class="container">
<h1 class="about_taital_1"><strong>Graphics Lead/Manufacturing Engineer |<span style="color: dimgray;"> Blaze Racing - F1 In Schools STEM Challenge™</span></strong></h1>
<div class="section_image">
<div class="mySlides2">
<div class="numbertext">1 / 5</div>
<img src="images/blaze.jpg" alt="Blaze Racing Pit Display" style="width:100%">
</div>
<div class="mySlides2">
<div class="numbertext">2 / 5</div>
<img src="images/blaze2.jpg" alt="Blaze Racing Car" style="width:100%">
</div>
<div class="mySlides2">
<div class="numbertext">3 / 5</div>
<video autoplay loop muted style="width:100%">
<source src="images/blaze3.mp4" type="video/mp4">
</video>
</div>
<div class="mySlides2">
<div class="numbertext">4 / 5</div>
<video autoplay loop muted style="width:100%">
<source src="images/blaze4.mp4" type="video/mp4">
</video>
</div>
<div class="mySlides2">
<div class="numbertext">5 / 5</div>
<img src="images/blaze5.JPG" alt="National Finals Awards" style="width:100%">
</div>
<!-- Next and previous buttons -->
<a class="prev" onclick="plusSlides2(-1)">❮</a>
<a class="next" onclick="plusSlides2(1)">❯</a>
</div>
<p class="magna_text">Participated in the world’s largest student competition for Science, Technology, Engineering, and Maths. Competed at the 2018 Australian National Finals.</p>
<ul class="magna_text">
<li>Designed and Manufactured a miniature F1 car including operation of a three-axis CNC milling machine and 3D printers </li>
<li>Designed and constructed a trade booth, produced marketing material, and developed a low-cost Virtual Reality experience</li>
<li>Managed sponsor relations involving SIGNWAVE Australia, Celestino, Dassault Systemes, and WSU through regular progress updates, use of sponsor logos on marketing material, social media exposure of sponsors, donation of a team race car, and the design and presentation of certificates to sponsors</li>
<li>Managed $8,000+ of finances</li>
<li>Effectively communicated ideas to multiple judging panels through oral presentations alongside visual aids, physical models, and technical drawings</li>
<li>Collaborated with other members of the 5-member team to complete tasks</li>
</ul>
<div class="about_bt">
<button class="more_bt"><a href="https://rea.org.au/f1-in-schools/">About F1 In Schools</a></button>
</div>
<div class="about_bt">
<button class="more_bt"><a href="https://www.facebook.com/ghsblazeracing"><img class="in_icon" src="images/fb-icon.png"> Blaze Racing</a></button>
</div>
</div>
</div>
<div class="about">
<h1 class="numbar_text">2017-18</h1>
</div>
</div>
<!-- section about end -->
<h1 class="title_section" id="personal"><strong>Personal Projects</strong></h1>
<div class="exp_section">
<div class="about_text">
<div class="container">
<h1 class="about_taital_1"><strong style="color: dimgray;">Refractor Telescope</strong></h1>
<div class="section_image">
<div class="mySlides3">
<div class="numbertext">1 / 5</div>
<img src="images/tele1.jpg" alt="Telescope" style="width:100%">
</div>
<div class="mySlides3">
<div class="numbertext">2 / 5</div>
<img src="images/tele2.jpg" alt="Rack and Pinion Focuser" style="width:100%">
<div class="caption-container">
<p id="caption">Rack and Pinion Focuser Module</p>
</div>
</div>
<div class="mySlides3">
<div class="numbertext">3 / 5</div>
<img src="images/tele3.jpg" alt="Screw Focuser" style="width:100%">
<div class="caption-container">
<p id="caption">Screw Focuser Module</p>
</div>
</div>
<div class="mySlides3">
<div class="numbertext">4 / 5</div>
<img src="images/tele4.jpg" alt="Moon" style="width:100%">
<div class="caption-container">
<p id="caption">A shot of the Moon using the telescope</p>
</div>
</div>
<div class="mySlides3">
<div class="numbertext">5 / 5</div>
<img src="images/tele5.jpg" alt="Saturn" style="width:100%">
<div class="caption-container">
<p id="caption">A shot of Saturn using the telescope</p>
</div>
</div>
<!-- Next and previous buttons -->
<a class="prev" onclick="plusSlides3(-1)">❮</a>
<a class="next" onclick="plusSlides3(1)">❯</a>
</div>
<p class="magna_text">Built a Refractor Telescope from scratch.
The whole telescope body was designed in SOLIDWORKS and 3D printed, except for the tube itself,
the lens, and the eyepiece.</p>
<p class="magna_text">Designed to be modular, where various sections of the telescope can be screwed in or out. For example, there are two focuser designs that both screw into the telescope: A screw focuser for higher precision, and a more standard rack and pinion design. A DSLR Camera adapter can also be attached.</p>
</div>
</div>
</div>
<h1 class="section_break"></h1>
<div class="exp_section">
<div class="about_text">
<div class="container">
<h1 class="about_taital_1"><strong style="color: dimgray;">Infrared LED Tracking Clip</strong></h1>
<div class="section_image">
<div class="mySlides4">
<div class="numbertext">1 / 5</div>
<img src="images/irclip0.jpg" alt="Infrared LED Clip" style="width:100%">
</div>
<div class="mySlides4">
<div class="numbertext">2 / 5</div>
<img src="images/irclip1.jpg" alt="Infrared LED Clip v1" style="width:100%">
</div>
<div class="mySlides4">
<div class="numbertext">3 / 5</div>
<img src="images/irclip2.jpg" alt="Infrared LED Clip On" style="width:100%">
</div>
<div class="mySlides4">
<div class="numbertext">4 / 5</div>
<img src="images/irclip3.jpg" alt="Custom Designed PCB" style="width:100%">
<div class="caption-container">
<p id="caption">PCB Design</p>
</div>
</div>
<div class="mySlides4">
<div class="numbertext">5 / 5</div>
<img src="images/irclip4.jpg" alt="Design Iterations" style="width:100%">
<div class="caption-container">
<p id="caption">Different design iterations</p>
</div>
</div>
<!-- Next and previous buttons -->
<a class="prev" onclick="plusSlides4(-1)">❮</a>
<a class="next" onclick="plusSlides4(1)">❯</a>
</div>
<p class="magna_text">Constructed Infrared LED tracking clips, which attach to headphones to track a user's head movements via a webcam.
The clip body was designed in Autodesk Inventor and 3D printed, with over 10 design iterations. The device is powered via a USB cable, with the internal circuitry being implemented with a very basic, custom designed PCB.</p>
</div>
</div>
</div>
<h1 class="section_break"></h1>
<div class="exp_section">
<div class="about_text">
<div class="container">
<h1 class="about_taital_1"><strong style="color: dimgray;">Sydney Trains Waratah B-Set Scale Model</strong></h1>
<div class="section_image">
<div class="mySlides5">
<div class="numbertextB">1 / 3</div>
<img src="images/waratah1.JPG" alt="Waratah Scale Model" style="width:100%">
</div>
<div class="mySlides5">
<div class="numbertextB">2 / 3</div>
<img src="images/waratah2.JPG" alt="Waratah Scale Model Rear" style="width:100%">
</div>
<div class="mySlides5">
<div class="numbertextB">3 / 3</div>
<img src="images/waratah3.jpg" alt="Scale CAD Model" style="width:100%">
</div>
<!-- Next and previous buttons -->
<a class="prevB" onclick="plusSlides5(-1)">❮</a>
<a class="nextB" onclick="plusSlides5(1)">❯</a>
</div>
<p class="magna_text">Modelled a 1:50 Scale Sydney Trains Waratah B-Set Driver Carriage in SOLIDWORKS.
The CAD model was then split into four sections, 3D printed, assembled and painted.
</p>
</div>
</div>
</div>
<!-- section get in touch end -->
<h1 class="title_section" id="education"><strong>Education</strong></h1>
<div class="exp_section">
<div class="about_text">
<div class="container">
<img class="unsw" src="images/unsw.png" alt="UNSW">
<h2>Bachelor Of Engineering (Honours) - Mechatronics</h2>
<h2>Bachelor Of Science - Computer Science</h2>
<h3>High Distinction Average</h3>
<h3>Dean's Honour List - Highly Commended (2020, 2021, 2022)</h3>
</div>
</div>
<div class="about">
<h1 class="numbar_text">2020-24</h1>
</div>
</div>
<h1 class="section_break"></h1>
<!-- section footer start -->
<div class="section_footer">
<div class="copyright">© 2024 Leonard Chiang</div>
</div>
<!-- section footer end -->
<!-- Javascript files-->
<script>
var slideIndex = 1;
showSlides(slideIndex);
// Next/previous controls
function plusSlides(n) {
showSlides(slideIndex += n);
}
function showSlides(n) {
var i;
var slides = document.getElementsByClassName("mySlides");
if (n > slides.length) {slideIndex = 1}
if (n < 1) {slideIndex = slides.length}
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slides[slideIndex-1].style.display = "block";
}
</script>
<script>
var slideIndex2 = 1;
showSlides2(slideIndex2);
// Next/previous controls
function plusSlides2(n) {
showSlides2(slideIndex2 += n);
}
function showSlides2(n) {
var i;
var slides2 = document.getElementsByClassName("mySlides2");
if (n > slides2.length) {slideIndex2 = 1}
if (n < 1) {slideIndex2 = slides2.length}
for (i = 0; i < slides2.length; i++) {
slides2[i].style.display = "none";
}
slides2[slideIndex2-1].style.display = "block";
}
</script>
<script>
var slideIndex3 = 1;
showSlides3(slideIndex3);
// Next/previous controls
function plusSlides3(n) {
showSlides3(slideIndex3 += n);
}
function showSlides3(n) {
var i;
var slides3 = document.getElementsByClassName("mySlides3");
if (n > slides3.length) {slideIndex3 = 1}
if (n < 1) {slideIndex3 = slides3.length}
for (i = 0; i < slides3.length; i++) {
slides3[i].style.display = "none";
}
slides3[slideIndex3-1].style.display = "block";
}
</script>
<script>
var slideIndex4 = 1;
showSlides4(slideIndex4);
// Next/previous controls
function plusSlides4(n) {
showSlides4(slideIndex4 += n);
}
function showSlides4(n) {
var i;
var slides4 = document.getElementsByClassName("mySlides4");
if (n > slides4.length) {slideIndex4 = 1}
if (n < 1) {slideIndex4 = slides4.length}
for (i = 0; i < slides4.length; i++) {
slides4[i].style.display = "none";
}
slides4[slideIndex4-1].style.display = "block";
}
</script>
<script>
var slideIndex5 = 1;
showSlides5(slideIndex5);
// Next/previous controls
function plusSlides5(n) {
showSlides5(slideIndex5 += n);
}
function showSlides5(n) {
var i;
var slides5 = document.getElementsByClassName("mySlides5");
if (n > slides5.length) {slideIndex5 = 1}
if (n < 1) {slideIndex5 = slides5.length}
for (i = 0; i < slides5.length; i++) {
slides5[i].style.display = "none";
}
slides5[slideIndex5-1].style.display = "block";
}
</script>
<script>
var slideIndex_sun = 1;
showSlides_sun(slideIndex_sun);
// Next/previous controls
function plusSlides_sun(n) {
showSlides_sun(slideIndex_sun += n);
}
function showSlides_sun(n) {
var i;
var slides_sun = document.getElementsByClassName("mySlides_sun");
if (n > slides_sun.length) {slideIndex_sun = 1}
if (n < 1) {slideIndex_sun = slides_sun.length}
for (i = 0; i < slides_sun.length; i++) {
slides_sun[i].style.display = "none";
}
slides_sun[slideIndex_sun-1].style.display = "block";
}
</script>
</body>
</html>