Hello.  👋
I'm Bernard.

Embedded Software Engineer

About

Heyo. I'm Bernard. Currently on the video engineering team at Apple. I'm especially interested in exploring embedded devices. Computer security is also pretty rad.

When I'm not working or sleeping, you can find me at indie concerts, trying to complete Celeste on the Nintendo Switch, adventuring outdoors, or slacklining wherever I can find two trees and some grass. I also really enjoy geocaching, bowling, and playing pool!

UC Berkeley B.S. in electrical engineering and computer sciences (EECS).

>> View relevant coursework

  • Embedded Systems (EECS 149)
  • Digital Design and Integrated Circuits, FPGA (EECS 151)
  • Operating Systems (CS 162)
  • Computer Architecture (CS 152)
  • Computer Security (CS 161)
  • Signals and Systems (EE 120)
  • Robotics (EECS 106A)
  • Programming Languages and Compilers (CS 164)
  • Algorithms and CS Theory (CS 170)
  • Social Implications of Computer Technology (CS 195)
  • Discrete Math and Probability Theory (CS 70)
  • Machine Structures (CS 61C)
  • Data Structures (CS 61B)
  • Structure and Interpretation of Computer Programs (CS 61A)
  • Information Devices and Systems I/II (EE 16A/EE 16B)

Work

Apple

Embedded Systems Engineer

Video Engineering.

Apple

Embedded Software Engineering Intern (System Debug Team)

Supported debug efforts for HW, SoC, and SW system issues across Apple products in low level bootloader/driver/firmware/OS environments.

SoundHound

Embedded Software Engineering Intern

Integrated Houndify voice AI and wake phrase detection with Nanoleaf Light panels and profiled real-time wake phrase detection software.

More about my experience at SoundHound

Levyx

Software Engineering Intern

Helped develop Radon, a large-scale distributed key-value store for low latency operations, and wrote CLI tools for monitoring datasets and performance testing. Also worked on the Java wrapper for the Radon/Helium APIs.

Projects

Bike.ai

Non-intrusive bicycle brake and turn lighting, 'blind-spot' detection, customizable and configurable iOS application. Built with nRF52 microcontroller and 'Berkeley Buckler' development board. Responsible for Bluetooth Low Energy (BLE) components including BLE buttons and turn signals and BLE client nRF code for iOS app.

RISC-V core on FPGA w/ 3D convolution accelerator

Three-stage pipelined RISC-V CPU clocked to a maximum of 111 MHz. Additional support for a hardware accelerator (max 77 MHz) to speed up inference execution of a small Convolutional Neural Network (CNN) among other I/O capabilities such as DMA memory communication, UART, and cycle/instruction counters. Built on Xilinx PYNQ-Z1 development board.

Reach out for the full writeup and Verilog

Switchero

A hybrid puzzle-platformer game created with GDScript in Godot Engine in a month. Built for GitHub GameOff 2018. Implements unique game mechanics such as "dimension switching," wall jumps, dashes, and other stage hazards.

Malaria Diagnostic Device

Armani Research Lab, Viterbi School of Engineering
University of Southern California, Prof. Andrea M. Armani

A novel malaria diagnostic device using magneto-optical spectroscopy. I conducted proof-of-concept experiments in different solutions with magnetic nanoparticles, simulating early-stage malaria, and analyzed light transmission data.