I have a couple adafruit trinkets i purchased. And I got a hold of a JY-MCU bluetooth adapter. Using my UNO I have been able to get this bluetooth working with software serial so I can talk to my microcontroller over bluetooth. So in an effort to go miniature I wanted to put that sketch on the adafruit trinket.
But the code is too big!! I am sure its in the softwareserial.h since that is 4k by itself. So I am curious, what is the best way to work with the trinkets? Or should I be looking at something like the arduino mini that has 32k flash? Since the trinket only has 6k? I am pretty new to this, but have been spending HOURS each day getting up to speed. So I am curious how others are working with the tiny devices.
Adafruit Industries, Unique & fun DIY electronics and kits Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE ID: 3500 - The Adafruit Trinket M0 may be. Trinket does not have a Serial port connection for debugging so the serial port monitor will not be able. Adafruit Trinket - Mini. SparkFun USB UART Serial Breakout - CY7C65213; Adafruit PiRTC. The 5V version can run at 8 MHz or at 16MHz by setting the software-set. Order Trinket 5V Arduino Controller.
(Tiny Core 2, Stripped down libraries, ect). Thats quite a lot, I've tested out a hc-06 bluetooth module, where everything is set up on that, which I found cheap on eBay, so not sure if that could help making your code smaller. I don't know if this is possible, but it would be interesting to see if you could remove or reduce some softwareserial.h code and just keep the ones your personally utilising.
Or is there a hardware UART you can use to send data too? Then I don't think you need to import anything which would definitely reduce your code as well? Of course it's easiest to just throw money at the problem. Just buy a controller with more flash. Find out exactly what' s making your code big and fix it. It's a great little puzzle.
With some optimization, I'm sure getting BT to work on a Trinket in 6k or less is absolutely no problem. Not sure where it's located on Windows/iOS, but 'avr-size' is your friend. You'll have to decide for yourself if you're more the puzzling kind or the throw money at the problem kind. Both are valid approaches.
The 'best way' to work with the Trinket, IMO, is to either use the Digispark bootloader (same V-USB configuration) and get back a bit of flash too since the Digispark bootloader is smaller. Or, simply do not use the bootloader at all.
Or, as I did move to a DIP configuration for development and then on to the real device for the project. Download Halo Combat Evolved Full Version Mac Os X. The Trinket is extremely simple to buildout on breadboard of stripboard: The other nice thing about the Digispark is that their libraries work unchanged on the Trinket. So you can have Keyboard and Mouse HID, etc. Personally, I like the Trinket hardware and the Digispark software. And with opensource, you can have 'em both.
You will definitely want to check out Nick's send-only version of SoftwareSerial. Well, it was I who made the Trinket forum knowledgable of Nick's one-way library. And I had a good play with the toys.
Bloat is a relative term, especially on the Attiny85[/b]. Here is the actual overhead numbers for use of SoftwareSerial.h in a send-only Trinket example published as part of the referenced Bluetooth article. Readers, you can make your own determination. (1.5.6r2) Empty setup() and loop() // minimum sketch • 444 flash bytes • 9 Bytes SRAM Send CR to SoftwareSerial object // minimum use • 2,662 flash bytes used • 123 Bytes SRAM.
I have a problem for which the answer is apparently so incredibly obvious that nobody else needs to ask. I have searched the forums, the Google, etc., using a variety of search terms and phrases, and so far I still don't understand: How do I see SoftwareSerial output? I have followed the tutorials, for example: And. I have the feeling I need to have two devices in order to see the SoftwareSerial output - one to generate it, and other to receive and output to a monitor. The last link I posted, however, specifically says 'There is no circuit for this example.' The code comments, though, do indicate connecting pins to another device.
I feel like if the Tutorial page was read by somebody who didn't already understand it, it seems incomplete. So if I do need two devices, what is the easiest way to see the SoftwareSerial output? I have the following right now: Arduino Uno (1x) Adafruit Pro Trinket (2x) Adafruit Trinket (2x) Adafruit Gemma (2x) Sparkfun Pro Mini (2x) At this time I do not yet have an FTDI cable or other such device. (In the past I have programmed the other boards either directly or by using the Arduino as an ISP.) As far as I can tell, of my devices only the Uno supports hardware serial communication, and since I am using it for the project (with an ESP8266 wifi module) I am not sure what I can use to read the software serial debugging. Do I need to buy something else (again) and if so what? == Documentation suggestion? == I have tried using Terminal (Mac OS), CoolTerm, and myriad options within the Arduino IDE.
I've read through forum posts and websites, but in every instance it seems everyone involved already understands how to handle SoftwareSerial more than I do, so they don't explain the basics. I really have spent a lot of time searching and trying to figure it out for myself before posting here, so it seems either I am really dense or it might be useful to add explicit information about reading SoftwareSerial output to the Arduino documentation files such as the two I linked to above. Thanks for your help! Update: I realized I had an HC-06 Bluetooth module hanging around, so I connected that to the pins designated in the code for SoftwareSerial communication, made a connection to that Bluetooth module, and I see the SoftwareSerial output. Always happens - I can spend hours trying to solve a problem on my own, and as soon as I give up and ask a forum, I figure out a solution after all. My sub-question about the easiest / best / cheapest way to read softwareserial output is still open. I doubt connecting up my Bluetooth module is ideal, even though it does seem to do the job.
So now I clearly understand that I need some sort of device to read the output to those pins. Obvious, again, in hindsight, but it seems even more clear to me that a note in the documentation would be helpful, saying something to the effect of 'you need to connect a [insert best term here] to the softwareserial pins, then make a second terminal connection to that device in order to see the output.
Possibilities include: X, Y, Z.' The line in the Tutorial that says 'There is no circuit for this example' is particularly misleading to a noob. AWOL: thanks for the suggestion. I don't have an RS232 level shifter, yet, so I'll look into that, if it's a tool one should generally have. Your real objective is far from clear. Is it to read data acquired or generated by Arduino, or is it to mess about with software serial?
Unless it's the latter, I fail completely to see why you should bother to use an RS232 level shifter, I'm not surprised you haven't got one, and you probably needn't rush out to buy one. If you want to send data to a PC, you need some pretty persuasive reasons for not using the USB cable you already have, like everybody else does.
The bluetooth module you have connected and running doesn't 'seem ' to be doing the job, it IS doing the job, and is about the best example of the use of software serial I can think of. You don't have to use software serial for this, and it isn't even such a good idea, but say, if you are using a Uno and want to send data to a PC via cable and to a phone via bluetooth at the same time, it's a reasonable solution. I tried to make my original post as thorough as I thought possible without being extraneous. My original question was very simple: I wanted to know how to see the words being put out by a print statement over SoftwareSerial. For example, with the basic Arduino Uno and a simple sketch, I can start Serial communication, say Serial.println('Hello World'), upload the sketch, open a Serial monitor, and see 'Hello World.' And yes, I understand that all goes over the USB cable with which the Arduino and my computer are connected. My original question was simply: how do I see 'hello world' with SoftwareSerial?
The documentation and tutorial on arduino.cc are insufficient, and I couldn't find the answer through my searching online. To be clear, I now understand that I need to have something else that provides a connection from the softwareserial TX/RX pins to the computer.
Install Windows 7 Portege M400. I don't think that's clear in the documentation ('There is no circuit for this example.' ), not for a beginner, at least. So, my pretty persuasive reasons for not using the USB like everyone else is that, as I mentioned in the original post, I am trying to use an ESP8266 wifi module which, as far as I can tell, uses the RX/TX pins of the Arduino, and hence the Serial-USB connection that everyone else uses.
I need to use a separate - software - serial connection in order to see debugging statements, since the USB TX/RX pins are in use. Correct me if I'm wrong about this - I am rather new, obviously.although not new or dumb enough not to have figured out the Bluetooth connection, so I'm glad to hear that it is in fact a viable solution to my question. I think a more fundamental question is why you want to read SoftwareSerial? The Bluetooth system you used is fine if you just want to check it is working. But its usual use is to communicate with another device (such as a GPS or Bluetooth) so the Arduino can get data from or send data to that other device. In that case a common way to see the data coming into SoftwareSerial is to output it to the Serial Monitor using Serial.print().
Obviously if you are using Bluetooth to communicate with (say) a phone you will see the output on the phone in some way.R.