It's alive

After a couple of months of prototyping, schematic capture, PCB layout, populating, reflowing, flashing and debugging I finally got a bunch of NETMF boards working. They have the STM32F405 at their core and include an ESP8266-03, a relay, an I2C OLED display (which I haven’t tested yet), an SI7020 Temperature/Humidity IC, some LEDs and a few GPIOs. There’s still some headers to fit plus a couple of relays, but I’ll get to them later.

They are configured as clients, thanks @ Jay Jay and @ mcalsyn, talking with Azure and writing their Temp/Humi data SQL but I hope to be able to implement a socket solution, perhaps requiring an Azure VM, so I can write to the device without having to configure them as servers. Still a long way to got, but at least the hardware platform seems stable, so now I can hone my software skills for a while. I’ll be making some improvements to the web UI too.

Keep you posted.

16 Likes

sweet :slight_smile:

btw if you want to add an onboard AC to DC Power check this one out :slight_smile:

http://www.vigortronix.com/smpspcbpowermoduleACDC.aspx

if you have a sample to share I wouldn’t mind playing with one :whistle:

1 Like

@ Jason - Nice Job !!! 8)

I don’t hope you’ll change names though …

Either it is a fake or you have a problem with your temperature sensors :think:
They seem to double (or more) the real temperature. Unless the unit is Fahrenheit ? :whistle: Or you are on vacation at Justin’s ? :wink:

Good job, Jason :clap:

I like the fact that he’s managed (according to picture 2) greater than 100% accuracy in his readings. That’s quite an accomplishment. :slight_smile:

The % accuracy represents (usually) an error in a POST. @ Justin’s demo a more or two back showed over 1e6 posts to a web service, but it took no account of how many were send, just received. My current code shows that not everything that’s sent is received. A count is maintained in not the client that is sent to the server. Occasionally the count is incremented but the post fails, so the local count is more than is should be, hence > 100%. Hopefully with more time posting errors will become a thing of the past :cry:

Good spot. The prototype didn’t show this apparent (I’m not on a equatorial vacation) error. The Si7020 returns a 2-byte temp/humi value that needs to be converted. I need to take a closer look at where the error is creeping in.

The AC->DC power modules are fantastic. I can see another PCB on the horizon.

I’ll PM you about module availability.

@ jason - good work :clap:

Cmon! No slacking! Your code can give 110%!
Cowboy up!

1 Like

The Si7020 code looks ok, and the devices are still going up and down with temperature. I’m now wondering if the reflowing of these components is more critical than most and perhaps they are permanently altered. I’ll replace one using as low a temperature as possible and see if that alters the output value.

Jason,
Originally, I was joking about the temperatures because you were in the UK :-[

1 Like

@ Bec a Fuel - It seems as though they are getting hotter the longer they are running. They start correct but the temperature increases over about 5-10 minutes. The device has an onboard heater, but that’s not on (I checked the register). There might be a small short that is causing the device to get hot, or the resistors on SDA and SCL should be 10K (they are 2k2 at the moment). I need to get some test equipment and soldering station out to see what I can see.

I2C resistors seem fine, to me (although I often see 4.7K).
On a custom board, those resistors should not be a problem : you put the value you decide. Problems come when you (have the possibility to) connect additionnal modules that already have their own resistors… The resulting resistance may indeed drop below an acceptable value. But it depends on the modules and on the resistors you have on your “mainboard”.

So here, since you do not have external I2C modules, you are safe with your choice.

For the heat problem, is there a way to shut power off or reduce it while not reading ? I did not look at the datasheet, but one never knows.

I’ve been using these.

http://sg.element14.com/myrra/47151/power-supply-4-2w-3-3vdc-reg/dp/1825778?ost=47151&categoryId=800000000434

They are small and don’t generate a lot of heat. I am drawing around 600mA at 3.3V from it.

On your heat problem, the device is very low power so should not be self heating so could be a fault in the design?

I really like the live graph and temperature gauge on your webpage http://www.jasonjames.co.uk/netmf . Looks very nice.

2 Likes

Thanks for the feedback. The control is a Telerik Kendo Chart control hosted in an ASP.Net MVC app. The html executes a JavaScript function that requests the data from a Web API 2 call. I hope to add the other devices so you can choose which location you are looking at, and perhaps even put them all on the same axis too.

The posts are made to another Web API 2 method that write the values to a EF code first Azure SQL database.

I just wish I could find more time to play.

Going to see if I can sort out the Si7020 devices now. Wish me luck…

1 Like

[quote=“Jason”]I just wish I could find more time to play.
[/quote]

Amen to that.

1 Like

I can’t be 100% sure, but it seems like the central pad on the base of the IC requires a better thermal connection to the ground plane than the one it has, to prevent the device from getting too hot and affecting the measured temp. :-[

That’ll be easy to fix on my existing and already populated PCBs; not!!

The requirements for V2 begin.

1 Like

Maybe you could place a “thermal plane” on the bottom layer just below the chip and connect it to the small pad on the top layer with a via (or two if there enough room) ?
The “thermal plane” would be a big polygon (square or rectangular) of copper not connected to anything else. If the top via is not tented, then the solder on the small pad will flow on it, thus making the needed contact/link with the bottom plane.

Your layout will not change and will not require a new stencil :wink:

Am I clear enough ? :-[