Digipeater hardware build video

Kenneth Finnegan writes:

This is the hardware build of a new digipeater one of my friends asked me to put together for him. The transceiver is a GM300, with a KAM plus TNC modulating it. If we didn’t happen to have a KAM+ on hand, I would have probably used an OT3m from Argent Data.
He’ll provide the computer, but for testing I have it hooked up to a Qotom Q310G4 running Aprx.
As mentioned in the video, when I’m working with CAT5 cable, I love using the GreenLee 4908 toolkit.

Pi Cart: 2,400 Games In One

What’s the quickest way to turn one game into 2,400? Cram a Raspberry Pi Zero running RetroPie into an NES cartridge and call it Pi Cart.

This elegant little build requires no soldering — provided you have good cable management skills and the right parts. To this end, [Zach] remarks that finding a USB adapter — the other main component — small enough to fit inside the cartridge required tedious trial and error, so he’s helpfully linked one he assures will work. One could skip this step, but the potential for couch co-op is probably worth the effort.

Another sticking point might be Nintendo’s use of security screws; if you have the appropriate bit or screwdriver, awesome, otherwise you might have to improvise. Cutting back some of the plastic to widen the cartridge opening creates enough room to hot glue in the USB hub, a micro USB port for power, and an HDMI port in the resulting gap. If you opted to shorten the cables, fitting it all inside should be simple, but you may have to play a bit of Tetris with the layout to ensure everything fits.

Using a Back To The Future game cartridge encapsulates the essence of this project, considering its contents would be nearly science fiction back in the 1980’s — a nice touch. We’ve featured plenty of RetroPie setups — each with their own unique flair — but if you’re looking for a more period appropriate gaming station, you could simply gut an NES for the purpose.

Filed under: how-to, Raspberry Pi

Easy UFO Lights on your Drone for Halloween

Sometimes it’s not so much what you put together, it’s how you use it. The folks at Adafruit have put up a project on how to dress up your drone with ‘UFO lights’ just in time for Halloween. The project is a ring of RGB LEDs and a small microcontroller to give any quadcopter a spinning ‘tractor beam light’ effect. A 3D printed fixture handles attachment. If you’re using a DJI Phantom 4 like they are, you can power everything directly from the drone using a short USB cable, which means hardly any wiring work at all, and no permanent changes of any kind to the aircraft. Otherwise, you’re on your own for providing power but that’s probably well within the capabilities of anyone who messes with add-ons to hobby aircraft.

One thing this project demonstrates is how far things have come with regards to accessibility of parts and tools. A 3D printed fixture, an off-the-shelf RGB LED ring, and a drop-in software library for a small microcontroller makes this an afternoon project. The video (embedded below) also demonstrates how some unfamiliar lights and some darkness goes a long way toward turning the otherwise familiar Phantom quadcopter into a literal Unidentified Flying Object.

While it might be tempting to buzz people to show off the effect on Halloween, flying over or around people with what is essentially an airborne surprise blender is a needless risk. But you don’t need people around; drones (and some cleverness) have opened many doors for the amateur film crowd.

Filed under: led hacks

Train Time Ticker Will Save Your Morning Commute

The fatal combination of not being a early riser and commuting to work using public transit can easily result in missed buses or trains. Frustrated with missing train after train while fumbling with a complicated transit schedule app, [Fergal Carroll] created a Train Time Ticker to help his morning routine run right on time.

A Particle Photon hooked up to a 2.2″ TFT screen — both mounted on a breadboard with a button — fit the purpose tidily. Weekday mornings, the Ticker pulls — from a server he set up — the departure times for the specific station and platform along [Carroll]’s commute every three minutes; at all other times, the Ticker can be manually refreshed for any impending trips.

[Carroll] has provided a clear, step-by-step guide on how to wire and program your own device — subbing in transit information relevant to you, of course. Over a month of use, it has resulted in far fewer missed trains, and has probably saved some headaches in the mornings to boot!

We’ve featured some other fancy ticker projects on Hackaday — this one will keep you abreast of the latest bitcoin fluctuations, while another is a spiffy way to print off your emails.

Filed under: clock hacks, how-to, transportation hacks

Guide for BMP180 barometric sensor with Arduino


A how-to on using the BMP180 barometric sensor with the Arduino from Random Nerd Tutorials:

The BMP180 barometric sensor (model GY-68) is the one in the following figure (front and back view). It is a very small module with 1mm x 1.1mm (0.039in x 0.043in).
It measures the absolute pressure of the air around it. It has a measuring range from 300 to 1100hPa with an accuracy down to 0.02 hPa. It can also measure altitude and temperature.
The BMP180 barometric sensor communicates via I2C interface. This means that it communicates with the Arduino using just 2 pins.

Light intensity meter using AT89C52 microcontroller


AM Bhatt over at Engineers Garage writes:

In the given project, LDR is used to measure light intensity inside the room. With a minor change in the circuit, it can be used to measure outdoor light intensity also. It uses microcontroller AT89C52 and LCD to display light intensity. It also indicates how much light inside room like “full light”, “good light”, dim light” etc. However, microcontroller cannot detect the change in resistance directly. LDR has to be given biasing voltage along with pull up or pull down resistance so that change in resistance is converted into change in voltage. The change in analog voltage is converted into digital equivalent using ADC and this digital value is read by microcontroller. Let us discuss this in somewhat more detail manner.

More details at Engineers Garage homepage.

Check out the video after the break.

The Little Things I Didn’t Know About Small DC Motors

We’ve all taken apart a small toy and pulled out one of those little can motors. “With this! I can do anything!” we proclaim as we hold it aloft. Ten minutes later, after we’ve made it spin a few times, it goes into the drawer never to be seen again.

It’s all their fault

It always seems like they are in everything but getting them to function usefully in a project is a fool’s errand. What the heck are they for? Where do people learn the black magic needed to make them function? It’s easy enough to pull out the specification sheet for them. Most of them are made by or are made to imitate motors from the Mabuchi Motor Corporation of Japan. That company alone is responsible for over 1.5 billion tiny motors a year.

More than Just the Specs

In the specs, you’ll find things like running speed, voltage, stall current, and stall torque. But they offer anything but a convincing application guide, or a basic set of assumptions an engineer should make before using one. This is by no means a complete list, and a skip over the electrics nearly completely as that aspect of DC motors in unreasonably well documented.

The paint mixers high running speed and infrequent use make it a decent candidate for hooking directly to the motor.
The paint mixers high running speed and infrequent use make it a decent candidate for hooking directly to the motor.

The first thing to note is that they really aren’t meant to drive anything directly. They are meant to be isolated from the actual driving by a gear train. This is for a lot of reasons. The first is that they typically spin very fast, 6,000 – 15,000 rpm is not atypical for even the tiniest motor. So even though the datasheet may throw out something impressive like it being a 3 watt motor, it’s not exactly true. Rather, it’s 3 N*m/s per 15,000 rotations per minute motor. Or a mere 1.2 milliwatt per rotation, which is an odd sort of unit that I’m just using for demonstration, but it gives you the feeling that there’s not a ton of “oomph” available. However, if you start to combine lots of rotations together using a gear train, you can start to get some real power out of it, even with the friction losses.

The only consumer items I can think of that regularly break this rule are very cheap children’s toys, which aren’t designed to last long anyway, and those powered erasers and coffee stirrers. Both of these are taking for granted that their torque needs are low and their speed needs are high, or that the motor burning out is no real loss for the world (at least in the short term).

This is because the motors derate nearly instantly. Most of these motors are hundreds of loops of very thin enameled wire wrapped around some silicon steel plates spot welded or otherwise coerced together. This means that even a small heat event of a few milliseconds could be enough to burn through the 10 micrometer thick coating insulating the coils from each other. Practically speaking, if you stall a little motor a few times in a row you might as well throw it away, because there’s no guessing what its actual performance rating is anymore. Likewise, consistently difficult start-ups, over voltage, over current, and other abuse can quickly ruin the motor. Because the energy it produces is meant to spread over lots of rotations, the motor is simply not designed (nor could it be reasonably built) to produce it all in one dramatic push.

Making Contact

Pololu has the clearest picture of the different kind of brushes inside these small motors.
Pololu has the clearest picture of the different kind of brushes inside these small motors.

This brings me to another small note about these tiny motors. Most of them don’t have the carbon brushes one begins to expect from the more powerful motors. Mostly they have a strip of copper that’s been stamped to have a few fingers pressing against the commutator. There’s lots of pros to these metal contacts and it’s not all cost cutting, but unless you have managed to read “Electrical Contacts” by Ragnar Holm and actually understood it, they’re hard to explain. There’s all sorts of magic. For example, just forming the right kind of oxide film on the surface of the commutator is a battle all on its own.

It’s a weird trade off. You can make the motor cheaper with the metal contacts, for one. Metal contacts also have much lower friction than carbon or graphite brushes. They’re quieter, and they also transfer less current, which may seem like a bad thing, but if you have a stalled motor with hairlike strands transferring the pixies around the last thing you’d want to do is transfer as much current as possible through them. However, a paper thin sheet of copper is not going to last very long either.

So it comes down to this, at least as I understand it: if bursts of very fast, low energy, high efficiency motion is all that’s required of the motor over its operational life then the metal strip brushes are perfect. If you need to run the motor for a long stretches at a time and noise isn’t an issue then the carbon brush version will work, just don’t stall it. It will cost a little bit more.

Take Care of Your Tiny Motors

Here is one of these can motors being restrained properly. Only torque on the case itself is restrained. The motor is otherwise free to move.
Here is one of these motors being restrained properly. Only torque on the case is restrained. The motor is otherwise free to move.

To touch one other small mechanical consideration. They are not designed to take any axial load at all, or really even any radial load either. Most of them have a plastic or aluminum bronze bushing, press-fit into a simple stamped steel body. So if you design a gearbox for one of these be sure to put as little force as possible on the bearing surfaces. If you’ve ever taken apart a small toy you’ve likely noticed that the motor can slide back and forth a bit in its mounting. This is why.

Lastly, because most of these motors are just not intended to run anywhere near their written maximum specifications it is best to assume that their specifications are a well intentioned but complete lie. Most designs work with the bottom 25% of the max number written on the spreadsheet. Running the motor anywhere near the top is usually guaranteed to brick it over time.

These are useful and ubiquitous motors, but unlike their more powerful cousins they have their own set of challenges to work with. However, considering you can buy them by the pound for cheaper than candy, there’s a good reason to get familiar with them.

Filed under: Curated, Engineering, news

Creating A PCB In Everything: Friends Don’t Let Friends Use Fritzing

This week, we’re continuing our Creating A PCB In Everything series, where we go through the steps to create a simple, barebones PCB in different EDA suites. We’re done with Eagle, and now it’s time to move onto Fritzing.

fritzing-logoFritzing came out of the Interaction Design Lab at the University of Applied Sciences of Potsdam in 2007 as a project initiated by Professor Reto Wettach, André Knörig and Zach Eveland. It is frequently compared to Processing, Wiring, or Arduino in that it provides an easy way for artists, creatives, or ‘makers’ to dip their toes into the waters of PCB design.

I feel it is necessary to contextualize Fritzing in the space of ‘maker movement’, DIY electronics, and the last decade of Hackaday. Simply by virtue of being an editor for Hackaday, I have seen thousands of homebrew PCBs, and tens of thousands of amateur and hobbyist electronics projects. Despite what the Fritzing’s Wikipedia talk page claims, Fritzing is an important piece of software. The story of the ‘maker movement’ – however ill-defined that phrase is – cannot be told without mentioning Fritzing. It was the inspiration for CircuitLab, and the Fritzing influence can easily be seen in Autodesk’s 123D Circuits.

Just because a piece of software is important doesn’t mean it’s good. I am, perhaps, the world’s leading expert at assessing poorly designed and just plain shitty PCBs. You may scoff at this, but think about it: simply due to my vocation, I look at a lot of PCBs made by amateurs. EE professors, TAs, or Chris Gammell might beat me on volume, but they’re only looking at boards made by students using one tool. I see amateur boards built in every tool, and without exception, the worst are always designed in Fritzing. It should be unacceptable that I can even tell they’re designed in Fritzing.

Fritzing has its place, and that place is building graphical representations for breadboard circuits. Fritzing has no other equal in this respect, and for this purpose, it’s an excellent tool. You can also make a PCB in Fritzing, and here things aren’t as great. I want to do Fritzing for this Creating A PCB In Everything series only to demonstrate how bad PCB design can be.

For the next few thousand words, I am going to combine a tutorial for Fritzing with a review of Fritzing. Fritzing is an important piece of software, if only for being a great way to create graphics of breadboard circuits. As a PCB design tool, it’s lacking; creating parts from scratch is far too hard, and there’s no way to get around the grid snap tool. No one should ever be forced to create a PCB in Fritzing, but it does have its own very limited place.

Not Making A Part In Fritzing

Our quarry, the ATtiny85
Our quarry, the ATtiny85

As with all tutorials in this Making A PCB series, I would like to start off by making a part, specifically an ATtiny85. Does Fritzing come with an ATtiny85? Yes, it does, but that’s not the point. You do not know how to use a PCB design tool unless you know how to make a part for yourself — what you own owns you, self-sufficiency, and all that jazz. It’s the mindset required for any hacker or maker philosophy, and necessary for anything that bills itself as an engineering tool, because sometimes you are the first person to use a particular part.

You cannot create completely new parts in Fritzing. This is from a blog post highlighting the new Parts Editor released in version 0.7.9. Packages can be edited into new parts, and most jellybean components have drop-down menus for different values; in the parts library, the through-hole resistor is a 220 Ω, but there’s a drop-down menu for the most common values you’ll need.

Of course, you can create new parts in Fritzing, and that blog post saying you can’t is an oversimplification. The parts already in the Fritzing library got there somewhere, but recreating the efforts of the devs is a pain. First, you need to download Inkscape, draw your package with pins and pads and text on an unreasonable number of layers. Save that as an SVG, go into Fritzing, edit an existing package, do the macarena, sacrifice a goat on the night of the blood moon, and eventually, you’ll have your completely custom Fritzing part. This is unnecessarily complex for any EDA suite.

I will not be demonstrating how to make a part in Fritzing. It’s far too much effort for far too little payoff. No one should use Fritzing to create a PCB, anyway, much less create their own parts from scratch.

Step 1: Create Your Board On A Breadboard


There are three steps to creating a PCB in Fritzing. The first is to create a breadboard circuit, the second is to turn that into a schematic, and the last is turning that schematic into a board. This is simple enough, the search function works, and the circuit we’re building can be easily built on a breadboard.

It’s important to note this skeuomorphic design pattern shouldn’t be taken too literally. You can build things in Fritzing with an Arduino or Raspberry Pi, but neither of these are breadboard friendly. Here, you need to drop things off to the side of the solderless breadboard and run a few wires. That’s what I did with my USB port here.

Step 2: The schematic

At the beginning of every school year, first-year engineering students are rounded up into a lecture hall for an introduction to the program. Around the end of this lecture, the head of the department walks up to the podium and says, “Look to your left, look to your right, one of you will not make it to graduation.” Fritzing sat between two mirrors. The following schematic says it all:


contextual-menusThere are no nets and no busses in the Fritzing schematic view. The only way to connect parts together is by connecting individual pins together. You can’t name connections like you can in Eagle, or in any other EDA suite. This is the bare minimum of what schematic design can be. It can be done, but it’s not done well.

One of the more annoying unfeatures I found was the inability to rotate a part by right clicking. To rotate a part in Fritzing, you need to go through a contextual menu. This is horrifying and seriously cuts down on productivity.

Fritzing’s schematic design philosophy is based on wires connecting two pins, instead of nets between pins. Try to ‘tap into’ a wire in the schematic view in Fritzing. You can’t, unlike every other schematic capture application on the planet. In comparison, Fritzing’s schematics are terrible.

Step 3: Making A PCB

This is the meat of this post. No one needs to know how to connect parts together on a physical breadboard and a bunch of wires. The breadboard interface makes sense – it should, anyway, since the greatest use case for Fritzing is creating graphics of breadboard layouts. The schematic is ugly, but it “works”. Now it’s time to actually build a board in Fritzing. What does that look like?

Never trust the autorouter.
Never trust the autorouter.

Putting the obvious aside, let’s go over what we actually have here. In Fritzing, you can make a two-layer board. The color for the top layer is yellow, the color for the bottom layer is… darker yellow. Several board outlines are included, from a resizable rectangle to Arduino and Raspberry Pi shields (a neat feature!). Holes are possible, and despite what nearly every PCB made in Fritzing says otherwise, traces with a width smaller than 24 mil are possible. This is important because the micro USB port we’re using is unusable with 24 mil traces.

There are a few cool features to the Fritzing PCB mode. Nets are color-coded, for instance, which would be welcome in any piece of software intended to build PCBs. There are shortcomings, though. Copper pours are separated into two categories: ground fills and copper fills. What’s the difference between these two? Ground fills may only be applied to ground signals. Copper fills can be applied to any signal. It doesn’t take expert knowledge of PCB design to see this distinction is arbitrary; all a copper/ground fill does is draw a polygon, fill that with copper, and connect the relevant pads. There is no way to define the shape of this polygon in Fritzing. This is harder than it needs to be.

curvedOne frequently repeated falsehood concerning Fritzing is that it is fundamentally incapable of doing curved traces; that’s why all boards made by Fritzing look terrible. This is not true. You can curve a trace by holding CRTL while dragging it. In fact, a lot of what makes PCBs made in Fritzing look bad can be corrected by pressing either CTRL or Shift while dragging a trace. Traces snap to 90° if you hold down Shift.

Of course, there are problems. Vias, or running a trace from one layer to another, is unnecessarily hard. I would rather use any other EDA suite except for Fritzing, but you can make a board in it. Check it:


Does it work? Yes, probably. If that’s the measure of a success, Fritzing is an acceptable PCB design tool. I’m a little more particular, and like usability in my tools.

Turning A Fritzing Board Into A PCB.

Right at the bottom of the screen, you can find a ‘Fabricate’ button that will send your board to a fab house in Berlin. The cost for my board is €6.26 for one. Of course, you can export a Fritzing board as a Gerber, and send that off to any fab house on the planet. For my board, OSH Park will give me three for $7.15. I could get ten of these boards made by the Fritzing fab for €55.44, but I already bought twenty of them for $36.29 from Seeed Studio.

Is Fritzing a good PCB design tool? No, no it’s not, and friends don’t let friends use Fritzing. If you have zero money, but still want to design a board, Eagle is free. Making parts in Eagle is easier, and there’s a link to a really great guide below. KiCad is also free (speech and beer), and and you can literally design anything with it. There are better options.

Fritzing has a place, though, and that’s making graphics for your Medium blog on how you made a Raspberry-Pi-powered weather station. Here, Fritzing excels. It has everything you need, a relatively simple user interface, and makes great graphics. Friends don’t let friends use Fritzing for PCB work, but if you need a graphic of a breadboard layout, I haven’t seen anything better.

Filed under: Hackaday Columns, how-to, news, Skills

Tutorial: RFID tags with the NXP NFC controller PN7120 and Eclipse


Erich Styger writes:

Playing with RFID and NFC is definitely fun🙂, and they are everywhere! For a research project I’m exploring different RFID tags and solutions. I several types around for a long time, but never found the time to actually work on it, so last nightI thought I give it a try, and I have it working with GNU ARM and Eclipse, powered by the NXP FRDM-K64F board🙂

More details at MCU on Eclipse site.