Monday, March 28, 2016

Prototype online, new discoveries


So the finishing touches and the tweaks begin on the Naked Node. I went ahead this weekend and finished up the last little construction and configured the BeagleBone computer, as well as the echolink configuration as well.

The node works, proving that that circuits work. I was able to drive more than 3 miles away and get into the node from the car. I have discovered though that there is still an RF problem. When the radio keys, after receiving a signal, and then you try and talk into the node from a handheld, it seems that the micro-controller has a bit of a lag recovering from one mode to the other. Not sure if this is because of the code, RF getting into it, or a design problem. Sometime I have to key the radio a couple of time before the node responds. I noticed that the heartbeat LED on the micro-controller, stops for a second or two and then restarts back blinking. This is telling me the firmware is stopped running and then restarts. Im looking into both the code, and perhaps toning down the radios power output even more.

In the video, two fellow hams are talking. You'll notice that I slapped on the 20x4 LCD. I did this so I could go ahead and run some tests, before adding the touchscreen. Its all part of the design process, working out what bugs you might not have anticipated. The tow hams are located in Arizona, and Long Beach, CA. I didn't catch the calls.





So work continues, as I finish up this node, and make preps for a improved node in the future, as well as lessons learned for the continued repeater build coming later this summer.

In the meantime.........

Happy Coding ( and building)



Wednesday, March 16, 2016

Final touches on the Display

So works continues on the Naked Node Project. I have been concentrating on the display. I wanted to add some additional features, and have a couple more to add, but Im enjoying the challenge.

I added two additional buttons at the bottom of the screen to turn the radio and the computer off and on via the touchscreen. I have to admit calibrating the touchscreen is a bit of a chore, especially since this screen isnt the greatest in the world. I ended up chopping up the parts of the sketch for the screen into multiple voids, so that the main loop would run faster. The original way I had it caused you to push the buttons multiple times before the request registered on the MCU. Chopping up everything made this a lot faster. There are a few occasions that I have to push the button twice, but that ok for this project.

As promised I will show the S- Meter animation. Its not the greatest video but you get the idea


S Meter Animation


I also as mentioned added two additional buttons. Each button is now capable of turn the radio or the computer off and on using a single key. When the equipment is ON, the button changes to a filled color, when its off, then its just a void button. I had a lot of fun getting one button to do both desired functions, but it works.

   



                            When the equipment is off, this is how the voided out button looks


Buttons have turned on the equipment

Though the photos dont really do justice, the radio button is actually green, and the computer button is a light shade of purple. The lighting messes with the hue of the photo.

This is about it for this update. Work continues on the project. Ill post the code once its all cleaned up for those that might wanna see whats going on.

In the meantime..........

Happy Coding!







Tuesday, March 15, 2016

Little Suprise....the Cherry on top

So work on the node continues. I decided to kinda take the node to the next level. I realize that its a bit over the top but I like my projects that way.

I finished level 3, the radio level, and decided to add a 4th level. Most will say that its unnecessary, but in reality I wanted to do this because its the precursor to the front panel of the repeater. So what is it?  Well I added a display. The first version was an I2C 20x4 LCD. I had one laying around so I decided to use it. Being that its I2C it was easy to interface, and a snap to write the code.......

Then of course I changed my mind. In reality I changed it for a good reason. I had an older 3.2 inch TFT screen available. I decided that I would try that. It wasnt bad to interface, and though a little more difficult to program I think the result looks clean and nice. Im not a huge fan of a lot of clutter, so I kind of modeled after the ICOM IC-5100 their first generation D-Star radio. I finally added a splash of color as you will see and I animated the S Meter as well. Here are the shots, one with the radio in transmit and the other receiving a signal

My inspiration was the IC-5100 by Icom.



Im a big fan of graphics. I just think the IC-5100 display is clean, easy to read, easy on the eyes and really looks professional. It was what I used to model my display after.....Thanks ICOM!





I havent added everything I want to the screen. It is a touchscreen and Im working on the bottom row of buttons, which will eventually power the system off and on, and maybe kill the radio while leaving the computer attached to the network. I liked the font I found which gives the screen a clean look and not just ordinary. A font conversion utility from an engineer at Adafruit turned me on to converting and uploading my own custom fonts, which I have to say once you learn how, it makes ordinary TFT screens really stand out.

When I am fully finished Ill add a video of the screen in animation so you can see the S Meter in action. Once Im done editing as well Ill post the code for the screen.

In the meantime, work continues on the Naked Node. My hope is to have the Node finished in the next few days, depending on available free time..........

In the meantime

Happy Coding!


Monday, March 7, 2016

Naked Node work continues with Part 3

With the Control layer done and wired up, its time to start on the next layer. This next later is one of the easier ones, the computer layer.



The Computer layer is pretty basic. Its consists of a BeagleBoneBlack credit card computer running a version of Allstar link, the image written by WA3DSP. You can also see the soundcard FOB that will be modified and fed to the control layer.

The SMAKN module is  the battery eliminator for the node radio. Commercial bought, this module takes 12VDC and converts it to the 3.7VDC needed by the radio. Its just simpler to buy this commerical converter than it is to make one, wait on the boards, and populate them. Its cost a whopping 5 bucks off amazon.com.

The only other thing to show here is the underside of this layer



The underside I have added to save space, a relay module. Again this was also bought commercial for another project that I decided not to do, so I used it here. The MCU will connect to this module and command it to do what I want. Its just easier to used this than try and make one myself. In this case both the battery eliminator and the relay module saved alot of time. We can see I started wiring up the battery eliminator to the relay. One will turn on and off the radio, the other relay will turn on and off both layers 1 and 2. This way I can kill the radio, yet say connected to the Allstar network if I wish, and then turn on the radio when I want the link active.

Thats really it for Layer 2. Nothing really complicated here. In the next post we will move on to the radio layer, layer 3, and the final layer which is a surprise for now

In the meantime as always

Happy Coding!

Naked Node Part 2

So the work on the Naked Node continues. Seems I have found myself with some build time, so I decided to take full advantage. The Node is built in layers, each layer, for me, is a different function. Some may look at it and say this can be built a lot less complicated, and a lot smaller, but for me thats not the point. My point in all of this is to make a fully function node, broken into modules, that if something were to go wrong, troubleshooting can be simplified down to a module, and the module or even a layer, could be switched out, and Im back in business. Likewise, if I want to play and add features, I can use the basic building blocks to do so, even reconstructing a layer on the bench, adding what I want and then swapping in the new layer for the old....

So the bottom layer is the brains. As I discussed before, the larger board is actually on old repeater control board, all be it a flawed design, I could re-purpose it for this project by modifying the board. In your design, and when I get around to it, I have already designed a replacement for this board thats a lot smaller, and does the job. In my case, with the bad boards I had, I could go ahead and start on this and visit it later to replace the re-purposed board. You could even design something to do the same job. The cool thing with this is you can be the designer. The basic building blocks of this are simple to use, easily available, and not hard to modify, so have at it.......

Ill point out too that each layers base is built on 3/8 thick plexi-glass. I both love this medium and hate it. I love it in that its readily available, and with just a Dremel tool, I can cut and shape it, with not too much mess. The finished product looks clean, and cool. Its light weight as well. The cons are of course you cant solder to it, grounding things takes a little thought process since you cant use the layer as a ground, and drilling.........oh the drilling. I have broken several nearly completed layers using a brand new drill bit and a variable speed drill. I finally found out if you put painters tape on the area to be drilled, especially if its close to the edge, mark the holes and carefully at slow speed drill until your are almost through, reverse the drill and carefully push the bit the rest of the way through, actually melting the remaining material out of the way, you end up with perfect holes. I broke 5 of these layers before I found the combination that worked....I think perhaps in later designs I might switch to aluminium stock....this is a prototype after all

The bottom layer consists of the modified controller board, a MCU, a repeater module, a buffer board and a FOB interface board, all of which were originally designed for the repeater. Since I had extras, I just populated the boards, and left off what I didnt need.


Figure 1


Figure 2

The boards are visible here. You can see that the controller board is huge, in my case 4inchs x 4inches. This is total over kill, but remember, these are useless for the repeater, so why not use them here. You can see as well that there is a lot of unused ports. The port next to the Arduino ProMini328 interface board, is what would normally be the MCU display board running a touchscreen on the controller unit in the repeater. Likewise, there are two smaller header ports, one for a Control radio link transceiver, and one for a remote base. Of course both arent used here.



The MCU interface board is nothing more than allowing me to take a smaller Arduino ProMini, and turn it vertically making use of the vertical space instead of having to make a bigger board. Its also removable, and able to be programmed in place with a laptop if I want to upgrade the firmware. I have also broken out the SDA and SCL pins so that in the repeater, a I2C LCD screen could be attached for troubleshooting problems. Ill explain more of that when I write up the repeater build, for now its just there. The arduino works just like any other arduino, I just mounted it vertically is all so I can squeeze 2 of these MCUs on one smaller 4x4inch board.......saves on PCB costs.

The USBFOB board is located in the lower right hand corner of Figure 2. You can see the baby blue BAT43 diodes that stand out.



The USBFOB board is a simple design. Many that have ALLStarLink repeaters, nodes and other equipment have used the StarTech USB sound card to interface a computer with the Allstar network. These works great allowing for radio carrier detection, PTT, and audio interfacing. I designed a little board to allow nearly all of my connections to the USB soundcard, to be made external so that I could minimize the amount of soldering to the CM108 chip in the FOB. I can do SMD soldering, but this way I  simply remove a LED, and make just 2 solder connections to the CM108 chip and Im done. I dont have to solder transistors, diodes and all that in the FOB. Conversion of the USB Sound card can be found on the web, Ill cover my mods later, for now here is the schematic of the board I made, and this is plugged directly into the repeater control board....or better in this case my node controller card. Note to I add notes to my schematics, its just for me, that way if I have to fix something, I dont have the ask myself...ummm " why is that transistor there again"..........just saves time.



Finally beside the radio module ( which I have covered in a previous blog) this is the buffer board. Now this board isnt totally necessary. I like to use a buffer when I am sending signals from one unit to the MCU. This cant be done several ways, some use ICs, some use pullups and pull downs, I like to channelize things. Its a little more work, but it gives me a clean 4.3V HIGH signal and a clean LOW signal to take in from a module, and send it to a MCU. I also like to plcae a diode on the output path. You can see several of these in Figure 1. This provides isolation as well between the buffer and the MCU. I like to keep the MCUs isolated, and with transistor output, everything is clean and loading between stages kept to nearly zero. Its an old habit from decades past. I relaize you can put IC buffers in there like a 74HC07, or similiar, but when you have 300 2N3904s and 3906s hanging around, you tend to use them when you can....The buffer board is noninverting, two stage board, what goes in is what comes you at a pure 5Vdc, the .7Vdc drop is the isolation diodes I mentioned earlier.



The last thing to mention is I did go with a commercial LDO voltage regulator, seen on the left in Figure 2), they are fully adjustable from 1.5 to 37Vdc. I love the LM2596 chip! Its also handy to have the 7 segment readouts, no meter needed. You simply feed these with 12Vdc, adjust down to 5V, done!

I havent covered programming ht MCU, Ill write more in a later blog about the firmeware. For now this covers the bottom layer! More later

Happy Coding!

Tuesday, March 1, 2016

Little fun with VOIP/ Naked Node

So its been a while since I posted anything, and thats mainly due to the fact that the end of the year, especially fall and winter is chalked full of things to do, not to mention the holidays! Never fear though Im always dabbling in something.......

The project I have been working on actually formed out of a couple of mistakes. I got the boards in for the repeater controller and after about 2 hours of putting parts on them I discovered a couple of mistakes. One of these mistakes, routed an output signal to the wrong input, and another found a trace that hadnt been put on the board. Both were my mistakes. I learned the hard way now that if you dont run the board through an ERC error check, or like I did, went through it really fast, you end up with a board that could cause you lots of fits.....I discovered this the hard way, fits and all.......so what to do. I made the mistake, all be it, a 20 dollar mistake. So I thought about it for a while and relaized that while I couldnt use the board in the controller, I could re-purpose it for something else ( and yes I resubmitted the correct boards to the fab house.......again......

I was cruising around on the web, and found something that looked like I could have fun with. Several hams have used the concept of a private ALLSTARLINK node and taken it a step further, creating what many called the " Naked Node" The Node is nothing more than a radio link to the Allstar Network, using a simplex radio on UHF or VHF. You house the node in an open non-boxed concept leaving the internal boards and all naked to the visible eye. Many hams have done something like this including W0ANM, WA3DSP and KP4TR, you can check out their web pages via google, or search Naked Node.......

I had the extra Beagle bone black v4, the botched control boards, extra UHF handie, and a few things I needed to order. I thought, heck why not. Of course the Rich curse slowly kicked in. This went from a simple node to something I have added to and added to but hey, building is what I do, and enjoy, so if I choose to make it a bigger thing than needed, its just the way I like to have fun.

The radio was pretty easy to modify. I had a BF-888s, in fact I have 2. They are cheap, easy to part out and modify. There were some web sites that had excellent step by step instructions on how to do this.


The bottom picture shows the radio after first opening it, and the top shows the radio after the modifications. Aside from needing to pull the entire circuit board out, and some desoldering, the whole mod only took about an hour. When I was done, I could remotely key the radio and had a positive going COS ( carrier present signal) as well as both mic, and received audio. For now Im concentrating on the control circuits, so I havent fiddled with the audio just yet.

Once this was done, I turned my attention to the control board, or rather the botched repeater control board. I looked and though its a rather large board, and a lot of it will be unpopulated, I went ahead and used it, making the modifications for simplex use. Since I had designed it, fixing what I needed wasnt that bad


It doesnt look like a lot of modifying, because in reality its not. In order to make the board work, I had to add a couple of jumpers ( which I admit I hate) and removed a feed through from one module to the other. Breaking this line I had to tack solder a jumper in to reroute the signal. I went ahead to and added a Dignal line ( D9) coming from the Arduino, and ran this out an unused pin on the power plug. Im gonna use this for system power on/off.

The original repeater board has a repeater module, a control radio module, as well as a remote base module and finally a module for interfacing the USB FOB sound card to the radio. In the node setup nearly all of this will not be used. I simply modified a repeater module, and the FOB module I added a transistor switch, which Ill explain later. It actually wasnt bad as long as you document what you changed, so if anything goes wrong, you arent looking at the original schematics and wonder whats wrong....that could be bad.

Below is the first level of the naked node


The first level consists of the control circuits. I made sure I always add lot of RF filtering on the control line to stop false triggering due to RF getting in the traces.....I also decided that the control circuits will be placed as far as they can be from the radio, so the control boards are on the bottom. You can see as I mentioned alot of this board is unpopulated. The small module that plugged in is the repeater module. To the left of that is the arduino micro mini microcintroller. This is used in the repeater, for the node Im gonna have to rewrite the firmware to make it a simplex operation. The Micro Mini will be just used to run other things, like onboard control, power monitoring, and such. Since its only doing a fraction of the work it would in a repeater, Ill use it for other fun things.

The next level is the computer



Shown here before mounting is the BBBv4. The heart of the VOIP system. Its running a version of the ALLSTARlink software and not shown is the modified USBFOB soundcard. The sound card is also modified, and Ill show that later as well.

Thas it for this post, the next 2 layers will be next including the final radio install and the surprise....!

Stay Tuned...and Happy coding!