Hello, I'm an embedded systems engineer who loves to build robust, highly readable, and maintainable firmware for embedded devices. I've been working on embedded systems for 7+ years now. Also, I've been working remotely for the last 3 years now, and I LOVE IT ๐
- 2022-now. Working on a Low-Earth Orbit Satellite system to provide 24/7 IoT connectivity anywhere in the world.
- 2020-2022. Built tracker device to track heavy machinery such as excavators, and super big trucks. Developed firmware to run the devices 24/7 for years.
- 2019-2020. Built tracker device for humans. Using Bluetooth technology to track human movement (indoor) and presence.
- 2018-2019. Built a self-checkout machine for the biggest e-commerce startup in Indonesia.
- 2016-2018. Built the tiniest smartcard reader that can be attached to Android smartphones.
Firmware Architecture Design
. A very important step that many engineers missed. Without proper architecture design, your firmware will be destined to be super-hard to maintain and add features.Firmware Documentation
. Without proper documentation, people will waste time to understand and follow your firmware.Firmware Testing
. I love and use Test-Driven Development in my day-to-day work.Testing Automation
. Usually I use CI/CD to deliver fast and good firmware without breaking existing code.Programming Language
. I'm fluent in speaking embedded C and C++ (especially the modern version like C++11, C++17, and C++20). Also able to speak Python and C#.
- Wired Protocols
- SPI
- I2C
- UART/USART
- CXPI (fancy cutting-edge wired protocol for automotive, used by Toyota)
- CAN bus
- USB
- Ethernet
- I2S (Audio)
- Wireless Protocols
- WiFi
- Bluetooth Classic
- Bluetooth Low Power (BLE)
- LoRaWAN
- NB-IoT
- GSM/LTE
- Visible-Light Communication (or VLC, I implemented it for my thesis back in the university)
- NFC/RFID
- Network Protocols
- TCP/IP
- UDP/IP
- Security & Integrity
- CRC32
- MD5
- AES
- Development Board bring-up
- Embedded Linux (still learning, mainly use Yocto)
- Embedded library development
- RTOS
- FreeRTOS
- Zephyr
- Microcontroller
- ESP32 (dual core MCU + WiFi and Bluetooth)
- ESP8266 (single core MCU + WiFi from Espressif)
- STM32 L0, L1, L4, F1 series
- AVR MCU
- Texas Instrument CCxxxx series
- Hardware Development
- Schematic Design
- PCB design (still learning! I use KiCad)
- Board assembly
- Board testing
- Power Profiling (to achieve low power, thus extending battery life)
- Electronic Equipment I Own
- 4-channel Oscilloscope
- Nice multimeter
- Logic Analyzer
- LinkedIn. DM is always open!