In order to update the firmware of the EXM on a FEZ Cobra, one must hold up+select+down button while pressing reset. Now I’m working on a custom design with the EMX and I was wondering if it is safe to tie those 3 inputs (up/select/down) togetter, controlling them through one single button?
Section 5 of the EMX users manual should answer your question.
@ Mike, thanks for pointing me to the right chapter. I was reading the “EMX design consideration” chapter
So if I tie them togetter, I will never have access to this mode: “Stay in TinyBooter and wait for an action through MFDeploy tool e.g. Update EMX firmware.”, because you need to only press up+down button during reset.
Can someone tell me why one would need this mode? I always update firmare by pressing the 3 buttons during reset. And you can deploy the user application in normal mode…
I believe you will need a different button configuration when the TinyBooter is updated versus when the firmware is updated.
The flowchart made things clearer…
If you use the EMX updater tool, you need to press the 3 buttons and it will access the GHI bootloader. Then it will erase everything and update the tinybooter, after restart, the tinybooter doesn’t find a valid tinyclr and will wait until it is deployed. So if I tie the 3 buttons togetter, I will always first have to update the tinybooter before I will be able to update the tinyclr firmware. Which is no problem as the updater tool makes this very easy.
Thanks for the pointers Mike.
Sounds like a solution.
Hi,
I would test this before committing to PCB. I did just this and combined up/down buttons, BUT the box failed to boot correctly until I cut the track linking the IO pins :-O.
That was on V4.1 code - don’t know if the 4.2 release will change this of course…
My board now has all 4 buttons, Up/Down/Select/Reset.
Good Luck.
Graham
How about using a DIP switch?
@ GrahamS - did you add external resistors to the pins?
Nope - just wired them both together as they are ‘supposed’ to be pure inputs :-).
I suspect that they might not be initialised as inputs at the same time or something like that. Screwed up the boot sequencing anyway…
Don’t see why dip switches shouldn’t work, but more difficult to press and release again etc…
There is probably some way these can be combined but without looking into the GHI code, I can’t see how they are initialised and used. Also who’s to say that this code won’t change on a future release. So I took the ‘cop out’ route and just fitted 4 pushbuttons :-O.
NB I fitted micro-sized buttons on my second build, but these had no ‘button’ and required pressing with a pen or somesuch - all but impossible to press 3 or 4 buttons simultaneously this way ;-)) - so now I have ‘proper’ sized pcb buttons I can press with real fingers ;-).
Graham
At the beginning our board uses micro dip switch it was really convenient for debugging purpose and to check all the functionnality of the platform. Now we are using 2 pins headers and jumpers. We can do all that we want and there’s no need to keep four fingers on the boards to have up/dwn select and reset enable, just 3 jumper and a short-cut on reset and that’s it.
The project I’m on only has space for a PCB that has the same size of the EMX module. And as it will be soldered agains the back of the EMX module, there’s only one side available for component placement. I will try something on the FEZ Cobra, I was thinking of connecting a diode to each of the inputs and to connect the cathodes to a single button that connects it with ground. And hopefully the voltage gets low enough so the EMX sees it as a logical 0.
Hi Wouter,
I just received a new design today. On this board, I tied all three buttons together and wired them to a single tact switch.
I just tested it and it works perfect. I did not use any resistors or diodes. I’m still on 4.1., but no problems. See picture.
Btw, the resistors I added afterwards are not related to the buttons. I forgot to put in some pull-down resistors to make sure that both relays are not activated during boot.
That is a nice looking board. What is it?
Thanks!
It is a controller for an electric vehicle charging station. This one is for stations which are not intended for public usage, so you need an I-button key to activate it.
The owner of the pole has a special key, which can be used to put the system into program mode, so keys can be added and removed.
Must be a really fun project to work on. Does the pole come with the a vehicle?
Yeah, It is a fun project. Not the coolest though… You should see the Engine dashboard system we have done for a cruise ship! Now that was a cool project! We used 7 EMX modules on a single board, one for each engine.
As far as the vehicle goes: It’s just a matter of paying the right price…
Sounds amazing. Do you have a blog, company website?
This is very interesting. I will be contacting you about this project.
Very nice board! Have you tried a firmware update on that board?