In my neverending quest of improving my homemade PCBs, I discovered that adding a soldermask to my boards is actually easy, thanks to a relatively simple process that involves UV-curable paint. While using the sunlight as a UV source should work just fine, I decided that it was time to build a proper UV exposure box. Winter is quickly approaching and I’m not too fond of the idea of having a variable-intensity light source (the sun) that would make the process (and end result) completely dependent on how good was my estimation of the time required to properly cure the paint given the weather of that particular day.
A UV Box would also allow me to experiment with UV-based transfer methods for the PCB etching process as well, so it was definitely time to build one.
UV Exposure Box. Closed.
Pocket C.H.I.P + USB Analyzer
So a time ago I purchased a cheap USB Logic Analyzer from eBay that works great with a PC, and it’s been really helpful to debug several projects to date. It uses the Logic software from Saleae as hinted by the label on it, although I am not sure if the device is supposed to be a cheap knockoff of one of the (pricier) genuine Saleae analyzers, or it was just designed to be “Saleae-compatible” and use their software. Read More
Cutting PCBs down to size for each project has always been a problem for me. I don’t have a bench saw, so I’ve been doing this by hand until now. Despite the number of boards I’ve made, I still lack the dexterity to do perfectly straight cuts with a regular hacksaw, and my success with other manual methods has been equally limited. Like a year ago I stumbled upon a small a table saw on dealXtreme which I was tempted to buy but was kinda too expensive for me. My search continued until a few months ago, when I realized that I could make one myself, using a small motor I salvaged from a cheap $10 dremel-like tool that I once had. I wasn’t sure this was going to work, but decided to give it a go nonetheless.
At least looks like a table saw. That’s always a good sign.
A while ago -and after a couple of trips to our local “flea market”- I managed to get my hands on a fully working vintage Atari 800XL. It took some tests and soldering work, but I ended up with a fully working 800XL with a XC12 cassette deck (I even got a defective cassette deck that it’s mostly working now after some repairs). I also built a video cable to have the “vastly superior” RCA video output instead of the noisy “TV” RF signal.
The tape deck loads and saves to cassette perfectly, but every read/write operation takes ages. Not that I mind waiting, to be fair, but since there seems to be better alternatives (like the floppy disk drive) it makes no sense to just stick to this, especially since I intend to do some development on the device.
Yes, this picture was taken with a potato.
So in the sort of tutorial I wrote about ORC-KIT I mentioned that it was possible to use other boards instead of Adafruit’s friendly motor shield, and in fact, there was space in the board for a couple of very cheap and widely available L9110S Dual H-Bridges, which should give you more control over the build, and “free” some precious Arduino pins that you can use for extra sensors and actuators. You can actually change the Arduino for something else, but that’s beyond the scope of this post.
H-Bridges are simple circuits that allow you to control the flow of current through a “load” with 2 control signals (A and B). When the load is a motor, you can make it spin forward, reverse or stop completely by changing the digital values on A and B. H-Bridges normally have an ENABLE line as well, which you can toggle yourself or leave permanently “ON”. Controlling the speed of the motors is easier if you can turn each bridge on and off quickly using PWM pulses applied to the enable lines, but that’s not always possible. The L9110S boards don’t have an enable pin, for instance, so we will need to manipulate only the 2 basic control signals to drive our motors if we use this controller.
Each of these Dual H-Bridge modules can drive 2 motors and has a 6 pin header for the 4 control signals plus power.
You may remember the small soldering fume extractor I designed a while ago. It has worked really well since I built it, and it’s made my soldering work a much more pleasant experience.
However, during the time I’ve been using it, I’ve discovered a small aspect that could definitely be improved. Because of the way it works, when the fan start working it “sucks” the carbon filter a bit towards the blades. As the distance between the filter and the fan blades is no more than 2mm and the filter itself is not rigid, the carbon surface “bends” and touches the spinning fan, which causes the blades to pull and cut fibers from the filter. You can actually hear this happening when you turn the unit on with a reasonably new filter.
This stops after some uses, as the filter becomes thinner and less dense from all the fibers it has lost. This doesn’t prevent the extractor from working, but it certainly reduces both the efficiency and the lifespan of the filter.
To solve this I designed a small plastic “grill” that would hold the carbon filter in place, separating it from the fan.
Carbon filter holder for my soldering fume extractor.
Earlier this year I embarked on the journey of designing a simple but expandable robot that any electronics enthusiast could build. I knew several nice kits from brands like Lego, Makeblock, OWI Robotics, etc, but I considered them to be normally either too expensive or too simple and limited. There are also many generic unbranded kits on eBay which suspiciously have all pretty much the same design but vary mostly in their debatable choices for hardware and layout.
I wanted to do something flexible but not too expensive nor flashy, much like the unbranded kits, but with better design practices in mind, and engineered to be heavily customizable.
Fully assembled Vanilla ORC-KIT with some extras.
Not long ago I purchased a few 320×240 touchscreen displays from ebay that looked pretty decent and were also fairly cheap. They conform to the Arduino shield form-factor, so they snap directly onto any standard Arduino board, making them really easy to test and use. They also have an integrated microSD slot (connected to the same bus used by the display controller) which is a nice touch and widens the number of possible applications for these modules.
As seen on literally every eBay listing that sells them.
Of course the displays didn’t come with any code, and the most reasonable thing you’ll find online to make them work is Adafruit’s TFT-LCD Library, which includes support for a number of different controllers, and is fully compatible with their very own and versatile GFX framework.
I used to have a small desk clock that I purchased for a trip. It was cheap but it had some really nice features that I quite liked. It had large digits that I could see from my bed each morning, and it was also able to measure and display the current room temperature, which I always thought was incredibly cool for a clock.
The problem is, that it required a lot of batteries to work; 4XAAA for the fancy LCD backlight and soothing RGB glowing action, and 2xLR66 (button cells) for keeping the thing ticking and actually displaying time and temperature on its LCD screen. It worked reasonably well, but it was running through the batteries way too fast, in my opinion.
I didn’t really care about the AAA batteries dying in a month, because I could always use rechargeable batteries there, but the small LR66 batteries were killing me. Replacing them each 5-6 months or less wasn’t really a pleasure, especially since it meant setting time, date and alarms all over again, every time.
So I adventured in the journey of building my own clock. My main objective was to keep the number of batteries low, while also having the nice features of my previous clock, like the big numbers and the temperature readings.
SPOILERS: This is what I ended up making. No, it’s not a bomb.
So in a previous post I’ve discussed how to communicate with a custom HID device using libhid and a Raspberry Pi running linux.
This post is a sort of sequel. I’ll talk about some of the issues and nuances I found when working on a more complex (but related) project; In this case a Composite USB Device that I had to implement on a PIC 18F4550 microcontroller.