LinkIt Smart 7688 Duo


 
Are you using Voltage mode on the fan output? Halving the frequency of the PWM output would mean that the inductor size should be doubled which would make it even larger (and it would probably be hard to find a 440uH 1A inductor for a modest price). The lowered frequency doubles the ripple current through the inductor, however I'm not sure how much of a difference it really makes with the standard blower because the area you need the largest inductance for is at the lowest voltage/current level. At 5V/60mA you should theoretically use a ~3500uH inductor to stay below 40% current ripple, but because the current and frequency is so low, the ESR of the capacitor isn't as much of a factor and it "just works" despite the math being way off.

Also, in your fork do you disable the freerunning ADC so the interrupt isn't eating all your clock cycles?
 
Also, in your fork do you disable the freerunning ADC so the interrupt isn't eating all your clock cycles?

I'm just using a mosfet IRLZ44N to drive the fan(5v 150ma)....I'm not concerned about the fan(I wasn't going to use one at all), but I decided to put one in and it will only come on at 90-100% (servo 0-90%).

About the freerunning ADC, I have no Probes set as INTERNAL probetype (added new pt: #define PROBETYPE_MAX6675 4 )....so I have no idea if the ADC is disabled? Can you point me to code that I can disable/exit so that I can back get all the cycles I can :)
 
About the freerunning ADC, I have no Probes set as INTERNAL probetype (added new pt: #define PROBETYPE_MAX6675 4 )....so I have no idea if the ADC is disabled? Can you point me to code that I can disable/exit so that I can back get all the cycles I can :)
Just make sure none of the ADC code runs in https://github.com/CapnBry/HeaterMe.../heatermeter/grillpid.cpp#L410]GrillPid::init including disabling dynamic range and commenting out the two ADCSRB/ADCSRA lines.

My 7688 Duo will be here tomorrow probably but I just threw together (ok like 8 hours work) a general idea for how the two might work together. 3.85" wide x 3.75" tall and roughly 0.7" thick. I made it with the 3.5mm TRRS jack instead of an ethernet port but I have concerns about how that works considering at least two of the rings will be in contact with two incorrect signals on the way in.
adqpiPd.png
 
Sign me up! That looks awesome. How about some diodes on the trrs jack to prevent injecting power when the pins are momentarily shorted?
 
Sign me up! That looks awesome. How about some diodes on the trrs jack to prevent injecting power when the pins are momentarily shorted?
Ooh that's a pretty good idea, Steve. You want to think about it and come up with the best way to wire the jack for the least amount of damage during insertion with a combination of ring order and diodes? I think you're right, that a carefully crafted order with diodes might work. Although just glancing over it I'm not entirely sure it could be done without introducing diode drop. Request for help!

My first priority is getting the pinouts right, the 32U4 has more outputs and things that previously overlapped functions now are separated. I'll need to go through the code and remove any of the hard-coded stuff, and also adjust many of the timing loops to the right frequency to get it working accurately. Also we need to figure out what to do with 500x 4.3 circuit boards I have if this works really well :-D
 
It takes up more space, but I think the rj45 jack is still the best way to go, as others are using the additional 4 pins for extra probes and it means easily switching between old and new heatermeters. Doesn't everyone have at least 2? ;)
 
It takes up more space, but I think the rj45 jack is still the best way to go, as others are using the additional 4 pins for extra probes and it means easily switching between old and new heatermeters. Doesn't everyone have at least 2? ;)

ATM, I have None :(
 
Yeah you're probably right about that, Steve. At some point I'd love to be able to switch to another connector though, because the whole "cut the end off an ethernet cable and use it to transmit power" seems sort of hackish. Well, as luck would have it, my Duo was not delivered yesterday. It will be today, but I am headed out of town so I won't have any time to play with it until the weekend.

Where are all your HeaterMeters, John? You should have dozens by now like I do!
4f5CMjp.jpg
 
since this may be a new 'style' of HM board.....any chance of working/support a touch display like this.... it's like under $15-20, only uses tx/rx lines to the atmega and makes it pretty.

at a minimum, if you could expose a connector on the board for this as an option for people....I'd work of the software/menu part.......just an idea.....
 
Last edited:
Oh nooooo. We already use the UART so you'd have to use SoftSerial and also write an whole UI for it. These boards are not great as far as being responsive touchscreens, and touch LCDs for a device like this I don't feel makes a lot of sense. It is too bright outdoors to see them, you can't use them with dirty/wet hands, and after a few cooks of being outside I wonder how well their touch will work at all. Also there's only like 6k of progmem available on the AVR so there's no room to store graphics or icons to upload to the display.

You could always just write a part that sits on the Pi or whatever host system you have that streams the data from HeaterMeter and uses those free GPIOs for something like this.

I have looked at small LCDs at least for just display purposes (replace the character mode LCD) and they all look pretty awful outdoors. The other issue is I can't buy 100x Chinese LCDs off eBay and sell them with kits because I can't be confident about the quality control. That means you've gotta get the same thing from a real vendor, and the cost will easily be 3x that if it even exists.
 
fair enough about the outdoor issues....Yeah, it would be easy enough to make the host system work with it too...

fyi, these nextion TFT screens are different from most others....it has an AVR and sd card on the unit to store all icons/graphics/logic...the 6K progmem wouldn't get used because the unit only communicates via serial 'commands' (you design the UI/commands in their desktop app that gets stored on the screen avr)...
 
Last edited:
Yeah you're probably right about that, Steve. At some point I'd love to be able to switch to another connector though, because the whole "cut the end off an ethernet cable and use it to transmit power" seems sort of hackish.

The blower comes with bare wires, so you still have to spend some time to wire it up to something. Hooking the blower wires up to something like this would be an easy solution, then you don't need to chop up any ethernet cables. This one is also nice or you can even have an HM specific one that has the screening for the HM functions on it ( gnd, +12, +5, servo )
 
Last edited:
Just get an adapter board, lol, all you need is the board a right angle pin header, another rj45 jack, and if you don't want anything else on the board, that's all you need. It has connections for damper and blower without cutting any cat5 cable or blower or servo wires.

Bryan, I have lots of older units and screw ups to fill a drawer, lol. But, I haven't had time to actually bbq in a while and my wife is not a fan of bbq either(cry)
 
I have spent the evening reading the ATmega32U4 datasheet and wow, just WOW. For the past couple years I've thought the 32U4 was just a 328 with silicon for handling USB (just basic interrupt class transfers with single byte storage). This thing is a whole new beast.

-- Timer 0 1 and 3 share clock prescalers. This means we can't mess with Timer1 speed to generate servo signals without affecting Timer 0 and 3 speed as well. These will have to be examined t find timers and scalers that support the millis() timer, servo period, blower PWM, 4khz alarm beeper, and LCD backlight all with the same scaler?
-- 8 bit Timer 2 is gone. Oh no, our servos!
-- New Timer 3 is 16 bit hooray!
-- New Timer 4 is 10 bit and supports 3 channels of output. Also it can run up to 64MHz
emot-stare.gif
. Even at 0.5MHz this could reduce the output inductor from 220uH to 27uH which would make it much smaller. Unfortunately our P-MOSFET can't switch that fast (it is already at its limit with the 2.2k resistor and its gate capacitance) so this should be re-evaluated. For those interested, the 32u4 has a PLL that the 328 didn't have which generates 48MHz for the USB bus and can drive the I/O clocks as well. That's pretty awesome.
-- 4 external interrupts (up from 2)
-- 12 analog inputs (6 single ended), differential ADC input with selectable amplifier. We could almost do the thermocouple just with this if the resolution was better on the high gain differential input
-- Internal ADC reference of 2.56V boooooooo. This more than halves the resolution of the low-end (below ~425F) thermocouple input.
-- Full USB FIFOs for real USB data transfer

Certainly a really cool chip which makes sense due to it being like 4 years newer and more than twice the cost of the atmega328. The downside is that there's a lot more to porting the code than just making it work at 8MHz and also it would be good to reorganize the HeaterMeter pinout to better match the new pin functions. There's also the question of compiling all the LinkMeter code for this platform which isn't fully supported by OpenWrt trunk yet, and may not be ever due to the whole OpenWrt developer feud/split. Definitely a neat little device but my main focus is still the HeaterMeter 4.3 software currently.
 
Thanks for the breakdown. I just got back from hunting to find mine in the mailbox, so I've got something new to play with now.

Update 1: Not too impressed with the wifi on this unit so far. It successfully boots into AP mode and I'm able to change the settings to client/station mode, but it doesn't seem to be accepting the DHCP details from my router. In my router logs I see an endless stream of DCHP request and offers. It looks like it briefly accepted the DHCP IP for a bit but then went back to asking for it over and over again.

Update 2: A reset of my router allowed the unit to establish a connection without any trouble. I think it's time for some router maintenance!

Code:
BusyBox v1.23.2 (2015-11-18 16:34:33 CET) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 CHAOS CALMER (15.05+linkit, r47501)
 -----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec       of broken ice and pour
  * 3/4 oz Lime Juice       unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
 -----------------------------------------------------
root@mylinkit:~# 
root@mylinkit:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                   11.0M    604.0K     10.4M   5% /
/dev/root                19.8M     19.8M         0 100% /rom
tmpfs                    61.8M    248.0K     61.5M   0% /tmp
/dev/mtdblock6           11.0M    604.0K     10.4M   5% /overlay
overlayfs:/overlay       11.0M    604.0K     10.4M   5% /
tmpfs                   512.0K         0    512.0K   0% /dev
 
Last edited:
-- Internal ADC reference of 2.56V boooooooo. This more than halves the resolution of the low-end (below ~425F) thermocouple input.

Is this a problem if a regulated 3.3v line is supplied to the AREF pin and analogReference (EXTERNAL) is used?
 
Last edited:
Well you can just use INTERNAL reference which will give you AVCC (3.3V), but we also use the bandgap reference to triple the resolution of the thermocouple readings when the voltage is below that. Switching over to 2.56V reference doesn't really give much of a step up in resolution in the way that 1.1V reference does. The U4 does have a programmable gain differential amplifier but the lowest gain is 10x which would only allow measuring temperatures up to 150F so it isn't worth using either.
 
Because I love a good time crunch challenge, I'm going to be using the the LinkIt over Christmas to control 50 feet of RGB LED strips. Should be a fun little project. I'll be using the FastLED library.
 
Haha. No pressure at all Steve, but if you don't make it you can always just call them New Year's Lights. Good luck!
 

 

Back
Top