- Free C++ Compiler - this is a very huge plus for me. I love abstractions, polymorphism, object-oriented concepts and design patterns.
- Lots of libraries - Reusability is the key, no need to reinvent the wheel
- Community support
- Cheap Ready to buy boards - There are lots of varieties (I have Due, Nano, and Mega). No need to design/etc your own PCB. Just buy and program.
Software, Firmware, Object Oriented Software Design, Architecture, Design Patterns,3D Printing, R&D, Reverse Engineer, Electronics... This is my passion. :) I love innovation
Disclaimer: I don't post details of the projects in my professional/freelance work. Most of the projects I post here are things that I do in my free time.
Wednesday 30 December 2015
Jumping to Arduino
I had been using various microcontroller for 10+ years on a professional and hobbyist level ranging from 8-bit PIC, 16-bit NEC 78K0R, PowerPC and Arm Cortex M4 series. And I am currently sticking with Arduino (for hobby and personal projects) platform for the following reasons:
Friday 11 December 2015
Artec Power Brick CPB-12 Mod and Repair
Recently, I bought a faulty second hand Artec Power Brick CPB-12. When I plugged it in, the red and blue lights just blink slowly and it can not power a pedal. According to the seller, he talked to an Artec customer support and told him to change a capacitor inside the power brick to resolve the issue. So I did some troubleshooting and this is what I found out:
1. I did a DC voltage measurement on the switching supply adaptor and I found out that the voltage is not stable! 17V, then 0V, then 17V . The voltage is slowly fluctuating back and forth.
2. The power brick is working. However, my bench power supply keeps on tripping most of the time. It seems that there is a large inrush current due to the multiple filter capacitors on the brick. This will be an added stress to a power supply and must be resolved.
So I have two issues here. I need to repair the DC power supply and resolve the power bricks inrush current.
DC Power Supply Repair (Sorry no pictures)
I opened the Power Supply and I saw that the PC817 optocoupler and the TL431 regulator lifted from the PCB due to heavy rusting of the metal pins. Bought these two components from Farnell, soldered it and issue was resolved! A very stable 15V DC.
Power Brick's Inrush Current
I bought an NTC inrush current limiter from Farnell. As seen from the picture, I soldered the NTC inrush current limiter and problem was solved. My power supply never trips anymore.
1. I did a DC voltage measurement on the switching supply adaptor and I found out that the voltage is not stable! 17V, then 0V, then 17V . The voltage is slowly fluctuating back and forth.
2. The power brick is working. However, my bench power supply keeps on tripping most of the time. It seems that there is a large inrush current due to the multiple filter capacitors on the brick. This will be an added stress to a power supply and must be resolved.
So I have two issues here. I need to repair the DC power supply and resolve the power bricks inrush current.
DC Power Supply Repair (Sorry no pictures)
I opened the Power Supply and I saw that the PC817 optocoupler and the TL431 regulator lifted from the PCB due to heavy rusting of the metal pins. Bought these two components from Farnell, soldered it and issue was resolved! A very stable 15V DC.
Power Brick's Inrush Current
I bought an NTC inrush current limiter from Farnell. As seen from the picture, I soldered the NTC inrush current limiter and problem was solved. My power supply never trips anymore.
Saturday 21 November 2015
Opinion: Version Control System
When I started my career, most of my works involve usage of various version control systems from CVS,SVN, Git. (And I work on Windows platform most of the time and this is the platform that will be discussed here). I am amused of seeing engineers doing lots of command line to do version control operations. Now, if you are thrown to a different version control, it will take some learning curve to know the commands, etc. But what I feel is that the wisest thing to do is to learn Tortoise-(cvs,svn, or git). Why? because the interface is the same, the learning curve will be lower. In my experience with Tortoise*, all of the basics operations are covered (pulling, pushing to repo, commit, etc).
I was introduced first to SVN, and it was my eye opener into the world of version control. My boss suggested to use TortoiseSVN and after some few tutorials, I was able to grasp the concepts. Then, I came to another company which uses CVS. My boss gave me a GUI tool for CVS and I struggled. After searching from the internet, I found out that there is TortoiseCVS! Since I have experience with TortoiseSVN, using and learning the TortoiseCVS is a piece of cake. :)
Now I went to another company. They are using Git and I used TortoiseGit. There was a learning curve due to distributed nature of Git, but after some few days, I was able to grasp the concept and efficiently use TortoiseGit. (I can even use my favorite WinMerge to do comparison/code review when viewing logs or before commiting to the local repo)
Tortoise* is a very good platform to unify the look and feel of a version control system. It gives all the basic needs to perform the necessary version control operation for our projects. Although I admire those people who can do version control operations via command line, for sure they can do lots of advanced things but I would personally stick to the important operations offered by Tortoise* in which I can do the things that are important to me: retain the linear history of my commits (no matter if the branching and linearity of the history is ugly or not) and to safely keep my/ or team's source codes.
Thank you to the Tortoise* team. Thanks for providing us this outstanding software tool.
I was introduced first to SVN, and it was my eye opener into the world of version control. My boss suggested to use TortoiseSVN and after some few tutorials, I was able to grasp the concepts. Then, I came to another company which uses CVS. My boss gave me a GUI tool for CVS and I struggled. After searching from the internet, I found out that there is TortoiseCVS! Since I have experience with TortoiseSVN, using and learning the TortoiseCVS is a piece of cake. :)
Now I went to another company. They are using Git and I used TortoiseGit. There was a learning curve due to distributed nature of Git, but after some few days, I was able to grasp the concept and efficiently use TortoiseGit. (I can even use my favorite WinMerge to do comparison/code review when viewing logs or before commiting to the local repo)
Tortoise* is a very good platform to unify the look and feel of a version control system. It gives all the basic needs to perform the necessary version control operation for our projects. Although I admire those people who can do version control operations via command line, for sure they can do lots of advanced things but I would personally stick to the important operations offered by Tortoise* in which I can do the things that are important to me: retain the linear history of my commits (no matter if the branching and linearity of the history is ugly or not) and to safely keep my/ or team's source codes.
Thank you to the Tortoise* team. Thanks for providing us this outstanding software tool.
Saturday 14 November 2015
Transparent Boost Pedal
Few years back, I struggled getting a good tone. Whenever I plugged in my guitar's multi-effects (Zoom G2.1NU with Stack Amp/Cab simulation always turned on) into the front of a tube amplifer, I get bad tone most of the time (sometimes very sharp, sometimes I can't cut to the mix). Truthfully, whenever we rent a studio, we have very limited time and we would like to maximize the time by playing with our band rather than setting up/tweaking. To avoid the tube's preamp coloration, I tried to plug my multi-effects into an FX return of a tube amplifier. It sounded very good but it produced a very low volume. With this, I decided to create my own booster with the following criteria:
And here is the actual circuit.
As you can see from the picture, I reused the silent rehearsal PCB I did on my previous entry on this blog. I can design another PCB, but since I would like to cut some cost, this PCB will do for a prototype. Plus, I also did the 3D printed mini-stand for this (look for the green line at the bottom) :)
This is not really a pedal because this is an always on circuit, and it is ok because this booster was designed to be very transparent and straight to FX return of an amplifier's effects loop and will always be turned on all the time. This is very ideal for someone like me who heavily uses cab/amp simulations.
- Powered by 9VDC
- Fixed Gain (20dB)
- Should be as transparent as possible and no tone shaping (therefore, no tone control)
- Simple, only one knob
- Use a good audio op-amp (OPA2134)
And here is the actual circuit.
As you can see from the picture, I reused the silent rehearsal PCB I did on my previous entry on this blog. I can design another PCB, but since I would like to cut some cost, this PCB will do for a prototype. Plus, I also did the 3D printed mini-stand for this (look for the green line at the bottom) :)
This is not really a pedal because this is an always on circuit, and it is ok because this booster was designed to be very transparent and straight to FX return of an amplifier's effects loop and will always be turned on all the time. This is very ideal for someone like me who heavily uses cab/amp simulations.
Saturday 7 November 2015
SilentJam - A Silent Rehearsal Gadget
At first, I was looking for a cheap silent rehearsal gadget device (anything that is equivalent to Jamhub) that can accommodate up to 6 channels (input and output) and I don't need it to be too fancy, I just need it to be simple, no colouration and which can be easily operated even without needing a user's manual . And after reading my electronics books I used previously in my college engineering times, I decided to create my own.
Phase 1 (Planning)
Before I started with the project, I planned and simulated everything first. As I am very aware of project management, I would like to know all the risks, benefits and asses the budget and timeline of the project. Also, I would like to be able to finish the project as efficiently as possible.
The first version of simulation I designed is a mixer circuit with one op-amp to mix multiple inputs and there will be one op-amp per headphone output. Then I realized that it will be costly to have one op-amp per headphone output and I would like to make my PCB size as small as possible. With this, I redesigned my circuit in such a way that I will be able to drive my circuit with just an 8-DIP dual op-amp package.
Phase 2 (Experimental design on a Prototype PCB Board)
After designing the circuit, I quickly gathered the majority of the parts from Element14 (with the exception of the potentiometers, 3.5mm audio jack, 6.35mm jack which I ordered from DX.com - although Element14 have those items, it will be cheaper if I will get it from DX.com). I have two op-amps under evaluation, TL072 and OPA2134. This is the result:
I tried it with my W758 roll-up drum kit and my guitar. And it works, but one problem, there's a NOISE!!! From my experience on PCB design, this is attributed by the grounding especially in audio. I decided to design my own PCB to eliminate the noise and grounding problem.
Phase 3 (Schematic design)
After the simulation and experiment, I did the schematic design which will be later translated to the PCB. Along the way, I made some changed which are a little bit different from the simulation at Phase 1 (like enhancements by adding filter caps, LEDs, etc).
Phase 4 (PCB design)
After the schematic, I designed my own PCB and sent it to fabrication. And this is the most time-consuming and most expensive part - both in time and budget - of the process:
Phase 5 (The PCBs arrived and all parts are completed)
The PCBs arrived and I have all the items on my hand. I assembled them and soldered them. To cut the long story, and this is what I've got.
Phase 6 (Testing in actual world scenario)
I tried this with my band. We had great time jamming and they can not even believe about the total cost I spent to create a single SilentJam (which is around less than 25SGD) and even commended the sound quality (I used the superb audio op-amp OPA2134). Some of my friends, even asked me to create one for them. Plus, one of the biggest benefit is that, they can change the op-amp with whatever op-amp they prefer! If they want a cheap one, or a high grade quality one, it just takes up to 5 seconds to change them and this gives them more freedom to experiment. :)
Phase 7 (Direct Recording to SmartPhone)
After that jam, one thing was missing, the ability to record straight to smartphone. With this, I just created a cheap extension cable plugged into one port of silentjam and here is a sample recording using Android Phone. Link
Setup:
Input 1: Guitar (straight connection, no effect pedals, using Dimarzio D'Activator 7 Bridge Pickup)
Input 2: W758 Roll-up toy drum
Phase 1 (Planning)
Before I started with the project, I planned and simulated everything first. As I am very aware of project management, I would like to know all the risks, benefits and asses the budget and timeline of the project. Also, I would like to be able to finish the project as efficiently as possible.
The first version of simulation I designed is a mixer circuit with one op-amp to mix multiple inputs and there will be one op-amp per headphone output. Then I realized that it will be costly to have one op-amp per headphone output and I would like to make my PCB size as small as possible. With this, I redesigned my circuit in such a way that I will be able to drive my circuit with just an 8-DIP dual op-amp package.
Earlier version of the simulation
Phase 2 (Experimental design on a Prototype PCB Board)
After designing the circuit, I quickly gathered the majority of the parts from Element14 (with the exception of the potentiometers, 3.5mm audio jack, 6.35mm jack which I ordered from DX.com - although Element14 have those items, it will be cheaper if I will get it from DX.com). I have two op-amps under evaluation, TL072 and OPA2134. This is the result:
I tried it with my W758 roll-up drum kit and my guitar. And it works, but one problem, there's a NOISE!!! From my experience on PCB design, this is attributed by the grounding especially in audio. I decided to design my own PCB to eliminate the noise and grounding problem.
Phase 3 (Schematic design)
After the simulation and experiment, I did the schematic design which will be later translated to the PCB. Along the way, I made some changed which are a little bit different from the simulation at Phase 1 (like enhancements by adding filter caps, LEDs, etc).
Phase 4 (PCB design)
After the schematic, I designed my own PCB and sent it to fabrication. And this is the most time-consuming and most expensive part - both in time and budget - of the process:
- I need to design the schematic on PC
- Out of the schematic, I need to design the PCB from scratch out of that
- The partitioning of the ground plane on the PCB is very important! I can't just slap in the components to the PCB and hope it will work.
- Repeatedly and carefully reviewing the circuit.
- Sending the files to the PCB manufacturer outside Singapore, then wait for weeks for the PCB to arrive. (The danger here is that if you are not careful with your design, you will end up having useless PCB boards, and these PCB manufacturers have Minimum Order Quantity of at least 10pcs)
Phase 5 (The PCBs arrived and all parts are completed)
The PCBs arrived and I have all the items on my hand. I assembled them and soldered them. To cut the long story, and this is what I've got.
Phase 6 (Testing in actual world scenario)
I tried this with my band. We had great time jamming and they can not even believe about the total cost I spent to create a single SilentJam (which is around less than 25SGD) and even commended the sound quality (I used the superb audio op-amp OPA2134). Some of my friends, even asked me to create one for them. Plus, one of the biggest benefit is that, they can change the op-amp with whatever op-amp they prefer! If they want a cheap one, or a high grade quality one, it just takes up to 5 seconds to change them and this gives them more freedom to experiment. :)
Phase 7 (Direct Recording to SmartPhone)
After that jam, one thing was missing, the ability to record straight to smartphone. With this, I just created a cheap extension cable plugged into one port of silentjam and here is a sample recording using Android Phone. Link
Setup:
Input 1: Guitar (straight connection, no effect pedals, using Dimarzio D'Activator 7 Bridge Pickup)
Input 2: W758 Roll-up toy drum
Subscribe to:
Posts (Atom)