Getting started with electronics #3

Pages: Purchase log | Purchase suggestions | Projects & Arnetronics | Board interfacing & programming.


These are my various projects, mostly to learn by doing. Somewhat in chronological order.

Here's an example of why one should not stay in the starter kit phase for too long. I didn't have any material to work with, didn't know about Dupont headers, ribbon cables or breakout boards. It's very frustrating to solder directly onto header pins as they take longer to heat up and the plastic will distort. Also, I only had a few header scraps and was hesitant to use even those. By buying a reasonable supply of material you'll be able to more feely experiment and learn faster.

Hadn't used this display until... this exact date. It's a bit wonky when updating pixels. Made for 5x8px characters that you can define yourself. There's a driver onboard under a black "glob-top" (I believe that is the technical term).

Using a shift register to control a single 7(8) segment display. The micro controller only have so many pins for controlling LEDs and such, but there are ways to transmit more complex information over just a few pins (perhaps a single one).

Buck converter something something. Here my bench power supply powers another one which modifies the voltage. Stay away from working directly with AC / wall outlet if you're a beginner!

Accident. Or was it murder? LEDs need a resistor or they will easily fry.

A DIY kit I soldered together. Cheap audio amps aren't very good, but practice is. Headers went on skew, despite efforts to hold in place with greenstuff. The actual trick is to solder one lead sloppily, then with a hand free you can now reheat that joint and click/adjust the header into place. When perfect, do the rest of the joints. If you solder two joints before adjusting you're in trouble as you can't reheat both.

This audio amplifier module also uses the LM386 (though surface mount) I believe. Quality is not very good. Audio signals need good caps... the pillow-shaped poly*, I've heard. Ceramic caps can apparently work as microphones, I guess because capacitance varies with pressure, and also as speakers, producing a high pitch whine. To complicate matters further, wires pick up radio signals, and twisted/touching wires do weird things as well. In these SMD boards I guess the tiny caps (brown bits) are not sufficient.

Paper breadboard can be easily cut. This is an early version of a purring machine for my cat. Put in tennis shoe and it sounds like cat-mom. Sleeps next to it for hours. Will make over-engineered version when new parts arrive.

Not a project, but I love the look of these.

My first ATtiny85 project. It's a power light pulser for a mac G4 MDD, to replace the onboard one. Ultimately I just used a rainbow LED though...

555 blinky thing (barely) powered by my very old solar panels, through a step-up.

Audio mixer with its potentiometer guys showing. I bought this mixer back in the Amiga days, meaning to use it for mixing the separated 2+2 channels onto tape. Never got it to work. I was worried that I had reversed the polarity of the PSU and blown something. The enclosure was hard to open up so I didn't bother trying to fix it... until now. Turns out the bottom has nothing attached to it so it can be pried off. No need to undo all of knobs and plugs. Once inside I noticed a protection diode, which measured OK, so probably nothing wrong with the mixer.

So I tested PSU (wall wart) and got no voltage from it. Opened that up (it was welded >__<). The rectifier bridge measured OK, Cap was OK, but it had a variable transformer coil which failed continuity test. Unclear to me how these simple things can fail, but it was one of those custom things with leads coming out at different points (for 3-12V output). The mixer takes DC9V through a barrel jack or 9V battery underneath, but to test it I first had to solder up a RCA-Stereo plug cable.

It works, though noisy at lower volume. Rectangular LEDs come on at higher volumes as a form of VU meter.

I replaced the black power button with a red to give it a sexy accent, and even got a set of replacement (aluminium) knurled shaft knobs.

Decided to take the bull by the horns and assembled my DSO oscilloscope. Here I've only attached the resistors... 23 to measure and place. Still have no good method for bending legs to make 'em stay put.

DSO oscilloscope finished. Was surprised when it worked, because I had to do some SMD repair on the fragile screen ribbon (C8, C9: 1uF). Last image: measuring a 555 "square" wave signal generator I made.

Old legs can serve again, as breadboard jumpers. Here I've used shrink tube as isolation/color coding, but old cable peelings can work in a pinch.

Bought a cheap LCD screen with composite in from china, but it rolls when hooked up to NES/SNES. Gets hot too. Seems to have been repurposed, as the board had been forced into the casing and had no buttons mounted. I made my own breakout cables just to poke around. With China, you'll never know what you'll get, but the advantage is that you're no longer scared to open things up and begin shorting pads to see what happens.

LED experiments. Trying out the resistor networks, testing for LED dimming as they go on and off.

Laying out my Arnuino. Soldered new headers onto LED tester board.

If your budget is really tight, you can make a simple (and perhaps not very safe/rugged) variable power supply from an old 12V power brick and a cheap step-down buck converter (<2€). It might be enough for simpler low power things. Then you can make an enclosure for the brick and board (or just board if brick gets hot), swap out the buttons/trimpots for front panel mount ones. Add a toggle power switch for AC in, and a latched one for DC out. Though, if you buy all that, you're up to the cost of a cheap bench one already (except you get some extra components and the pleasure of building something). Project is... underway.

A much simpler solution for simple breadboard stuff is to use the <1€ breadboard power supply. I also found a little power supply hidden under a breadboard listing (8€). It's a step up from the breadboard one, but a step below a bench PSU. I suspect cheap power supplies won't handle abuse as well as bench ones. Above I'm powering a power supply with a power supply, which is a bit of nonsense. Discovered later that leaving the 9V battery connected drains it :/ I should get these battery boxes with a built in switch.


More chip pics. Building a project box for buck converter board. Should have done front panel art first, printed and used as guide.

Found 12V in an IKEA LED strip hub dangling and attached a little auxiliary light for my corner workspace. I had some "super bright" white F3 LEDs which I put in series and parallel (4+4). They drop two point something V each. Velcro-tape came in handy for attaching the precariously dangling hub to a shelf side.

New Panasonic microswitches replacing the busted ones in this old Amiga tank mouse. Can be twisted to sort of fit. Different height too, so had to modify the plastic contacts a bit. 6x6 Tactile switches fit better but they're not "clicky".

It's like having magical powers, this. I write the driver for the ball mouse, but the servos are just a few lines of code as I used the servo library. I simply feed the servos the mouse coordinates (bounded).

Just followed a tutorial for this one. Each SN74HC165N can handle 8 switches, but I've only connected 4 here.

Maybe an escalator is a better analogy here though? Need to do something for the 595.

Blew some FETs trying to drive a motor using a 3.3V trigger signal. Finally got it to work but it made me feel less confident about EE in general as I don't know why things went bad. Possibly grounding problem.

Used a syringe with some sort of solder glue to attach the 0603 LEDs to 0.1mm enamel wire. I'm thinking these could be used to light up model kits.

I wonder if shift registers can be used to drive a bunch of lamps. For this project (pinball related), I wanted brightness tuning on each, and a cap to soften the blinking (to look more like a bulb). I didn't want to use PWN on e.g. a MCU. Edit: Looks like I'll need a diode before the cap on these. Shift registers may run at their current limit. I'll see.

Thinking of making a digital die using an ATtiny and some shift registers. By using round hole headers, I can fit the small resistors under the displays near the pins.

Just a 555 kit I soldered up. Useful for generating pulses without having to breadboard a custom 555 thing each time. Supplied red LED suffered a heat death under my iron as I desoldered it (had put it on backwards), so blue it became. Different voltage but watch me care!

Forgot what this was. Turns out it's a random number generator. I'm guessing the jitter/charge in the capacitors around the 555 generating the pulses for the counter/decoder is what produses the random outcome. Seen here is some of my soldering stuff and the tips I now prefer. Would like a proper jig/clamp/holder for the boards.

Thought it would be cool to use these step-up boards (5V USB output) for something. Attached it to a battery holder along with a switch.

This transistor tester DIY kit came with no instructions but was fairly straightforward to assemble. I forgot to properly socket the MCU (which is an "Arduino" chip that you can update yourself) so it didn't work and I was sad before figuring that out.

Testing small-value capacitors is tricky but this can do it. There's a nice menu controlled by the Rotary encoder (I put a proper knob on it later). You can even set GUI colours. The self test requires you to short 1-2-3, then not short, then insert a >100nF (not polar) cap in 1-3, iirc. I don't know if it calibrates though, or just tests and gives reference figures.

Years ago I blew this Logitech MX1000 apart by either using the wrong polarity charger, or using a 110V supply in my 230V socket (producing twice the Voltage?). I didn't know how to fix it then, but maybe now...?

Success! I noticed that a 7805 had blown. I know that number! I have those! So I soldered one in, after consulting the datasheets for the pinout. The SMD one was actually difficult to desolder. I failed, then ruined a drill failing to excavate the core. Ceramic packages are sand, I guess. Finally I managed to pry it off with a blade. Well, half of it, with the IC which was a blackbox at this point. I put shrink tube on my new reg and tucked it in under the peculiar iron bars.

The charging dock also had a problem. It didn't list polarity on the label, and had no protection diode so I added one just to be sure. The electrolytic capacitor was swollen. It was rated for 25V, which is the recommended double of the 13V DC-in noted on the dock's label. I was in a rush and only managed to dig up a 16V equivalent (had to be low profile). Turns out the battery charging circuit was not happy with the 8V I was willing to give it, and I got a red light. Upping it to 9V worked so I made it 10V as a compromise for the first charge. The limits of the new regulator is 7-25V I believe. I like smaller mice so I won't use this one anyways. Just being able to get it working feels like getting a Wizard diploma.

Sometimes I think consumer electronics engineers just look at the LED data sheet and puts the lowest possible resistor value on the LED. I had to cover my PC LED up because it's really bright. It's especially distracting when under a dark desk. However, in a bright room, it can be hard to see if a dim LED is on. LEDs can actually function as light sensors, but here I've decided to use a normal light sensitive resistor. I measured it as:

I experimented with resistors to set the desired light levels. It sort of works with less though. Values: 750 -> 5K1 in parallel to Sens, then a 10K trim to gnd. Lots of consumer electronics which are on around the clock could use a circuit like this. The 555 died from negligent driving.

My SN74HC595N shift registers are heavy and cold to the touch... some sort of ceramic/glass package? Pretty cheap so I expected plastic. Perhaps they need to sink a lot of heat? Wiring these up was more complicated than I thought. They must be quite tough, given the amount of nasty, bad things I tried.

Time to reiterate a warning. When you do a search for how to breadboard things up for arduino, don't trust anything easily found. Read the data sheets carefully and dig deep. What finally made these ICs go was tying SRCLR (pin 10) high, and putting a 0.22uF cap (up to 1uF (ceramic)) on VCC/GND is apparently good practice. Most easily found schematics did not mention these measures. Also, don't trust me on this.

Making custom cables really brings clarity and helps troubleshooting. If I'm to trust my bench PSU, total Amp use is 0.100 for two shift registers, LEDs and UNO. I want to use this setup to power displays and lights for a silly pinball project. Because I want the LEDs to be soft and bulb-like without using PWM, I'm thinking of using 22uF or 47uF caps with the brighter warm white LEDs under coloured inlays. Seems like I also need a diode to "trap" the capacitor's charge in each LED's local circuit.

Making a nightstand clock radio / media player. Mounting things on cardboard helps preventing having to carry a tangled mess around, stressing the cables. Here I'm lazily using modules and some copy pasta code. The RTC board features a battery backed DS1302 keeping track of time, calendar and even some spare RAM. The display is driven by a MAX7219. When ordering display modules from China, get a few extras because they're commonly soldered on skew. Headers too. I put some coloured male headers of my own on the cheap UNO board. Handy to have both M/F.

Because showing seconds ticking in the night on a clock radio gives me existential dread, I decided to just update the display every minute. To unburden the MCU which might be busy with various stuff, I had to write a "smart" delay routine. It doesn't seem like the DS1302 has an exposed sub-second timer, so to identify a seconds rollover on boot, I just watch/read that single register, on a change, I burst read all time data, update display, then create a millisec goal just before next minute. At that point I begin to watch/read the seconds register again. This time I know the rollover moment more precisely but figured it's safest to plan for arrival with up to 20 millisecs to spare to watch the event (chances are MCU will arrive a bit late due to other features). This method makes the pair fairly synchronised I think.

Thinking of using my shift registers and a clock display, instead of the display module, and build my own RTC module, just to make it more DIY. I've bought a little MP3 player module, an amplifier kit, and I have a few radio components laying about. Suffering a bit from tinnitus, I'm hoping to build a relief function (Hot-button to a timer, maybe a specific MP3 file).

Case design thoughts. A clock display, then a UI display. A rotary encoder for menu navigation? Maybe a + pad, OK, Cancel/Back/NoWtfIsThis, Menu. I don't know yet. Nice thing about DIY is that you can make things exactly like you want it, like a very specific button and feel-good interface.

DS1302 circuitboard mockup.

I laid out this board, separating the power and interface pins. Traces are really adjacent and easy to read. Also 0.1" spacing friendly. This board is only a few components. I haven't looked at the DS1307 which apparently uses the more common I2C bus and a different pinout.

Added a control board, using the 74HC165. UDLR SW Menu OK Cancel. It's quite similar to the NES controller which also uses a shift register and 8 inputs. I hold the rectangular surface mount switches in place with some kneadatite/greenstuff underneath before soldering. I prefer them over the through-hole ones which won't go into some perf-boards well, and the rectangular have a lighter click than the square ones. Surrounded by pleasant smell while working as I fortunately made the backing from a vanilla box! I recommend you do the same.

While soldering up this 595 board, I eventually discovered that cutting the fold-over legs right before the meeting pin makes things a bit cleaner. Board worked first try... well second, I applied reverse voltage by mistake, without harm to anything it seems. Then I realised I mistook Q0 for the last one as placement is wonky. So I had to go back shift all connections diagonally towards GND and change the white Q0 wire. I'm using some barrier diodes for... reasons to be explored later.

PCB holder has proven useful so far. I angle the board like a wall and attach a single joint of each component, then reheat while pressing down to re-position or snap in place. Oy! I put the switch on the battery step-up on the wrong side, so now I can't screw it down on something.

Soldering station - I move this stuff around a lot so I made a dedicated tray. Gonna give it some handles and a dust cover.

These particular packages have deeply engraved but hard to read text. I used some color pencils to pick out the text. Low static Kapton tape might work for very shallow engraving.

The smaller toggle switches sort of do fit in perf-board if rotated diagonally / 45 and the middle pins are bent.

This is probably the worst prototype board to solder SMD on, as the holes are too large and not copper filled. The solder will just form a ring or big blob dome. Also, I'm guessing the pads will lift easily on the stressed header as the pads just sit on the surface. The green, double-sided boards are better as the pads go through the holes, which fill up nicely with solder. Components are more likely to lay flat and one can drag solder across pads (I prefer using a wire though). The green boards are harder to cut however.

A LED module like this is useful for hooking up a bunch of LEDs on breadboard without causing a wire-mess or running out of space. Here I'm using a simple 555 pulsing a ripple counter, with these LEDs on the outputs. I'm using 0603 LEDs and 0805 4K7 resistors, and an angled header. My blue LEDs are a bit too bright so maybe I'll use more Ohm on those next time. Indicator LEDs are obnoxious when used with minimal resistors so I wouldn't go lower.

I have this fermenting plan of making breadboard friendly cards (linear connector) for chips that I commonly use. Here's a 555 timer with a nice potentiometer. A jumper on the back can enable/disable the onboard LED (they can be annoying... I put a 10K on it too). Wisely soldered potentiometer on the back last. Squarewave looks okay on my cheap oscilloscope, but I'm only using this for low frequency stepping (3.3 - 45Hz). Should perhaps use the right potentiometer terminal so counterclockwise = slower pulse. If I skip the jumper, I could make the angled header 4 wide (like IC) and maybe expose an inverted pulse. Jumper does fit over LED but ruins the symmetry.

Got an ESP8266 Arduino-type board in the mail. But uh-oh. This has got to be the jankiest header soldering job I've seen. These headers are simply not functional and the 5V & GND pins are shorted by a blob. Barrel jack is capsizing too.


However, asking for a refund on something already this cheap, is to be an even greedier Greedy Mc-Grumpypants, so I just cut the distorted header plastic to bits and desoldered the little forks one-by-one. This board has a CH340G so I decided to use it with linux. I got the ESP8266 stuff using git clone, and uploaded the example blink (actually takes a while as a whole onboard OS is compiled). Well, it apparently survived my desoldering torture! Drawing 60-70mA according to my new USB doctor.

These little forks fall out of female headers once cut. I might finally have found a use for them. With some shrink-tube they still make usable sockets for thicker legs.

ESP8266 case

Well. I guess it's a way to be unique, at least. And individual colour coding is handy. And more ORAC. I had to snip off the barrel jack as it sat very askew. I don't actually have a through-hole replacement yet. Using the case might have been a bad idea as the micro-usb socket sits too close to the bottom of the case. I guess I could modify one of my cables.


Looks like we're seeing some wild 2-wheel driving by one of the SMD resistors flanking the ESP8266 module on my "Amica" NodeMCU board.

SUNCOM TAC-2 wire harness and some reverse engineering. Can't see it here, but the female plug isn't fully wired so there's no way to use all pins with this cable. I'm missing a joystick so I'll have to make one eventually. Real shame the Amiga was so 1-button focused. I firmly believe it hampered it greatly.

A timer broke. Curious, I took a look inside and had some fun figuring the thing out. At least I think I did. AC 230V 50Hz goes through 56K resistor, then into a coil, which produces an alternating magnetic field, which spins up an adjacent, magnetic disc, connected to a screw and many cogs gearing down to super slow. The physical tabs on the 24H dial bump the microswitch connecting the next outlet. There's also a manual slider knob for doing the same. Guessing the 50Hz helps set clock speed. There's a little tab/pin in the motor that prevents it from spinning up in reverse. One of the cogs probably wore out or got stuck, because I managed to run the peculiar motor off a (safer) 16V AC source (using a smaller resistor value). That coil constantly at work, so I wonder how efficient the design is.


What if you could make your prototype board stuff look neat? These are plastic housings which go through perf board with pegs that can be melted, I guess. They cover up the perfboard holes too, which is hood if you have trypophobia.

What if everything was socketed?

What if humans were able to identify components?

What if space wasn't wasted?

My super invention, DropTracks! Breadboard on perf-board! Working connections! Components won't fall out when soldering! Looks Snazzy! Hey, I don't have the piece I need! Eeh... I'll go back to using Wire Wrapping Wire.

What if... uh, you didn't want to daisy chain the 74HC595, I guess?


Early mockup.

Mutated mockup. I based the header breakout layout on the square 32-pin ATmega328 (rotated upside down). The 32U4 (with an USB interface) has a similar pinout I believe. However, that one has like 44 pins, so I invented a new model and now the pin breakout has gotten confused. The 32-pin 32U2 has much less I/O than the 328. Probably best to put a regular 328 on this.

I like the chunkiness of PLCC, even though it doesn't breadboard (needs adapter). Perhaps the lack of legs on PLCC probably makes the chips more rugged when it comes to re-socketing? Early versions of the Arduino board had a DE-9 connector and through-hole components. I quite liked the look of that board. Here I've made a fantasy plug based on the USB-B plug which is chunky, orients easily and somehow fits nicely. 8 pins + grounded case, so not really DE-9 (9 connections is enough to fit Power, FTDI and ICSP in one "programming cable"). Mine's breadboard friendly too.

I also much prefer a barrel jack for power over fiddly, tiny USB jacks. I feel like this is one of my better board mockups, in terms of pure looks. Unfortunately it seems like coloured female headers are rare. I suppose placing headers tightly together is not feasible in an automated production scheme. ICSP needs some margin too. Male headers should probably be on the inside row with female outer walls protecting them. The lower male headers would also obscure the labelling less.

Board is 18 holes wide + 2 for extra headers. Square. 18x26'ish hole wide perf boards are pretty common, so they'd fit right on top. Shame the 328 doesn't come in sexy PLCC format, otherwise I'd might make a circuit board for this. A USB interface could eliminate the need for the sort of ugly legacy serial - serial adapter - MCU hodgepodge, but maybe there are drawbacks.

28DIP can sort of squeeze in. Unfortunately the text on the caps is upside down but I wanted to align black with edge and header. Socketed 28DIP will also cast shadows on print.)

It would be fun with an MCU that had a simple tiled-mode graphics processor (and simple sound) so it would output debug/sensor graph stuff to a TV/monitor easily. I know it can do it over serial (or by wiring up a LCD) but it requires a few steps. 32-64K SRAM would increase the cost, but then suddenly you have usable computer (the ATmega8515 PLCC44 can address up to 64K external SRAM but it's less compact). Might be a niche market for a video friendly, simple MCU. Just turn on TV, then browse the sensor data that's been gathered during the day, or something like that. I believe actual hardware sponsors an ecosystem better than fleeting and hacky software GPU implementations.

Not sure what's going on here, but MF2DD floppy disks were the superior format. HD were more unstable unless I'm imagining things. Modern drives don't sound as good as older ones. ZIP drives had a great case design but spins continually making for noisy ambience. If you don't need a lot of space on the disks, measures could be taken to increase reliability with a good file allocation table and data redundancy. It's nice to have media with label space, dedicated to specific projects. Things easily get lost in the file-mess of my anonymous USB sticks. I also like the sound feedback saving a file to floppy gives. It's a confirmation.

Pages: Purchase log | Purchase suggestions | Projects & Arnetronics | Board interfacing & programming.

Photos/Art by Arne Niklas Jansson