Jana-Marie / temperature-logger

Anotter USB temperature logger that can record up to four channels with thermocouple or NTCs connected via CDC directly or SCPI to USB.
Other
58 stars 7 forks source link

DRC failures: unconnected GND pin and different pin for NTC_BOARD net #1

Closed festlv closed 2 years ago

festlv commented 2 years ago

First of all, thanks for sharing this project. I have had a similar need of logging a couple of thermocouple channels, but so far, not enough of a need to design something like this myself.

When reviewing the board before ordering it I noticed a couple of DRC violations- most of them are harmless, but two did catch my attention: 1) Pin 35 of U3 (GND) is not connected- probably a later routing change made it an island. 2) Net NTC_BOARD is connected to pin 29 of U3 in PCB layout, but in schematic it's connected to pin 18.

I'd submit a PR for item #1, but I also squeezed the width of the board a bit to get below 100mm threshold, so that JLCPCB doesn't apply large board engineering fee.

Jana-Marie commented 2 years ago

oh, shit, why didn't I get a notification for this issue >.< Will get back to you as soon as possible! The NTC pin is a known issue, I somehow connected it to the wrong pin, fixed it in schematic to not forget it and never updated the board. I will do this as soon as possible!

Jana-Marie commented 2 years ago

Also, I would love to see a squeezed version of this board! :O

Jana-Marie commented 2 years ago

Please let me know, if you make a squeezed version! :)

festlv commented 2 years ago

I finally received the last components (had to source stm32 from aliexpress :( ) and assembled the squeezed version: https://linx.wot.lv/ii9i3vja.jpeg I re-based the squeezed version on top of your main branch as of today in case you're interested: https://github.com/festlv/temperature-logger I'm not sure if it's worth for you to pull those changes, but might be helpful if someone else is building it, as it saves ~30EUR on the PCB order. Just keep in mind that only the PCB is changed- gerbers need to be re-generated, etc.

3D printed enclosure design is available here: https://cad.onshape.com/documents/bd5cb472a448ab81c4eaf93c/w/846ee3ac00aa9cdedf7d3c27/e/a9a483cf58e848ed35a6d729?renderMode=0&uiState=6220b8c6673d726f10acd805

It does require threaded inserts but this is just my preferred way of building an enclosure.

Jana-Marie commented 2 years ago

omg, this is soo cool! Thank you for sharing it! :)

I think this is super helpful for others, I will order the squeezed version myself for sure. Threaded inserts are awesome, I like that idea.

May I ask, what do you need/expect from the firmware? It is quite alpha at the moment, I would like to know which part of it would be for your advantage, so I can focus on that?

festlv commented 2 years ago

If you're interested, I can ship you my leftover PCBs and stencil, I won't need more boards in forseeable future. I can also print the enclosure and throw in the needed hardware. The only issue is that NTC_BOARD pin needs to be bodged to PB0 (for some reason I went with PA8, without checking that it's not routed to ADC).

Firmware wise I really don't need much- the only thing I noticed was that disconnected TC's are not reported, so the order of channels may change depending on how many channels are connected. For logging purposes I would prefer that channels are always reported in the same order, which would probably imply also reporting disconnected channels.

One thing which I will probably look into myself once I get around it: adding a support for I2C OLED (e.g. SSD1306 based modules) on the expansion port, just to be able to verify that the probes are connected correctly. On the other hand, I guess the LEDs for each channel are also there for this purpose (haha, I now have to check if I haven't soldered them backwards) :)

Jana-Marie commented 2 years ago

Okay, perfect, thank you for your input :3

I've pushed a small change, which will always send all channels and show the channel status via the onboard LEDs. Unconnected channels will deliver afaik a very high result, not sure what such a channel should show. Any string might be as annoying as a high number. A typical error-number (-1) would be a valid temperature, I could simply send an empty string there '', not sure if that has any drawbacks. Any suggestions from your side?

The ntc thing is probably my fault, I noticed it, but did not fix it in time. I am sorry for that.

I would be super interested in your boards actually. Do you have an email for me, or should I DM you via twitter?

Jana-Marie commented 2 years ago

Whops, had a bug in the FW, the leds do now show the state per channel

https://github.com/Jana-Marie/temperature-logger/releases/tag/v0.1.0