LinkMeter v2 Homebrew BBQ Controller - Part 1


 
Status
Not open for further replies.
So I want to order three of these boards. To order them I just need to submit the Eagle files from Git to Dorkbot? I think that is where you said you got them made.

thanks,
dave
 
Dave,
If your not in a huge hurry some of the Chinese board houses are a lot cheaper. There are guides online on converting the eagle files to standard board packages and you can order 10 boards for ~$20. I don't have them here at work, but there are two companies that are widely used in the Arduino community. You should be able to google them.

After waffling back and forth I have finally decided on my plan and once Brian finalizes his design I am going to piggy back off of it and do a board layout that covers 2 cookers or can be cut at home to split them apart. From the Chinese houses this will get me basically 20 boards for ~$20.
 
Originally posted by D Peart:
To order them I just need to submit the Eagle files from Git to Dorkbot? I think that is where you said you got them made.
You can just submit the .brd file and get boards made but they'll lack some of the silkscreen because they only print the tNames layer. I'll put the CAM job into git tonight when I get home that exports the proper layers. You run that from EAGLE then zip up the 8x .ger files an 1x .xln file that it generates.

Some specific design rules I used for people looking for a board house:
-- 14mil minimum trace
-- 10mil spacing
-- 15mil to dimension
-- 120x 32mil drills, 64x 40mil drills, 4x 118mil drills
-- 12mm annular ring
 
OK I got your brd, and sch files from github this AM. Look like they were updated yesterday.

I then used your cam file to create the ger and gpi files. I got the following:

bottomlayer
tcream
toplayer
boardoutling
bottomsilkscreen
bottomsoldermask
drills
topsilkscreen
topsoldermask

I got a .ger and .gpi for all except drills which gave me dri and xln.

I tried to run the cam file from the dorkbot website but it didn't work for me. From what I listed above does it look correct?

thanks,
dave
 
Yep that looks right. The gpi and dri files are text files that just show a summary of the generated ger/xpi files. You don't have to include them when sending the zip to Dorkbot.

In a forehead-slapping moment, I just realized last night that there's an even better way to do the LCD that requires less components, is cheaper, and only uses one AVR pin. A latched shift register on the SPI bus. Welp there's something to keep in mind for the 4.0 board!
 
Always ways to improve on things.
icon_smile.gif


I guess it is time for me to pull the trigger and put my order in.

thanks,
dave
 
Hi Bryan...I have been following these threads since Bob first posted back in 2009. I have a working Heatermeter with the WiShield...thanks for all the effort you and all the others have put into this! I have had a great time and have learned a lot. I appreciate all of the time you have put into explaining your work. I am just a lowly fluvial geomorphologist so there is a bit of a learning curve for me. I check your posts daily and I do consider myself a Bryan fan.

Anyway, I would like to move to the Linkmeter implementation just for the fun of it. I have a Linksys WRT150N that I got from Goodwill for $10. I flashed the router with DD-WRT when I first picked it up. It worked great with DD-WRT but I haven't used it very much so tonight I decided to upload your Linkmeter firmware just to see what would happen. I know the WRT150N has a serial interface so I figured it might work with the heatermeter. This is the way I approach things because I don't know what I am doing. The firmware looks like it was uploaded for the most part. When I load 192.168.200.1, I get a blank page. The title and little heatermeter logo does show up on the top bar. I do not have a heatermeter hooked up to the routers serial port. I looked at the page source and it looks like only part of the code for the page was uploaded. I am not stressed that it isn't working because I was well prepared to brick the router. Any ideas on fixing it?

Thanks,

Dave
 
Originally posted by Dave S (GeoDave):
When I load 192.168.200.1, I get a blank page. The title and little heatermeter logo does show up on the top bar. I do not have a heatermeter hooked up to the routers serial port. I looked at the page source and it looks like only part of the code for the page was uploaded. I am not stressed that it isn't working because I was well prepared to brick the router. Any ideas on fixing it?
Welcome and I do actually! Check the bottom of the v2 wiki page here:
https://github.com/CapnBry/Hea...ading-LinkMeter-1to2

There's a... thing... in the OpenWrt build system that messes up the configuration file and disables linkmeterd. You get a blank page because the web server throws an error (this is fixed in git sorta). There's a pretty good change that if you ssh in and run that uci batch command and restart lucid, the page will come up.
 
Originally posted by D Peart:
Always ways to improve on things.
icon_smile.gif
Yeah right? Also, using the same component I think I can make a software-initiated reset that isn't quite as hacky out of the same part. So that means there will be 8 less parts in total, two of which were unique.

I can't stop thinking about the hardware and I need to get back to the software!
 
Welcome and I do actually! Check the bottom of the v2 wiki page here:
https://github.com/CapnBry/Hea...ading-LinkMeter-1to2

There's a... thing... in the OpenWrt build system that messes up the configuration file and disables linkmeterd. You get a blank page because the web server throws an error (this is fixed in git sorta). There's a pretty good change that if you ssh in and run that uci batch command and restart lucid, the page will come up.

Your suggestions worked and I can see the web page on my WRT150N...pretty sweet. The only problem is that I haven't been able to manage to get the wifi to work on the WRT150N. There is some guidance on fixing this issue using a package in kamikaze. In the process of trying to get the wifi going I ended up bricking my main router (WRT160N). It was probably a stupid idea but I had my WRT150N connected to the Lan port on my WRT160N and was working on the WRT150N through the WRT160N. I did this because I would lose internet connection when I was connected to both wifi and Lan at that same time. Anyway, I tried to flash my WRT150N using these commands in telnet:

cd /tmp
wget http://downloads.openwrt.org/k...rcm47xx-squashfs.trx
mtd write /tmp/openwrt-brcm47xx-squashfs.trx linux && reboot

I was thinking that if I put the kamikaze build on the 150N I could then add the wifi package and linkmeter. It flashed something but I don't think it was my WRT150N. My WRT160N stopped working after that. My wife is going to kill me in the morning for rendering all our routers useless. Hmmmmmm
 
Oh you in trouble now! I have pseudo-killed many routers (I have like 5 in my 'lab') but I've always managed to get them going again. The problem is usually trying to figure out A) their IP address B) what format image they want.

Usually in the bootloader the IP address is 192.168.1.1 and they won't take a TRX image, only the custom BIN image specific that device. If it is getting past the bootloader and starting to boot, OpenWrt has a nice feature where you press any button and it goes into a recovery mode (the lights on the device stay blinking) where you should be able to telnet (or ssh I forget) into it to reflash. For the standard image that 192.168.1.1, for LinkMeter custom firmware it is 192.168.200.1.

If all else fails and you have an USB FTDI cable you can just jack into the serial port on the broken device and see what it says is wrong. Just connect the TX line through a couple of resistors to drop the 5V to 3.3V:
<pre class="ip-ubbcode-code-pre">
FTDI TX --\/\/\/--|--\/\/\/-- GND
4.7k | 10k
| Router RX
</pre>
Also connect GND and RX of course. EDIT: If you just want to see what it is saying, you don't need that resistor kajigger, just hook up RX and GND.
 
Its been a while since I have posted

This weekend Im doing some cochinita pibil on my UDS and I finally used my heatermeter while I was at work. At first I was kinda scared to leave it for so long. But, it held temp perfectly -+5 for the 8 hours I was at work. still going strong 16 hours(14 pounds of pork shoulder)
icon_cool.gif


The only problem, beside my ocassional lcd gibberish( a good hit fixes that), I have been having to reset my main router, every couple hours, or I can not log in to the heatermeter.

I never had this problem until now. As long as I keep the page up its fine, only when I refresh the page it wont load.

But what strange is that I dont make any changes to the main router, I just put the same port info back into the router and all is fine for another hour or two. Its like it forgets how to access heatermeter.

Anyways, next spring im going to make my own PCB using the Eagle files that Brian has posted. I dont trust mine that much, lol. But I will make the needed mods I have already made.
 
Originally posted by John Bostwick:
...I just put the same port info back into the router and all is fine for another hour or two. Its like it forgets how to access heatermeter...
Can you clarify what you mean? What are you editing?

After spending something like 10-15 hours of trying to fix the build process so the config file ends up getting the right default configuration in it, I've given up and decided to just work around it by installing a firstboot script that makes the change and then deletes the script. If you're installing from scratch, it would be easier to use the version from the snapshots directory instead of V2:
http://capnbry.net/linkmeter/snapshots/trunk/
 
Originally posted by Bryan Mayland:
Oh you in trouble now! I have pseudo-killed many routers (I have like 5 in my 'lab') but I've always managed to get them going again. The problem is usually trying to figure out A) their IP address B) what format image they want.

Usually in the bootloader the IP address is 192.168.1.1 and they won't take a TRX image, only the custom BIN image specific that device. If it is getting past the bootloader and starting to boot, OpenWrt has a nice feature where you press any button and it goes into a recovery mode (the lights on the device stay blinking) where you should be able to telnet (or ssh I forget) into it to reflash. For the standard image that 192.168.1.1, for LinkMeter custom firmware it is 192.168.200.1.

If all else fails and you have an USB FTDI cable you can just jack into the serial port on the broken device and see what it says is wrong. Just connect the TX line through a couple of resistors to drop the 5V to 3.3V:
<pre class="ip-ubbcode-code-pre">
FTDI TX --\/\/\/--|--\/\/\/-- GND
4.7k | 10k
| Router RX
</pre>
Also connect GND and RX of course. EDIT: If you just want to see what it is saying, you don't need that resistor kajigger, just hook up RX and GND.

As expected...I got yelled at this morning and was directed to fix the problem.

Here is the breakdown:

WRT160N...checked the packet source in wireshark...all are coming from my PC Lan card...none from the router...looks like I need to go find a FTDI cable

WRT150N...I can access the Openwrt interface and the Linkmeter homepage. I am unable to apply any changes (i.e. ip address, gateway, anything else) and I am unable to upload new firmware. I get a HTTP 101 error and have to reboot. Can't seem to change anything using SSH. Telnet doesn't work even after following the instruction you mentioned.

So this cable is just a serial to USB cable...right? I am trying to figure out where I can pick one of those up in town (seattle). They have to be pretty common. I saw some adafruit cables that were pretty nice but too expensive. I am thinking if I could find a cable from an old usb mobile phone or GPS cable at Goodwill (http://www.neolics.com/pdfs/dku-5.pdfS). Not sure how I would tell if it was a serial to USB.

The arduino goes through an FTDI to make the usb/serial interface. Wonder if I could hook the arduino to the router and flash...yeah probably couldn't figure that out on my own...better start googling.

Thoughts?
 
Oh if you have an Arduino handy, you can just pop the ATmega chip out and hook up pin D0 and GND to the router through that resistor divider... or it might be D1 I can never figure out which direction things go when they say "RX" or "TX". You should be able to use the arduino board as a serial to USB converter, considering it has the converter chip right on it.

OpenWrt disables the telnet interface after bootup once you assign a password. I'm not sure what lights you have when it boots but mine flashes the power light and then as it starts to boot it turns on the DMZ light. When that starts flashing, I immediately press the reset button and hold it for 5 seconds or so. The DMZ light should start flashing. If the DMZ light turns off, you've missed it so try again. It should start blinking. Once it does, you can telnet in (from the LAN ports only). If telnet fails, it should also be responding to pings so check that. I'm not sure how much networking experience you have but you need to set your machine to have an IP on it's subnet, there is no DHCP in recovery.

The web router firmware interface doesn't work. The device doesn't have enough memory to have an active web connection as well as enough RAM to hold the firmware image to flash it.
 
Bryan...thanks again for the help. My dad designs networks for a very large bank and my mom is a retired computer programmer so I have been around computers and the internet my entire life (I am 30). Too bad they live 4000 miles away. I would say I am above average but I really just started getting into the router bit a couple days ago. The Linkmeter is my inspiration.

So I went to Goodwill to look for a router to make my wife happy. Goodwill seems to always have those blue linksys routers. I picked up WRT54GS v7.2 and flashed it with DD-WRT...wife is happy. I wish it was a GL. Do you think I could get the GS v7.2 to run the Linkmeter using your bin? I am assuming I would have to add an SD card or something since it only has 2MB flash.

In other news:

I got the WRT160N to work and I am not proud of how I accomplished it. I ended up following a thread that suggests shorting out Pin 14 on the flash memory (http://ftp.dd-wrt.com/phpBB2/viewtopic.php?t=53959). I felt a bit dirty doing it but it did work. I enable TFTP feature in windows and prepared the command prompt with the code to load the linksys firmware, touched pin 14 to the pin next to it, plugged the power in, the power light began to blink, I hit enter on the command prompt, and it quickly flashed the firmware! I was then able to flash DD-WRT through the linksys web interface. I really need to work on getting a JTAG and serial setup going so I am not tempted to do something like that again.

I am still working on fixing the WRT150N. No progress yet. There is no DMZ light on the WRT150N.

I ordered a couple of your boards from Dorkbot so I need to figure something out soon.
 
Originally posted by Bryan Mayland:
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by John Bostwick:
...I just put the same port info back into the router and all is fine for another hour or two. Its like it forgets how to access heatermeter...
Can you clarify what you mean? What are you editing?

</div></BLOCKQUOTE>

I'll try
icon_smile.gif


Ok I have the hetermeter behind my netgear and i use the service no-ip, so that I can access the heatermeter over the internet. When I use port fowarding on the netgear, I believe either 80 or 81 and to the ip of the heatermeter, all works great and I can log into the heatermeter from my phone.

As long as the page stays active or if I have to refresh, after a period of time, I can't get to the heatermeter, it just says cant find address.

So, I then go back into the Netgear to port forwarding and re-edit the heatermeter with the exact same info I had already and resave. I then can get to the heater just fine again for a little while and when I refresh the page it might not refresh and I then have to go back into the netgear and repeat editting the port forwarding info again.

Its been a couple of months since I used the heatermeter and that could have something to do with it. Or my netgear does have about 8 other devices connected to it and it could be whats causing the issue. Other then the log-in issues it works great
 
Got my order of three boards in for the 24th. Looking forward to getting this thing built
icon_smile.gif


Bryan, did you ever get a BOM together?

thanks,
dave
 
I am still working on fixing the WRT150N. No progress yet. There is no DMZ light on the WRT150N.

Boy it was a bear to fix this one. For anyone who happens to flash the Linkmeter bin to the WRT150N, these are the step to uninstall:

1. Make sure you the router is connected to the internet so you can use SSH to execute a wget command.
2. Download Putty (SSH/Telnet tool). Make sure SSH is selected. Type in 192.168.200.1 then click open. Login when prompted using openwrt login and password.
3. Execute this command: wget http://downloads.openwrt.org/k...rcm-2.4-squashfs.trx -O /tmp/firmware.trx
4. If you have an internet connection through the router it should download. If it does not download, log back into the Openwrt interface and set the router back to the default configuration. Login back into Openwrt (192.168.200.1) and reset your password. If you don't set a password you cannot login through Putty and SSH. Try the command in 3 again.
5. Once you have downloaded the trx file through step 3, execute this command: mtd -r write /tmp/firmware.trx linux ...wait for it to upload
6. In windows 7...click the start button and type features in the search bar. This will bring up the uninstall utility. Click on the Turn Windows features on or off in the left column. Check the TFTP Client box. Click ok.
7. Set your PC Lan to a static IP address of 192.168.1.2...it should set the default gateway for you.
8. Google "WRT150N_v1.51.3_ETSI_firmware.bin" and download the WRT150N firmware. Linksys no longer allows you to download it from their site.
9. Open the windows command prompt. Cut and paste this command: tftp -i 192.168.1.1 put C:\Users\Dave\Downloads\WRT150N_v1.51.3_ETSI_firmware.bin (DONT HIT ENTER YET)
10. Unplug the router. Hold the reset button. Plug router back in while holding the reset button for 5 seconds. Immediately go back to the command prompt and hit enter. This will flash the linksys firmware back on to your router.
11. Go back and set you PC LAN so that is automatically obtains an IP address.
12. Load 192.168.1.1...you should be good to go.

Now I am going to figure out how I can get openwrt with wireless and linkmeter on my WRT150N.
 
Status
Not open for further replies.

 

Back
Top