Open NeoFromMatrix opened 5 years ago
the files are in master currently if you want to peak :) I'm planning to release once the first production is finished.
Nice :) I took a quick look at it and have following thoughts:
It's always good to have a second source for the parts or a second compatible part if possible. Of course, not necessary for generic parts if they are supplied by your assembly house (e.g. 100nF 0402 15V cap) unless you have special requirements. You could add them in Eagle and then export them with the BOM. I usually add manufacturer part number and distributor part number to the components properties.
The chosen stm also has a touch controller, so you can also go without tactile button (not for the Kickstarter campaign but for the future, lowers BOM parts count and makes assembly easier;) )
I assume you disable bootloader mode in software after device is flashed over USB? (hopefully also with setting read out protection level 2, just curious seeing BOOT0 being hardwired to 3v3 -> automatically in boot loader mode)
Do you think you could implement the NFC antenna on the PCB? This would lower BOM cost, BOM part count and also another step in the assembly.
You could cram the NFC chip close to the stm32 and also add the jumper SJ2 close to the NFC chip. (not sure if this breaks compatibility with the silicone cover) Long unconnected wires can act as antenna (SJ2/VP_IO).
I'd also advise you to post in http://www.eevblog.com/forum/oshw/ , there are a lot of skilled people which might also give you some feedback :)
Good advice! Certainly would be good to have second sources for the ESD protection and 3v3 LDO, and can potentially reduce the BOM cost some. STM32L4 and NFC IC don't have good replacements currently.
Yes, definitely planning to use touch with the STM on a future HW revision. The choice for using a button was initially just preference but it's clear now that touch would be superior.
I assume you disable bootloader mode in software after device is flashed over USB? (hopefully also with setting read out protection level 2, just curious seeing BOOT0 being hardwired to 3v3 -> automatically in boot loader mode)
Yup. I think it's best to force it in bootloader mode at first, then control how to boot it later via software.
Do you think you could implement the NFC antenna on the PCB? This would lower BOM cost, BOM part count and also another step in the assembly.
NFC antenna is currently implemented on bottom layer of PCB. It should be in the latest .brd
files for A and C. It was tricky getting it all to fit in USB-C. I agree also it'd be better for NFC chip to be much closer to ST chip. I've measured the coupling on the SPI lines and VP_IO though and it's very minor as it is now.
Good idea with EEVblog. I've never posted there, but will make a note to share! Maybe I should send some Taps to Dave's mailbag :)
For microcontroller the only option is probably to take some from the same family (e.g. a mcu with more memory which will be expensive) For the nfc controller there seems to be no alternative (not even different temperature grades). Both are still risky because if the manufacturer cannot provide this chip it's also unlikely that they can provide a slightly different one (I assume different temp grades are coming from the manufacturing line and are just binned). Just as a general thought, should probably be fine to do it with only a single part and multiple distributors (check out octopart e.g. https://octopart.com/search?q=AS3956)
For the voltage regulator or ESD protection it should be possible to find pin compatible parts from a different manufacturer.
I've also seen someone on a conference talk using ~4-7cm long traces between a mcu and secure element IC to side-channel extract the information between both ICs as this can act as antenna. But I can't find the video (CCC, shmoocon? don't know any more). Also I don't know if this is a valid threat for the threat model. (if you can sniff this data you can also sniff nfc directly)
Just thinking openly, quite nice what you have achieved! :)
For microcontroller the only option is probably to take some from the same family (e.g. a mcu with more memory which will be expensive)
I was poking on https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html The https://www.st.com/en/microcontrollers-microprocessors/stm32l432kb.html that the solo is using costs $2.18 .
There are other 6 devices in that family that are slightly more expensive but have twice the amount of RAM and FLASH.
I am not sure why the the solo key does not use one of these. I am pretty sure that people would pay $1-2 extra for one of those for having twice as much memory.
I guess the design is not yet finalized and no one wants to release an unfinished buggy product. So I assume it will be available when production readiness and or certification is reached.