-
I guess you could connect two Espruino's together via I2C, SPI, UART and use one as a DMX processor the other as an Ethernet / Wifi / WS2811 processor. Although I'm not using WS2811 I'm trying to think of something that would be of most use to everyone.
Raw DMX running at full bore is just continuous data with a break every 513 bytes. Note you do not need to send 513 bytes it could be less. This would put quite a load on the receiving device so using one Espruino just to handle DMX receiving might be a good idea.
When I've implemented DMX before on other processors, I've cheated by detecting a framing error and assuming that this is a received break.
Transmitting 4 x 128byte chunks for the output would be fine I think as in my experience DMX recievers only wait to see a break to restart comms, so do not care about a slight gap in the data stream.
Does the STM chip warn when the TX buffer is getting empty, to give the software time to re-fill it? Or can it be fed from DMA?
-
Hi
When I receive my PICO one of the projects I want to look at is a DMX to Ethernet gateway, initially I will be receiving DMX data, but may want to transmit in the future. Does anyone have any experience of DMX on the Espruino?
DMX is a serial protocol that runs at 250kbaud see http://en.wikipedia.org/wiki/DMX512
Its very simple in structure the message stream is started by receiving a Break the a control byte which is 0 followed by up to 512 bytes of data.
Regards
Martin
-
Thought this might be of interest to you
http://www.seeedstudio.com/depot/EMW3162-WiFi-Module-p-2122.html
EMW3162 is the new module that design by MXCHIP in the 2013. For the embedded products applications, it focus on the ultra-low power low cost. This Wi-Fi wireless LAN module. It combines the latest Wi-Fi technology and microcontroller technology, within IEEE802.11b/g/n wireless communications and a variety of energy-saving mode, widely used in a variety of new intelligent electronic products. It has the latest features EMW316x series modules, but also keep the pin is fully compatible with EMW3280 module.
EMW3162 built-in frequency up to 120MHz Cortex-M3 microcontroller STM32F205RG, 1M byte of Flash, 128k bytes of SRAM and extensive peripheral functions with the MxchipWnet embedded Wi-Fi firmware.
-
See this posting and the last comment by me http://forum.espruino.com/conversations/258182/#comment11952575
Also this ADC from ebay http://goo.gl/zC8B2n should allow you to read the very small signals from the strain gauge
Cheers
Martin
-
In terms of examples of how to implement USB support you could have a look at this project called LUFA http://www.fourwalledcubicle.com/LUFA.php its for AVR micros but it might give some idea's
-
Is it just the w5500.h and w5500.c files that define the interface to the Wiznet chip? I like the idea of being able to choose what image to use within the web IDE. You would probably only have wired or wireless Ethernet for instance. Do you have a link to the Wiznet libraries, I could have a look at the different chip types.
-
-
Here is a message I got from Wiznet, looks like the W5500 is the more modern chip. Shame there isn't a small module.
Dear Martin Honeywill,
Thank you for your request. You can see a quick overview of our chips
at thie link:
http://eucache.wiznet.co.kr/sub_modules/en/product/Product_Line.asp?cate1=5&cate2=7The W5500 has been released last year and is our recommendation for
new projects. It is our most stable and cost optimized chip. In case
you want to evaluate our chip, we can recommend to start with the
WIZ550io module - http://wiznet.eu/WIZ550ioAt the moment we do not have any small footprint module like the
WIZ820io - it is also not planned at the moment - the WIZ550io is not
as small as the WIZ820io, but hopefully small enough to fit your
needs.For any further information, please don't hesitate to contact us via
support@wiznet.eu.Best regards, Felix Krieg
-
-
-
I'll answer a few questions.
Buying from China - Prompted mostly by buying an Espruino board I've bought a number of boards, displays, sensors etc from China. Apart from the delivery taking 2 to 4 weeks I've had no problems. Not had a chance to power up every board yet but build quality is good. The only item that didn't arrive was a nokia LCD module, and as soon as I notified they seller about this on ebay I got an immediate refund.
I am assuming you are driving the pump directly, switching the mains to it rather that switch the pump input on a combi boiler etc. Comments above seem to confirm this. I would tend to use a relay to switch the pump. You can always put a snubber across the relay contacts http://uk.rs-online.com/web/p/rc-network-capacitors/6727032/
I agree with #tage that you should really be careful when switching mains and ensure you have proper isolation between control and mains.
-
-
I notice that Espruino uses the WIZnet WIZ550io module containing a W5500 chip.
There is another module on the Wiznet website
http://shop.wiznet.eu/modules/io-modules/wiz820io.html this uses the W5200 chip.Do you know if the current library will work with this chip?
Maybe Joachim "4jochen" might be able to comment on the differences between the two modules.I like the idea of the smaller module, shame it costs half the price of the module to get it shipped. Although in the UK RS do supply them see http://goo.gl/itfy4O
-
Just a bit more information about the strain gauges used in loadcells. The basic strain gauge found in nearly all cells is a bridge of 4 resistors, these resistors are wired as a whetstone bridge. This bridge needs to be read by an ADC with a differential input. The strain gauge is "excited" by a voltage typically between 1V and 10V, the gauges produce very small signals, normally a gauge may be specified as 2mV/V, this means for an excitation voltage of 1V it will produce 2mV output at maximum load. Similarly for an excitation of 2.5V it would produce a full scale output of 2mV * 2.5 = 5mV. As you can see the voltages involved are very small hence the need for an ADC with amplification like the unit mentioned above from ebay (I've not tried this but it looks to be made to read loadcells).
Another thing not note is that your accuracy depends on the stability and accuracy of your excitation voltage, so this is generally fed from a voltage reference.
Hope the above helps
-
This module would read a strain gauge directly, note normal ADC inputs are just not sensitive enough. This module should be pretty simple to interface to the Espruino.
http://www.ebay.co.uk/itm/400567204760 -
-
-
Another more expensive module, maybe this would support Espruino http://2xod.com/articles/Arduino_Wifi_With_Hi_Flying_HF-LPT100_or_USR-WIFI232/
-
-
-
-
-
Just a thought, if the only item on the back of the board is a connector for external power why not replace this with a micro SD card connector like this http://uk.mouser.com/ProductDetail/Hirose-Connector/DM3D-SF Then you would have the same functionality as the current Espruino. If people needed external power they could use the USB connector and a power injector something like this http://linitx.com/product/5v-power-injector-for-usb-on-rb411uahr-and-rb493g/12849
How often do you think the external power connector would be used?
-
The STM supports a special Half duplex mode in the UART see section 27.3.10 in the reference manual, this would save you a port line. Also this might stop you receiving what you transmit.
Single-wire half-duplex communication
The single-wire half-duplex mode is selected by setting the HDSEL bit in the USART_CR3
register. In this mode, the following bits must be kept cleared:
• LINEN and CLKEN bits in the USART_CR2 register,
• SCEN and IREN bits in the USART_CR3 register.The USART can be configured to follow a single-wire half-duplex protocol. In single-wire
half-duplex mode, the TX and RX pins are connected internally. The selection between halfand
full-duplex communication is made with a control bit ‘HALF DUPLEX SEL’ (HDSEL in
USART_CR3).
As soon as HDSEL is written to 1:
• RX is no longer used,
• TX is always released when no data is transmitted. Thus, it acts as a standard IO in idle
or in reception. It means that the IO must be configured so that TX is configured as
floating input (or output high open-drain) when not driven by the USART.
Apart from this, the communications are similar to what is done in normal USART mode.
The conflicts on the line must be managed by the software (by the use of a centralized
arbiter, for instance). In particular, the transmission is never blocked by hardware and
continue to occur as soon as a data is written in the data register while the TE bit is set.
Earlier on in this post you were talking about PCB layout software, Have you see the free DesignSpark software from RS components http://www.rs-online.com/designspark/electronics/eng/page/designspark-pcb-home-page its based on EasyPC http://www.numberone.com/easypc.asp by Numberone systems, which was pretty good 10 years ago when I used to use it.
Think it might be more intuitive than Eagle. It also supports 3D models etc.
See http://data.designspark.info/uploads/knowledge-items/designspark-pcb-version-5-brochure/DesignSpark_PCB_V5_Brochure(ELE_0076-01).pdf
Cheers
Martin