Custom volume knob - Arduino Leo

volume_knob_header.jpg I got bored, so I made another custom volume knob that would be a nice add-on for my mech keyboard. And also great for dedicated ‘talk to speak’ buttons for teamspeak3. I actually made this a while ago, but haven’t had a chance to write a post about this since I didn’t finish the code, mostly just enough for it to work just for me.
[Read More…]


Install Android Radio Head for VW Golf MK5

Just some random electronic stuff that I did a while ago with my VW golf mk5
[Read More…]


Yet another T12 Soldering Station

t12_header.jpgI built one, like 2 years ago, but didn’t have time to write a blog post about it. Up until now when I have to make another one for my friend, I decide it’s time to do documentation about it. It is pretty much straight forward except the T12 tips I bought wasn’t the same that I had before. Then the calibration process begins…

[Read More…]


UV Light box timer for PCB photo-resisting using atmega8

I have a few atmega8 laying around, bought over ten years ago. Powered by, pretty much, the same 8bit MCU like what’s in Arduino UNO, except, it has only 8k of flash and 1k of ram. It is, kinda, on a par with attiny85. There is only one catch, it doesn’t support PCINT like atmega328 does. An attiny85 would do this job perfectly, of course I would have to use i2c adapter for LCD0802 but, meh.
[Read More…]


Understanding LED matrix scanning method

This entry is for someone that having basic electronics knowledge and want to understand how to control led matrix using Arduino UNO.

How do you control a led matrix?

Lets start with the basic: controlling 1 row of single-color LEDs
[Read More…]


Turn off monitor - C++

My brother asked me how can he turn off the monitor. He showed me a PowerShell script

start powershell (Add-Type '[DllImport(\"user32.dll\")]^public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2); exit

My reaction was “what the heck, seriously you can do that with PowerShel, like, invoke a function in a DLL file just like that?!”.
[Read More…]


Programmatically upload code - atmega32u4 - VC++

I had a small project that needed to deliver firmware for atmega32u4 for my customers. And of course, they aren’t tech-savvy like me. It was impossible to guide them to use arduino to flash directly using source code. More importantly, I don’t want to share my source code. There is only one option for me that build an avrdude wrapper that detects atmega32u4 and run avrdude automatically. This tutorial is about uploading firmware to atmega32u4 programmatically using AVR109 app note in Visual Studio.
[Read More…]


PC watercooler - arduino water flow status

intro.jpg Watercooling system on your desktop PC is kind of look cool. But of course, it concerns a lot of precautions.

Water tight
First of all, make sure it is water tight, meaning no leaking at all. You never know if your watercooling is leaking. It happened to me, twice, in the past about 14 years ago. You know, water and electricity they don’t like each other. A few drops of water on motherboard or video card could result in tragedy.

The picture on the left is just click-bait. It’s not mine, it’s from Thermaltake advertisement

[Read More…]


Arduino Timer / PWM cheat sheet

Arduino Timer

Arduino UNO (ATmega328p) has three 8bit timers

Timer0 - used for millis() micros() delay()… and is on pin 5, 6
Timer1 - 16bit timer is on pin 9, 10
Timer2 - 8bit timer is on pin 3, 11

[Read More…]


Lineage 2 - Auto Clicker


- Auto Clicker at hardware level that as small as pen drive
- Detect as standard HID keyboard/mouse
- Controllable by custom software, by timer or scripts
- Automate key press for chat, combo or just repeat
- Automate mouse movement and click
- By pass all smartguard and alike
- Customized for use with Lineage2

[Read More…]