Code Monkey home page Code Monkey logo

🇱🇰 Welcome to Asanka's GitHub Profile

I'm a tech nerd and a coding enthusiast

An Embedded Engineer working in the field of Embedded Engineering

✒️ About Me

Asanka is an Embedded Engineer with one year of experience in the industry. Graduate from SLTC Research University, Asanka specializes in Electronics and Telecommunication Engineering. This is fuelled by a passion for all things electronics and experience in firmware development, hardware design and IoT integrations. The experience provides Asanka with a keen sense of managing projects, optimizing hardware designs and writing memory-safe code.


Badges (NOTE: If you see this text, then something must've gone wrong with loading this widget. Please try reloading. If it persist, please contact me.)

Skills: ⚡ Electronic Engineering | 📟 FPGA and HDL | 💿 Firmware Development | 🖥️ Hardware Design | 💾 Scripting

💜 Social Media

💜 Asanka shares interesting things related to electronics, tech and programming on all major social media. Asanka is also keen on sharing his work, not to mention the blog posts he writes. The content doesn't end there, check the links below to take a look.

facebook github instagram twitter linkedin youTube deviant pinterest hashnode blog

Also, drop a quick message, I'll try to reply as soon as possible.

🐾 Github Footprint

🐾 Asanka is passionate about sharing his knowledge with others. As a proponent of open source, he also shares most of his work online for the reference of others. He hopes that others might with the work useful and will do greater things with them. The following metrics are a testament to that effort.

Github Metrics

📈 Github Performance

📈 Asanka does his best to keep a healthy work-life balance. Since he's working full-time as an Embedded Engineer, he sometimes finds it hard to keep all other aspects of his life in balance which sometimes results in a decline in Github activity. However, he does his best to keep this balance and not disrupt the flow.

GitHub stats (NOTE: If you see this text, then something must've gone wrong with loading this widget. Please try reloading. If it persists, please contact me.)

🏆 Github Achievements

🏆 With the free time Asanka has, he always tries to do something valuable for himself and others. The content he uploads to GitHub has allowed him to achieve quite a lot within a very small amount of time. These small achievements make him motivated to continue expanding his skillset and to share more and more with others on the internet. The hope is that he's able to continue this throughout his journey as an engineer. Check out some of the achievements below.

Achievements

🗝️ Key Languages

🗝️ Asanka is interested in a variety of fields. He finds himself comfortable mostly in Embedded Development. However, he's interested in scripting, HDL and creative design as well. On the other hand, he also does reverse engineering, technology research and blogging. Even though not his strong point, he's also capable of working on web development. Go through the following to get a better understanding of his skill set.

💾 C/C++ 🦀 Rust 📟 Assembly 🐍 Python 🔧 Verilog 💻 Visual C# 💲 Bash 🍵 Java
💻 Visual Basic 🐘 PHP 📃 JavaScript 🖌️ CSS 📦 Solidity 🐬 MySQL ➕ Matlab 📚 Latex

Top Languages

💡 Highlight Projects

💡 These are some of the projects that Asanka is proud of. He puts a lot of effort into them since they can improve his knowledge of certain technologies while acting as a starting point for others to build great things. He plans to add more projects to this list and to continue developing these even further.

01. 💻 Eight Bit Computer Using FPGA

This project is trying to recreate the eight-bit computer that Ben Eater created in his famous YouTube series. However, the difference is that here, the intended use is of FPGAs and the Verilog HDL for this task. The goal was to use this as a learning opportunity to sharpen the knowledge in FPGAs and Verilog.

  • Key Technologies - 𓇲 Verilog | 𓇲 HDL
  • Status - 🔄 working
  • Repository - eight_bit_computer

02. 🔐 Muragala Password Manager

The goal of this project is to create a safe yet simple password manager that is easy to use. With this goal in mind, both a Python CLI, a C# library as well and a C# CLI application is created. Working is also currently on the way on a GUI application based on the C# library. These projects will also continue to improve and more functionalities will also be added in the future.

03. 🔥 Prometheus Fire Alarm System

This project was intended to create a next-generation fire alarm system that is both robust and smart. It can successfully detect and even extinguish fires while also giving full control to the operator remotely. The command panel even can manage multiple of these fire alarm modules which gives the building much better safety when it comes to fire hazards. I have even uploaded a demonstration to YouTube that shows the fire alarm system in action.

04. 📩 BitStreamer

BitStreamer is a data streaming software developed for communication engineers to send a bit stream from one COM port and check how many bits can be received back from another COM port. Here, the bitstream from the first COM port can be sent through a communication medium to check the efficiency of the communication medium.

  • Key Technologies - 💿 C++ | 🖥️ Visual C# | ♾️ Arduino
  • Status - ✅ done
  • Repository - BitStreamer

05. 📚 Project Akaradiya

Building a database of Sinhala definitions for an English dictionary using crowd-sourcing. Anyone can create an account using their email. They can later add words to the dictionary, add definitions to the existing words, and vote for the best definition from currently existing definitions that others have added.

  • Key Technologies - ⌨️ JavaScript | 📱 HTML | 🐘 PHP | 🎨 CSS
  • Status - ✅ done
  • Repository - Project-Akaradiya

06. 📌 Indoor Positioning System

The idea of this project is to build a system that uses the existing lights to detect the location of a user within an indoor environment. For this, we can use Visible Light Communication (VLC) technology. The basic concept is to have four LEDs transmitting their IDs one after the other at fixed intervals. The receiver can receive the IDs identify how the intensity differs between each LED and decide its position within an environment.

  • Key Technologies - 𓇲 Verilog | ♾️ Arduino | 🖥️ Visual C#
  • Status - ✅ done (Documenting...)
  • Repository - Position_Detection

07. 🚘 Metroparking

The main problem identified for this project is the inefficiency of parking implementations. Metro parking is a next-level smart parking system that automates the process of reserving, paying and managing parking services in urban parking providers. It is an IoT-based project that uses electronics, and autonomous and cloud technologies to create a fully automated system to handle parking.

  • Key Technologies - ⌨️ JavaScript | 📱 HTML | 🐘 PHP | 🎨 CSS | ♾️ Arduino | 🖥️ Visual C#
  • Status - ✅ done
  • Repository - Metroparking

08. 📡 Bidirectional Transciever

This project was intended to develop a bidirectional transmitter and receiver device that uses Visible Light Communication (VLC) technology to transmit and receive data from one device to another. In its basic form, data is transmitted as pulses of light where on means bit 1 and off means bit 0. This can be paired with more complicated transmitting techniques to build much more accurate and sophisticated data transmission.

09. 🤖 Project Bionic

Project Bionics intends to build a bio-inspired robot that can mimic nature. The design, based on the 3D models shared by KILIC on PCBWay, can mimic the movement of a spider by using servos. The complete system is controlled by a NodeMCU and is powered by a Li-ion battery which makes it portable. The robot can move to the front and back and can rotate to the left and right.

  • Key Technologies - 💿 C/C++
  • Status - ✅ done
  • Repository - Project_Bionic

10. 📒 Stick It!

Stick It! is a basic note-organizing app that can be used to store and pin notes to the screen. Similar to the Microsoft Sticky Notes, this can be used to write simple notes quickly and easily. Unlike Sticky Notes, this supports markdown and also has the functionality to pin the notes on top of other windows.

  • Key Technologies - 🖥️ Visual C#
  • Status - ✅ done (Documenting and Improving...)
  • Repository - Stick It!

11. 🌃 Project Almanac

In this project, the plan was to use a distributed HPC algorithm to enhance timetable scheduling. Since efficiently distributing events across a timetable is an important part of the world to efficiently manage our day-to-day tasks, this project is crucial for the future of efficient timetable allocation. With the use of HPC, we intend to increase efficiency and find the optimal solution to this problem.

  • Key Technologies - 🖥️ Visual C# | 🐍 Python | 🖥️ Beowulf Cluster | 🖥️ High Performance Computing (HPC) | 🤖 Artificial Intelligence
  • Status - 🔄 working
  • Project Website - Project Almanac


Check out my Fiverr

Made with ❤️ in sl Sri Lanka

© 2024, Asanka Sovis

Asanka Akash Sovis's Projects

01.-game-of-life icon 01.-game-of-life

I created the Conway's Game of Life in this code. Conway's Game of Life is called a cellular automaton. It is a zero player game to put it simply. This means that no external inputs are needed to alter the current state of the system. The change is brought forward by the rules themselves. So the next stage of the simulation depends on the previous state.

02.-gravity-simulation icon 02.-gravity-simulation

I created a Gravity Simulation in this code. Almost everything in the real world can be defined mathematically. And if you can define them mathematically, then that means that you can simulate it in a computer too. Gravity is the same. With some simple lines of code, we can create a working simulation of a bouncing ball.

03.-flocking-simulation icon 03.-flocking-simulation

I created a Flocking Simulation in this code. We see birds and bees flocking in nature all the time, but can we create this sort of behaviour on a computer? In this small demonstration, I apply a set of rules to a bunch of triangles so that they behave like a flock of birds... or boids to be precise. This is based on the works done by Craig Reynolds. In it he describes a way to create this kind of a flock of boids in a simulation

04.-phyllotaxis icon 04.-phyllotaxis

I created a Phyllotaxis pattern in this code. In nature, we see a variety of intricate patterns. Phyllotaxy is the arrangement of leaves on a plant stem. This arrangement also follows an intricate yet simple pattern. Examples of these patterns appear in sunflowers, cacti, etc. In this small demonstration, I apply two equations to circles to create an example of these Phyllotaxis patterns. This is based on the equations mentioned in the Algorithmic Botany book, Chapter 04.

05.-mondrian_tiles icon 05.-mondrian_tiles

Piet Mondrian is a Dutch artist who is regarded as one of the greatest artists of the 20th century. Mondrian Tiles come from some of the paintings he did and consist of colourful tiles arranged in a pattern. In this article, we will try to recreate these patterns using an algorithm.

06.-perlin-noise-art icon 06.-perlin-noise-art

Perlin Noise is a form of gradient noise used extensively in visual applications. Developed by Ken Perlin in 1983, the Perlin Noise algorithm creates randomness with a structure. Perlin Noise was initially used in the 1982 movie 'Tron' to generate natural appearing textures on computer-generated surfaces in the animation sequences. In modern days, it is used from simple art generation to terrain generation in video games.

07.-wave-function-collapse icon 07.-wave-function-collapse

Wave Function Collapse is a concept in Quantum Mechanics that states that a wave function reduces to a single eigenstate due to interaction with the external world. Simply speaking, the number of possibilities reduces with the introduction of new information. I got the inspiration for this from a Coding Adventure The Coding Train did recently.

08.-mandelbrot-set icon 08.-mandelbrot-set

The Mandelbrot Set is the set of complex numbers C for which a certain function does not diverge to infinity when iterated from z = 0 . The resulting visual pattern is intricate and will remain unchanged even when you zoom in. Additionally, there exist a modified version called the Julia Set.

10.-floyd-steinberg-dithering icon 10.-floyd-steinberg-dithering

🎨 Floyd-Steinberg Dithering is not just a fancy art style; it also has practical applications in the real world. Introduced by Robert W. Floyd and Louis Steinberg in 1976, as the name implies, dithers the image. This is practically helpful in manipulating images. More colours can be created with a smaller colour palette.

11.-shader-art icon 11.-shader-art

🖥️ Shaders are an integral aspect of current graphics programming and play an important role in computer graphics. They are specialized applications that alter and control the rendering of pictures, movies, and visual effects using graphics processing units (GPUs).

arcticons icon arcticons

A monotone line-based icon pack for android

asankasovis icon asankasovis

👋 This is my Github Profile page. 🤔 Knowing how to code makes you look at the world from a different perspective 🌏. That's why I'm so passionate about coding. Hello World 👋; welcome to my Github profile. I'm still a student and am 23 years of age, so there's a long journey ahead of me 🙆. I like to dream 💬 big and to see other peoples dreams come true. I'm a tech nerd 🐱‍💻 and a coding enthusiast. Hope you might find me amusing.🤩

asankasovis.github.io icon asankasovis.github.io

🕸️ This repo holds the source code of my personal website. The template used is originally uploaded by DevCRUD to www.free-css.com. You are free to copy this source and use it for your own personal website.

beowulf-cluster-setup-tutorial icon beowulf-cluster-setup-tutorial

🖥️ A Beowulf cluster is a type of High-Performance Computing (HPC) cluster that is designed to perform parallel computations on large data sets or complex computational problems. This tutorial explains how to setup and run your first Beowulf cluster.

bidirectional_transmitter icon bidirectional_transmitter

📡 This project was intended to develop a bidirectional transmitter and reciever device that uses Visible Light Communication (VLC) technology to transmit and recieve data from one device to another. In its basic form, data is transmitted as pulses of light where on means bit 1 and off means bit 0.

bitstreamer icon bitstreamer

📩 BitStreamer is a data streaming software developed for communication engineers to send a bit stream from one COM port and check how many bits can be recieved back from another COM port. Here, the bitstream from the first COM port can be sent through a communication medium to check the efficiency of communication medium.

eight_bit_computer icon eight_bit_computer

🎛️ FPGAs are an interesting invention that is expected to revolutionize the digital industry. This series will focus on building the 8-bit computer that Ben Eater built on his youtube channel. However, it will be done not with actual chips and hardware, but with Verilog code and FPGA simulations.

fileconverter icon fileconverter

File Converter is a very simple tool which allows you to convert and compress one or several file(s) using the context menu in windows explorer.

fpga_resource_centre icon fpga_resource_centre

🎛️ The FPGA Resource Centre is built as an opensource hub to share HDL modules that perform common digital functions. It allows easy access to FPGA resources to engineers of all levels from students to experienced developers.

frost icon frost

Icon Pack for Android Devices

ghidra_installer icon ghidra_installer

🐲 Ghidra Installer is a third-party installer meant to easily set up Ghidra on Linux systems. It is currently written to install Ghidra v11.0.3 and Java Development Kit 22. It will install and set up the dash launcher for easy launching of the program. On top of this, it also supports the uninstalling of an existing Ghidra installation.

metamask-extension icon metamask-extension

:globe_with_meridians: :electric_plug: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites

metroparking icon metroparking

🚘 Metroparking is a next level smart parking system that automates the process of reserving, paying and managing parking services in urban parking providers. It is an IoT based project that uses electronics, autonomous and cloud technologies to create a fully automated system to handle parking.

mq135-gas-sensor-library-proteus icon mq135-gas-sensor-library-proteus

📷 MQ135 Gas Sensor is an industrial level sensor that is suitable for detecting NH3, NOx, Alcohol, Benzene, Smoke, CO2, etc. Mostly used for sensing smoke from a fire, this sensor is a critical part in Arduino projects that involve fire sensing and air quality measuring. This Github project will provide the necessary files to add the MQ 135 Gas Sensor to your Proteus project.

netmonitor icon netmonitor

A Chrome extension which shows background network activity of web pages after they are loaded.

password-manager-csharpgui icon password-manager-csharpgui

🔐 Muragala is a password manager designed to make managing passwords easy and secure. My goal is to make it a secure and reliable password manager available in the public domain for everyone to use. Privacy and security is for everyone, this is the core value behind this project.

password-manager-csharplibrary icon password-manager-csharplibrary

🔐 Muragala is a password manager designed to make managing passwords easy and secure. My goal is to make it a secure and reliable password manager available in the public domain for everyone to use. Privacy and security is for everyone, this is the core value behind this project.

password-manager-python icon password-manager-python

🔐 Muragala is a password manager designed to make managing passwords easy and secure. My goal is to make it a secure and reliable password manager available in the public domain for everyone to use. Privacy and security is for everyone, this is the core value behind this project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.