Fixing a Megaphone

2020 has been a crazy year. Pandemic, Protests, Murder Hornets, and no end in sight!

I had joined a Milwaukee activism facebook group for BLM protests. Organizing protests, volunteering time, donating supplies. One member had a megaphone to donate, but lost the charger!

I offered some of my time to fix it- either find/make a new charger, or find a way to make it run off of a common type of battery available at Walmart or Walgreens.

Buy Blue Ocean Megaphones at

First I checked online- is this battery common or cheap? How about the charger?

Nope! $100 for a charger! Not worth just buying one. The battery comes for around $100 as well, I could save $200 if I can fix this!

The first challenge was finding out the voltage and pin-out of the battery. That is, which is (+) and which is (-). It is a proprietary battery pack, and I was not able to find any information on it online.

So, I took it apart and took a look at the 4 battery pins on the circuit board.

Right away I saw that one pin was connected to the “ground plane“, I marked this in BLUE. Circuit boards start with a flat sheet of copper and etch away around wires and connections. In this case, most of the sheet has been left intact to connect all of the ground connections (-). In some boards there are also “power planes”, where the whole sheet of copper is left behind and connected to power pins.

Another way to find the (-) ground pin, I used my multimeter with the ohm (Ω) mode to measure resistance, and measured between each pin and any screw. The meter read 0.1Ω on this one pin, so this was it!

Next, I noticed that the two battery pins highlighted in YELLOW both connected to capacitors. To me this indicated that they were the communication lines, for the megaphone to check on battery status. If the battery was running low, it would send a message telling the megaphone to alert the user.

This left RED as the only pin left for (+). Unfortunately there was no way to check where this really connected, and I couldn’t remove the circuit board from the enclosure, as it was glued into place from the other side.

To test my hypothesis on which pins were (+) and (-), I ended up charging the battery slightly. It managed to hold a slight charge, and I was able to measure it with my multimeter on the VOLTAGE setting.

The side of the battery says “11.1V NOM”, which means the battery fully charged is usually around 11V. Batteries usually have a higher voltage when they are freshly charged, so this could be around 13V fully charged! And since batteries lose charge as you use them, this voltage can drop considerably. Half-way through a use, it may measure down to even 9V! So whichever battery solution I find, it had to be within 9-13V.

I then used a power supply to try powering it up. I used a lab supply, but anyone could use a “wall wart” supply, so long as the voltage matches.

Q. What's wrong with wall-warts?

9V worked! So I went ahead and ordered some 9V battery holders from amazon:

9V Battery Holders, Clips, and Contacts - MPD - Battery Holders, Clips,  Contacts | Online Catalog | DigiKey Electronics

And once it arrived I tried it out… It powered on! But when I keyed the siren key it would quickly die!

Shoot! 9V Batteries have a high internal resistance. That is, drawing lots of current, the voltage will drop considerably! And, a megaphone draws a lot of power!

While D-Cell batteries may provide enough current, but they’re only 1.5V! To get 9V I would need to stack 6 in series (“in a row”)! To get 12V I would need 8! Plus these batteries are HUGE and can be heavy!

So, I thought, what about a lithium battery? I have some very bright LED flashlights, they use lithium 123A batteries, available at your typical Walgreens or Walmart. These run at 3V and can supply considerable amounts of current!

6 pk 123 CR123A CR 123A 3V el123BP-6 Energizer Lithium Batteries -  TheBatterySupplier.Com

These actually fit my requirements perfectly- Small enough to fit in the battery slot, powerful enough to power the speaker and amplifier, and I should only need 4 (4x3V = 12V!). So, I went ahead and ordered some 123A battery holders:

So, I went ahead and soldered 4 of these together, then ran wire down to the battery pins and soldered them there.

No photo description available.

Then, I used tape to secure everything.

It worked perfect! I finished taping it up, then lent it to some activist friends to use.

Reverse engineering a circuit to repair faulty boards

I was working on a personal project in the UWM Makerspace the other day, when Chris Beimborn, the Outreach Coordinater of the College of Engineering and Applied Science (CEAS), as well as the leader of a program called EnQuest, an Engineering program for high school age girls.

Over the past semester, they have been working on assembling Solar Panel stands and wiring up some cellphone charger boards for a project for a village in Guatemala. This mountainous village has no electricity, since the power lines were cut during a civil war. However, they still have a need for electricity, and cell phones for internet access. The area has cell phone reception, just no electricity. This is their means for communication with the world.

So, EnQuest was assembling these boards for the solar phone chargers, so villagers wouldn’t have to walk to the next village over to charge their phones. These chargers were then to be brought over by the UWM chapter of Engineering without Borders.

So, Chris comes to me asking if I could take a look at some boards. The boards were shipping out the next day, about about 10 of them weren’t working properly, as well as 2 solar panel assemblies. The SMD work was done by a group of volunteers who weren’t able to repair them in time, so I decided to take a look.

First I started with the datasheet of the only IC on the board, the TPS5516. Looking at the recommended schematic, I drew it out on a whiteboard. 

I then compared it to the printed circuit board I had on my desk, and annotated the schematic. I probed around with a multimeter. On some of the boards I was getting some odd readings, the V_Sense and V_Reg pins were reading the 5V but then the V_Out was reading 2.9V. The PG pin wasn’t on, so the power indicator light was off. PG ended up standing for “Power Good”

Probing around more, all of the other components were reading fine. I then decided to look under our microscope to see if I could find anything that was wrong with the soldering job. Immediately I was greeted with two mistakes notorious with SMD work.

Green: Solder bridging SMD pins

Red: Cold solder joint from hand soldering

So, pins were bridged on just about every faulty board. In addition, on half of these boards, the capacitor that controls the oscillation for the buck converter wasn’t even making contact!

After cleaning up the solder jobs and cleaning the flux off the board with isopropyl alcohol,  I was able to restore 9 out of 10 boards back to working order! The 10th board had a trace that was ripped off from thermal stress when the high-schoolers were soldering the large inductors on.

We were then able to package and ship them out, just in time for the Engineering without Borders team to take them to the airport.

Back at it with the SDR

My latest SDR project is a simple idea- a universal handicap door opening fob. The idea came to me one day, watching a lady in a wheel chair struggle to open the handicap door. She had to wheel up to the door, hit the button, wheel back, and then wheel forward through the door. And it took a good 10-20 seconds in the Wisconsin cold to wait for the door to open as well.

After witnessing this, every time I went through a building entrance, I imagined how someone with a physical disability might interact with the doors. And every time I noticed something that would really make entry a whole ordeal. It’s something that I feel engineers, building architects, whatever, just hadn’t thought about.

After about a week of making these observations, I started to notice the button placement, many times this box would be affixed to the side of a brick wall. And that got me thinking, “Do they really drill and run a cord through a block of concrete??” It dawned on me that it is actually a wireless transmitter and receiver!

So I broke out my RTL-SDR module and started recording. I used SDR# software to record the transmissions of 12 transmitters all around the EMS and Physics buildings. I ended up finding that it was an On/Off keyed signal, pretty standard and easy to work with.

The transmitters themselves are centered around 434 MHz, just like a car fob or garage opener. I found the frequency by using the FCC website, which contains a datasheet of every wireless transceiver in the US with FCC compliance. The datasheet of the transmitter contains the output power, the frequency, and other aspects that are useful for reverse engineering.

Picture of the transmission signal
Two of the recorded transmission signals

So, with the SDR#, I was able to record the audio of the transmitted signal, decoded from the carrier wave. Since it is On/Off keyed, the signal resembles binary. I thought it would be very inconvenient to make sense of 12 different signals like this, so I wrote a script in Matlab found here:

//11// 330C30C30C061980CC30C30C30C066 186033000
//02// 330C30C30C066186030CC301986186 186033000

//09// 61980C330C061980CC301866186186 186033000
//03// CC30C30186603301980CC30C061866 186033000
//07// C1980C1983018330198301980CC0660C066033000
//08// 1866030CC3018660330C066030C330 1866033000

//05// 904104101208202410410120820820809000


So here were the different signals decoded into HEX. Using this I was able to re-transmit the data using my Hack-RF SDR transceiver. Transmitting this, I was able to open each individual door remotely. I am also working on finding a general pattern. For example, each different model seems to have a different transmission protocol. There seems to be a preamble determining the model, a unique identifier, then another section that seems to transmit the model again.

My next steps are to build a schematic with a half-duplex transceiver IC, a microcontroller, and then some sort of EEPROM chip to record and store transmissions. This way any models I don’t have access to will still be able to be opened by this fob I create.

I feel like this will greatly benefit those with physical disabilities, allowing such individuals to go through the door without having to wait outside while the door opens. I imagine this would greatly improve the quality of life for these individuals.

How I 3D Printed My Kidneys

So, the other week I was in the hospital for extreme abdominal pain. Turns out, after a CAT scan, I found out I had kidney stones. Worst pain I’ve ever felt.

On the plus side, I was able to ask the CT techs for the DICOM files! DICOM is a protocol that stands for Digital Imaging and Communications in Medicine, and this is what the CAT scan machine spits out.

What a CAT scan machine does is take an X-ray while moving the patient (me) and rotating the x-ray aperture (emitter) and corresponding sensors. The procedure took a couple of minutes, and the result was thousands of individual x-ray image “slices” from all different angles. Using clever maths, it’s possible to use those shots from multiple angles to determine the density of whatever is being imaged. In this case, it was my abdomen and kidneys. The darker areas shows are areas that did not absorb much radiation: skin, muscle, fat, etc. The lighter areas are areas that bounced back much of the radiation, namely my organs and bones.

The CT tech’s computer takes all of these individual slices, stitches them together, and creates a 3D model that they can analyze, and view in both 3D and 2D. The 2D slices generally correspond to the 3 planes of the body, Sagittal, Coronal, and Transverse, planes. Through these planes, they can pan back and forth through the body.

With those sliders, it’s possible to pan back and forth, through the body, looking at all sorts of different layers.

Now, the files the techs gave me were only 2D, so I used a program called 3D slicer. It can be found here: . It is a very powerful program, allowing you to identify, or trace, over the individual slices. The end result is a 3D composite made from the individual slices. Here is what the output from 3d slicer looked like:

Note that there are a lot of lumps, ridges, and points, that are due to artifacts from the slicing process. I then put the raw .obj files and opened them up in Z-Brush. Z-Brush is a powerful and intuitive sculpting and modeling program, usually used for digital artists. With it, I was able to remove the many artifacts and smooth the kidney out to what it should look like:

I then opened up the .obj file in Slic3r (not to be confused with 3d slicer), added support material, and got the file ready to be printed. I exported it as gcode and got it ready to print!


Unfortunately I haven’t had a chance to actually print the kidneys, I’ve been too busy with work and school.

I plan to stop at Milwaukee Makespace this Tuesday, and I will upload the pictures of it as soon as the print is done!