-
• #2
Wow, looks pretty awesome! What's on it? So the green board is just a breakout for the LQFP?
-
• #3
It's an STM32F401RCT6, on an eBay breakout board for LQFP packages. I can't believe it actually runs, it looks so messy.
It's pretty much just all the VDD and VSS pins hooked up to 3.3V from the serial-usb adapter. I've put in all the recommended capacitors and I used the SWD pins to load on Espruino using the St-link from my Nucleo board. Just trying to get a feel for what's required for an stm32 board to work, just like a breadboard arduino...except there's no breadboard.
-
• #4
looks great!
-
• #5
And here's a significantly less hacked together one! I got the boards from Oshpark for the first test run and soldered on what I needed to get it running. I managed to get the chip on without messing up the soldering and the rest of the components went on fine. The only problem I've had is that I got supplied 2.8V regulators instead of 3.3V ones! So the board runs, but I have to replace the regulator before I can try it out with some 3.3V peripherals.
1 Attachment
-
• #6
Nice! looks good.
Are the 5x2 connectors on the sides to interface to something specific, or did it just seem handy?
-
• #7
Nice! What are your thoughts about Oshpark? It's on my "to try" list :)
Those headers made me think that it's possible to 'mate' two of these boards together. Dual processor Espruino?
-
• #8
I use oshpark all the time - I used it for all the Pico prototypes. They've been fantastic for me at least - and a really nice feature being able to upload Eagle files and see them rendered out as a finished board :)
-
• #9
@Gordon - the two 5x2 male headers both have power, shared i2c,2 digital pins, 2 analog pins, a shared pin for interrupts and another shared pin. I initially made an ATMEGA328 board with an identical header layout, for using around the house for sensors and small projects. The idea is that peripherals or breakout boards will all use the same 5x2 pinout so that I can easily switch up processor boards or connect different things to them without having to resolder, redesign, have tumbleweed wires or any other issues.
For example, I have a sprinkler controller that has the processor board connected with the 5x2 to a storage board that has all the power regulators, relay, lipo management connected. Now I can replace it with a board running espruino if I want, or add a flowmeter and soil moisture measurement to the other header without disturbing anything.
@alexanderbrevig - they're pretty good, especially for initial prototypes and tiny boards (like adaptors that are only a couple of square centimetres). They were prompt and the boards are great quality. I think I'll usually go somewhere else if I want 10+ boards, but they're really good value for your first run where you just want to see if it all works, if you've made any mistakes, or if you'd like to improve the design.
As for that female 5x2 header, that's not for a dual-processor setup. (although, I have been wondering about a good system for hooking up multiple-processor projects. Eg, espruino board, esp8266 wifi and separate stm32 driving graphics...) that header is an SPI + ISP header. It has all the spi pins, plus a couple for for chip selects, etc. plus NRST. The layout is suitable for slotting an NRF24L01+ straight in. The board is designed to be a very compact and capable sensor node. :)
-
• #10
That's a great idea - I haven't come across someone developing a 'standard' header for their home projects. It's a really neat idea just being able to swap an old processor board out with a new one.
(If you wrote that all up, I'm sure hackday.com would feature it - they love that stuff :)
and the boards are great quality
Yes - I've used Ragworm, OSHPark and DirtyPCBs. The OSHPark ones are by far the best quality and reliably so. DirtyPCBs is acceptable an cheap, but the quality seems to vary. Ragworm were fine, but the edges of pads and traces just didn't 'feel' as good (not sure how to quantify that!).
-
• #11
I used to use OSHPark, but now I use DirtyPCBs almost exclusively. I have found nothing to complain about on the quality of the boards. My problem with OSHpark, aside from the higher prices for a smaller number of boards, is that they manage to take just as long as DirtyPCBs+DHL shipping, despite the fact that OSHPark is domestic... Also, I don't like ENIG much - it's all sexy "oooooh gold!", but the solder seems less eager to wet it than with HASL.
Regarding price, DirtyPCBs is just incredible. Near the start of this week I ordered 2 4x4 designs, ~10 copies each, with DHL shipping, for $65. I'll have them next week. And since you can panelize the designs there, you don't have to waste space; there's always something you can put in the extra space. That's where a lot of these come from: https://www.tindie.com/products/DrAzzy/bare-board-various/ .
One of my 4x4 designs in the current batch has my AzzyRF 2.0 boards (1x3" including SYN470 and SYN115 sub-boards), a ~3x3 arduino prototyping shield, a ~1x1 AT24 splitter (plugs into DIP-8 socket via machined pin header, and has 8 sets of pads for SOIC-8 AT24 eeproms), a TO252 breakout board, and four little scraps of protoboard, for when you just need to change the pinout of some connector or add a few passives to it - all crammed into one aggressively panelized board :-PI've tried to resist the call of a homebrew "standard header" for around the house. My experience with all these attempts at general purpose headers is that it's hard to get something that is as flexible as you need to cover what you'll be doing in a few months, without involving too many pins for other applications, or "Oh man, if only I'd connected pin X to something on the header, I'd be able to use the header for this device - but I didn't" type situations. I rolled my own OOK RF protocol, but I've never felt like I have a good enough handle on future requirements to do my own header pinout, since I could potentially have a whole bunch of devices made before I realized my mistake.
-
• #12
@Gordon Getting around to documenting things properly isn't really happening right now. But one day I will! I actually got the idea from here: https://maniacbug.wordpress.com/2011/04/03/arduino-box-header-platform-2/, I just boiled it down a bit more and made it 3.3V and not so Arduino-specific.
@DrAzzy with dirtypcbs, do you have to connect all the panelized boards and break/cut them apart yourself?
-
• #13
Yeah, you connect them in the design, with ratbites, and break them apart yourself. They break pretty easy (though I've never had a design where the placement of the ratbites was challenging, as it was with the pico as you may recall)
What support circuitry do the STM32's need?
Do you build your own firmware?
-
• #14
@DrAzzy, I'm really interested in those panels - they turned out well. Don't want to sidetrack this thread, but please could you help to explain how you did it here? http://forum.espruino.com/conversations/274571/
-
• #15
@DrAzzy - just a couple of pullup/pulldown resistors and an assortment of bypass capacitors. It also needs its 3.3V from somewhere and 0/1/2 clock sources depending on your needs. It seems quite resilient to things like missing capacitors and voltage range, but I've been reading up about bypass capacitors and grounding and it looks like there's plenty of other reasons for getting the capacitors right, it's not about getting the MCU to run.
I'm running Espruino. Because the chip is so close to another board (the pico) it was quite easy to add a board file and an entry into the makefile. I'm still blown away by how easy it is to go from blank chip to javascript console! It's going to be great being able to telnet into sensora and just reprogram them on the fly!
-
• #16
How do you get the f/w onto them? Do you have the Pico bootloader, or do you load with that serial flash thing? (I've never used that)
-
• #17
Isn't it pretty?
Yes, it is, ...it's like shrimping in the Arduino world... May be we have to come up with a Espruino suitable name. Wha do you think?
-
• #18
@DrAzzy - I've been using the stlink off my Nucleo board, it just needs 5 jumper wires and for me to drag and drop the binary into the Nucleo virtual drive and it writes it to the chip and handles the resetting.
@allObjects - that's pretty much what I was going for! I'm not sure it's worthy of its own name though, it's pretty messy and difficult to work with, since I've already moved on with a prototype board, the shrimp will probably be forgotten...
-
• #19
Oh sexy!
So are you using the onboard USB, or a USB-serial adapter and a uart?
-
• #20
Onboard usb! Or...I was. The micro usb connector snapped off the other night and ruined the traces. I'm definitely taking up Gordon's suggestion to use the kind with the 4 mounting pins on the next iteration.
Usb worked surprisingly easily actually, with the ic, crystal and the connector soldered onto the board, it just worked when I plugged it in. I keep expecting the shift from 8-bit, through hole, uart microcontrollers to be fraught with difficulties, but as long as you connect the right parts to the right pins, everything seems to work pretty well.
-
• #21
@the1laz on the F401 you don't even need the ST-link. As long as you can boot it with BOOT0=1 and BOOT1=0 (IIRC) it'll pop into USB DFU bootloader mode, and you can flash it right from USB.
'shrimping'
It's a shame the chips don't come in DIP packages. I was wondering whether we couldn't just come up with a DIP-style board that contained just the bare minimum support circuitry. If you're not using USB then you don't need the crystal and just a few caps are all you need.
... in fact STM32F0x2 don't even need a crystal for USB - although there would be a small amount of porting work needed to support the F0 (and it looks like the highest-end one right now is 128kB flash, so only just big enough).
-
• #22
What software do you use to flash it over DFU? Is there some driver that I need? I think I tried to get it into DFU bootloader mode a few weeks ago but didn't see the device recognised and couldn't be bothered working out what was wrong, but it would be really handy to be able to do initial flashes over USB!
-
• #23
Check out the bottom of the pico page - there are links and commands there, as you need it if you want to replace the Pico's bootloader.
The bootloader will only work if you've got an external crystal though (I think)
-
• #24
Thanks, I'll give it a go.
-
• #25
it's pretty messy and difficult to work with, since I've already moved on with a prototype board, the shrimp will probably be forgotten...
Sometimes (the - cumbersome - experience with) a '(mini) shrimp' is needed to become 'self-convinced' to actually use either Espruino standard or Pico board! ...and all other tries are interesting but more than a waste of time - and way more than the saved money - in the light of the final goal to achieve...
I'm not even sure if shrimping is really cheaper than standard or Pico Espruino board, because you need 'all the other things' as well... (you can build your own plane for the journey of building a plane, but for journeys of going places, you let other do that...). It is the question of 'what is the core business' I want to be in.
Therefore, it becomes a 'marketing vehicle'... and smartly done, it is not a push-away, but a pull-in. May be a special 'shrimping' conversation on the forum - or even a regular page on the main site (@Gordon?) - could be enough to have the same 'just-buy-an-Espruino-standard-or-Pico-board-(to-stay-sane) -marketing' effect.
This was by the was a part of having not doubted and delayed a blink of an eye to get a board despite the price as compared to the cheapo-Arduino-things... and I also know what it means to get 1st the hardware done and 2nd the base software reliably working before you can begin to work on what you really want to work on... For many this mindset is a challenge because the out-of-pocket seems to be more tangible than spending countless hours of (not really available personal) time...
Isn't it pretty?